moltspay 0.5.4 → 0.7.0

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 (68) hide show
  1. package/README.md +0 -124
  2. package/dist/cdp/index.d.mts +111 -0
  3. package/dist/cdp/index.d.ts +111 -0
  4. package/dist/cdp/index.js +30655 -0
  5. package/dist/cdp/index.js.map +1 -0
  6. package/dist/cdp/index.mjs +30631 -0
  7. package/dist/cdp/index.mjs.map +1 -0
  8. package/dist/chains/index.d.mts +1 -1
  9. package/dist/chains/index.d.ts +1 -1
  10. package/dist/cli/index.js +940 -0
  11. package/dist/cli/index.js.map +1 -0
  12. package/dist/cli/index.mjs +917 -0
  13. package/dist/cli/index.mjs.map +1 -0
  14. package/dist/client/index.d.mts +134 -0
  15. package/dist/client/index.d.ts +134 -0
  16. package/dist/client/index.js +331 -0
  17. package/dist/client/index.js.map +1 -0
  18. package/dist/client/index.mjs +296 -0
  19. package/dist/client/index.mjs.map +1 -0
  20. package/dist/createWallet-D53qu7ie.d.mts +77 -0
  21. package/dist/createWallet-D53qu7ie.d.ts +77 -0
  22. package/dist/index-Dg8n6wdW.d.mts +32 -0
  23. package/dist/index-Dg8n6wdW.d.ts +32 -0
  24. package/dist/index.d.mts +6 -1483
  25. package/dist/index.d.ts +6 -1483
  26. package/dist/index.js +31039 -4254
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +31042 -4203
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/server/index.d.mts +120 -0
  31. package/dist/server/index.d.ts +120 -0
  32. package/dist/server/index.js +418 -0
  33. package/dist/server/index.js.map +1 -0
  34. package/dist/server/index.mjs +393 -0
  35. package/dist/server/index.mjs.map +1 -0
  36. package/dist/wallet/index.d.mts +3 -451
  37. package/dist/wallet/index.d.ts +3 -451
  38. package/dist/wallet/index.js +5 -1021
  39. package/dist/wallet/index.js.map +1 -1
  40. package/dist/wallet/index.mjs +16 -1015
  41. package/dist/wallet/index.mjs.map +1 -1
  42. package/package.json +19 -19
  43. package/dist/cli.js +0 -1984
  44. package/dist/cli.js.map +0 -1
  45. package/dist/cli.mjs +0 -1969
  46. package/dist/cli.mjs.map +0 -1
  47. package/dist/guide/index.d.mts +0 -39
  48. package/dist/guide/index.d.ts +0 -39
  49. package/dist/guide/index.js +0 -181
  50. package/dist/guide/index.js.map +0 -1
  51. package/dist/guide/index.mjs +0 -152
  52. package/dist/guide/index.mjs.map +0 -1
  53. package/dist/index-CyFg9s2m.d.mts +0 -161
  54. package/dist/index-CyFg9s2m.d.ts +0 -161
  55. package/dist/orders/index.d.mts +0 -97
  56. package/dist/orders/index.d.ts +0 -97
  57. package/dist/orders/index.js +0 -162
  58. package/dist/orders/index.js.map +0 -1
  59. package/dist/orders/index.mjs +0 -136
  60. package/dist/orders/index.mjs.map +0 -1
  61. package/dist/permit/index.d.mts +0 -49
  62. package/dist/permit/index.d.ts +0 -49
  63. package/dist/permit/index.js +0 -273
  64. package/dist/permit/index.js.map +0 -1
  65. package/dist/permit/index.mjs +0 -246
  66. package/dist/permit/index.mjs.map +0 -1
  67. /package/dist/{cli.d.mts → cli/index.d.mts} +0 -0
  68. /package/dist/{cli.d.ts → cli/index.d.ts} +0 -0
@@ -1,97 +0,0 @@
1
- /**
2
- * Order Management Module
3
- */
4
- interface Order {
5
- orderId: string;
6
- prompt: string;
7
- imageUrl?: string;
8
- userId: string;
9
- price: number;
10
- chain: string;
11
- status: OrderStatus;
12
- createdAt: string;
13
- paidAt?: string;
14
- txHash?: string;
15
- payerAddress?: string;
16
- videoPath?: string;
17
- error?: string;
18
- }
19
- type OrderStatus = 'pending' | 'paid' | 'generating' | 'completed' | 'failed' | 'cancelled';
20
- interface CreateOrderParams {
21
- prompt: string;
22
- userId: string;
23
- price?: number;
24
- chain?: string;
25
- imageUrl?: string;
26
- }
27
- interface OrderStore {
28
- get(orderId: string): Promise<Order | null>;
29
- set(order: Order): Promise<void>;
30
- findByUser(userId: string, status?: OrderStatus): Promise<Order[]>;
31
- list(limit?: number): Promise<Order[]>;
32
- }
33
- /**
34
- * In-memory order store (default implementation)
35
- */
36
- declare class MemoryOrderStore implements OrderStore {
37
- private orders;
38
- get(orderId: string): Promise<Order | null>;
39
- set(order: Order): Promise<void>;
40
- findByUser(userId: string, status?: OrderStatus): Promise<Order[]>;
41
- list(limit?: number): Promise<Order[]>;
42
- }
43
- /**
44
- * Order Manager
45
- */
46
- declare class OrderManager {
47
- private store;
48
- private defaultPrice;
49
- private defaultChain;
50
- constructor(options?: {
51
- store?: OrderStore;
52
- defaultPrice?: number;
53
- defaultChain?: string;
54
- });
55
- /**
56
- * Generate order ID
57
- */
58
- private generateOrderId;
59
- /**
60
- * Create order
61
- */
62
- createOrder(params: CreateOrderParams): Promise<Order>;
63
- /**
64
- * Get order
65
- */
66
- getOrder(orderId: string): Promise<Order | null>;
67
- /**
68
- * Update order
69
- */
70
- updateOrder(orderId: string, updates: Partial<Order>): Promise<Order | null>;
71
- /**
72
- * Find user pending orders
73
- */
74
- findPendingOrder(userId: string): Promise<Order | null>;
75
- /**
76
- * Mark order as paid
77
- */
78
- markAsPaid(orderId: string, txHash: string, payerAddress?: string): Promise<Order | null>;
79
- /**
80
- * Mark order as generating
81
- */
82
- markAsGenerating(orderId: string): Promise<Order | null>;
83
- /**
84
- * Mark order as completed
85
- */
86
- markAsCompleted(orderId: string, videoPath: string): Promise<Order | null>;
87
- /**
88
- * Mark order as failed
89
- */
90
- markAsFailed(orderId: string, error: string): Promise<Order | null>;
91
- /**
92
- * Cancel order
93
- */
94
- cancelOrder(orderId: string): Promise<Order | null>;
95
- }
96
-
97
- export { type CreateOrderParams, MemoryOrderStore, type Order, OrderManager, type OrderStatus, type OrderStore };
@@ -1,97 +0,0 @@
1
- /**
2
- * Order Management Module
3
- */
4
- interface Order {
5
- orderId: string;
6
- prompt: string;
7
- imageUrl?: string;
8
- userId: string;
9
- price: number;
10
- chain: string;
11
- status: OrderStatus;
12
- createdAt: string;
13
- paidAt?: string;
14
- txHash?: string;
15
- payerAddress?: string;
16
- videoPath?: string;
17
- error?: string;
18
- }
19
- type OrderStatus = 'pending' | 'paid' | 'generating' | 'completed' | 'failed' | 'cancelled';
20
- interface CreateOrderParams {
21
- prompt: string;
22
- userId: string;
23
- price?: number;
24
- chain?: string;
25
- imageUrl?: string;
26
- }
27
- interface OrderStore {
28
- get(orderId: string): Promise<Order | null>;
29
- set(order: Order): Promise<void>;
30
- findByUser(userId: string, status?: OrderStatus): Promise<Order[]>;
31
- list(limit?: number): Promise<Order[]>;
32
- }
33
- /**
34
- * In-memory order store (default implementation)
35
- */
36
- declare class MemoryOrderStore implements OrderStore {
37
- private orders;
38
- get(orderId: string): Promise<Order | null>;
39
- set(order: Order): Promise<void>;
40
- findByUser(userId: string, status?: OrderStatus): Promise<Order[]>;
41
- list(limit?: number): Promise<Order[]>;
42
- }
43
- /**
44
- * Order Manager
45
- */
46
- declare class OrderManager {
47
- private store;
48
- private defaultPrice;
49
- private defaultChain;
50
- constructor(options?: {
51
- store?: OrderStore;
52
- defaultPrice?: number;
53
- defaultChain?: string;
54
- });
55
- /**
56
- * Generate order ID
57
- */
58
- private generateOrderId;
59
- /**
60
- * Create order
61
- */
62
- createOrder(params: CreateOrderParams): Promise<Order>;
63
- /**
64
- * Get order
65
- */
66
- getOrder(orderId: string): Promise<Order | null>;
67
- /**
68
- * Update order
69
- */
70
- updateOrder(orderId: string, updates: Partial<Order>): Promise<Order | null>;
71
- /**
72
- * Find user pending orders
73
- */
74
- findPendingOrder(userId: string): Promise<Order | null>;
75
- /**
76
- * Mark order as paid
77
- */
78
- markAsPaid(orderId: string, txHash: string, payerAddress?: string): Promise<Order | null>;
79
- /**
80
- * Mark order as generating
81
- */
82
- markAsGenerating(orderId: string): Promise<Order | null>;
83
- /**
84
- * Mark order as completed
85
- */
86
- markAsCompleted(orderId: string, videoPath: string): Promise<Order | null>;
87
- /**
88
- * Mark order as failed
89
- */
90
- markAsFailed(orderId: string, error: string): Promise<Order | null>;
91
- /**
92
- * Cancel order
93
- */
94
- cancelOrder(orderId: string): Promise<Order | null>;
95
- }
96
-
97
- export { type CreateOrderParams, MemoryOrderStore, type Order, OrderManager, type OrderStatus, type OrderStore };
@@ -1,162 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/orders/index.ts
21
- var orders_exports = {};
22
- __export(orders_exports, {
23
- MemoryOrderStore: () => MemoryOrderStore,
24
- OrderManager: () => OrderManager
25
- });
26
- module.exports = __toCommonJS(orders_exports);
27
- var import_crypto = require("crypto");
28
- var MemoryOrderStore = class {
29
- orders = /* @__PURE__ */ new Map();
30
- async get(orderId) {
31
- return this.orders.get(orderId) || null;
32
- }
33
- async set(order) {
34
- this.orders.set(order.orderId, order);
35
- }
36
- async findByUser(userId, status) {
37
- const results = [];
38
- for (const order of this.orders.values()) {
39
- if (order.userId === userId) {
40
- if (!status || order.status === status) {
41
- results.push(order);
42
- }
43
- }
44
- }
45
- return results.sort(
46
- (a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
47
- );
48
- }
49
- async list(limit = 100) {
50
- return Array.from(this.orders.values()).sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()).slice(0, limit);
51
- }
52
- };
53
- var OrderManager = class {
54
- store;
55
- defaultPrice;
56
- defaultChain;
57
- constructor(options = {}) {
58
- this.store = options.store || new MemoryOrderStore();
59
- this.defaultPrice = options.defaultPrice || 2;
60
- this.defaultChain = options.defaultChain || "base";
61
- }
62
- /**
63
- * Generate order ID
64
- */
65
- generateOrderId() {
66
- return "vo_" + (0, import_crypto.randomBytes)(4).toString("hex");
67
- }
68
- /**
69
- * Create order
70
- */
71
- async createOrder(params) {
72
- const order = {
73
- orderId: this.generateOrderId(),
74
- prompt: params.prompt,
75
- imageUrl: params.imageUrl,
76
- userId: params.userId,
77
- price: params.price || this.defaultPrice,
78
- chain: params.chain || this.defaultChain,
79
- status: "pending",
80
- createdAt: (/* @__PURE__ */ new Date()).toISOString()
81
- };
82
- await this.store.set(order);
83
- return order;
84
- }
85
- /**
86
- * Get order
87
- */
88
- async getOrder(orderId) {
89
- return this.store.get(orderId);
90
- }
91
- /**
92
- * Update order
93
- */
94
- async updateOrder(orderId, updates) {
95
- const order = await this.store.get(orderId);
96
- if (!order) return null;
97
- const updated = { ...order, ...updates };
98
- await this.store.set(updated);
99
- return updated;
100
- }
101
- /**
102
- * Find user pending orders
103
- */
104
- async findPendingOrder(userId) {
105
- const orders = await this.store.findByUser(userId, "pending");
106
- const now = Date.now();
107
- for (const order of orders) {
108
- const age = now - new Date(order.createdAt).getTime();
109
- if (age < 24 * 60 * 60 * 1e3) {
110
- return order;
111
- }
112
- }
113
- return null;
114
- }
115
- /**
116
- * Mark order as paid
117
- */
118
- async markAsPaid(orderId, txHash, payerAddress) {
119
- return this.updateOrder(orderId, {
120
- status: "paid",
121
- paidAt: (/* @__PURE__ */ new Date()).toISOString(),
122
- txHash,
123
- payerAddress
124
- });
125
- }
126
- /**
127
- * Mark order as generating
128
- */
129
- async markAsGenerating(orderId) {
130
- return this.updateOrder(orderId, { status: "generating" });
131
- }
132
- /**
133
- * Mark order as completed
134
- */
135
- async markAsCompleted(orderId, videoPath) {
136
- return this.updateOrder(orderId, {
137
- status: "completed",
138
- videoPath
139
- });
140
- }
141
- /**
142
- * Mark order as failed
143
- */
144
- async markAsFailed(orderId, error) {
145
- return this.updateOrder(orderId, {
146
- status: "failed",
147
- error
148
- });
149
- }
150
- /**
151
- * Cancel order
152
- */
153
- async cancelOrder(orderId) {
154
- return this.updateOrder(orderId, { status: "cancelled" });
155
- }
156
- };
157
- // Annotate the CommonJS export names for ESM import in node:
158
- 0 && (module.exports = {
159
- MemoryOrderStore,
160
- OrderManager
161
- });
162
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/orders/index.ts"],"sourcesContent":["/**\n * Order Management Module\n */\n\nimport { randomBytes } from 'crypto';\n\nexport interface Order {\n orderId: string;\n prompt: string;\n imageUrl?: string;\n userId: string;\n price: number;\n chain: string;\n status: OrderStatus;\n createdAt: string;\n paidAt?: string;\n txHash?: string;\n payerAddress?: string;\n videoPath?: string;\n error?: string;\n}\n\nexport type OrderStatus = \n | 'pending' // Pending payment\n | 'paid' // Paid\n | 'generating' // Generating\n | 'completed' // Completed\n | 'failed' // Failed\n | 'cancelled'; // Cancelled\n\nexport interface CreateOrderParams {\n prompt: string;\n userId: string;\n price?: number;\n chain?: string;\n imageUrl?: string;\n}\n\nexport interface OrderStore {\n get(orderId: string): Promise<Order | null>;\n set(order: Order): Promise<void>;\n findByUser(userId: string, status?: OrderStatus): Promise<Order[]>;\n list(limit?: number): Promise<Order[]>;\n}\n\n/**\n * In-memory order store (default implementation)\n */\nexport class MemoryOrderStore implements OrderStore {\n private orders: Map<string, Order> = new Map();\n\n async get(orderId: string): Promise<Order | null> {\n return this.orders.get(orderId) || null;\n }\n\n async set(order: Order): Promise<void> {\n this.orders.set(order.orderId, order);\n }\n\n async findByUser(userId: string, status?: OrderStatus): Promise<Order[]> {\n const results: Order[] = [];\n for (const order of this.orders.values()) {\n if (order.userId === userId) {\n if (!status || order.status === status) {\n results.push(order);\n }\n }\n }\n return results.sort((a, b) => \n new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()\n );\n }\n\n async list(limit = 100): Promise<Order[]> {\n return Array.from(this.orders.values())\n .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())\n .slice(0, limit);\n }\n}\n\n/**\n * Order Manager\n */\nexport class OrderManager {\n private store: OrderStore;\n private defaultPrice: number;\n private defaultChain: string;\n\n constructor(options: {\n store?: OrderStore;\n defaultPrice?: number;\n defaultChain?: string;\n } = {}) {\n this.store = options.store || new MemoryOrderStore();\n this.defaultPrice = options.defaultPrice || 2.0;\n this.defaultChain = options.defaultChain || 'base';\n }\n\n /**\n * Generate order ID\n */\n private generateOrderId(): string {\n return 'vo_' + randomBytes(4).toString('hex');\n }\n\n /**\n * Create order\n */\n async createOrder(params: CreateOrderParams): Promise<Order> {\n const order: Order = {\n orderId: this.generateOrderId(),\n prompt: params.prompt,\n imageUrl: params.imageUrl,\n userId: params.userId,\n price: params.price || this.defaultPrice,\n chain: params.chain || this.defaultChain,\n status: 'pending',\n createdAt: new Date().toISOString(),\n };\n\n await this.store.set(order);\n return order;\n }\n\n /**\n * Get order\n */\n async getOrder(orderId: string): Promise<Order | null> {\n return this.store.get(orderId);\n }\n\n /**\n * Update order\n */\n async updateOrder(orderId: string, updates: Partial<Order>): Promise<Order | null> {\n const order = await this.store.get(orderId);\n if (!order) return null;\n\n const updated = { ...order, ...updates };\n await this.store.set(updated);\n return updated;\n }\n\n /**\n * Find user pending orders\n */\n async findPendingOrder(userId: string): Promise<Order | null> {\n const orders = await this.store.findByUser(userId, 'pending');\n \n // Return pending orders within 24 hours\n const now = Date.now();\n for (const order of orders) {\n const age = now - new Date(order.createdAt).getTime();\n if (age < 24 * 60 * 60 * 1000) {\n return order;\n }\n }\n return null;\n }\n\n /**\n * Mark order as paid\n */\n async markAsPaid(orderId: string, txHash: string, payerAddress?: string): Promise<Order | null> {\n return this.updateOrder(orderId, {\n status: 'paid',\n paidAt: new Date().toISOString(),\n txHash,\n payerAddress,\n });\n }\n\n /**\n * Mark order as generating\n */\n async markAsGenerating(orderId: string): Promise<Order | null> {\n return this.updateOrder(orderId, { status: 'generating' });\n }\n\n /**\n * Mark order as completed\n */\n async markAsCompleted(orderId: string, videoPath: string): Promise<Order | null> {\n return this.updateOrder(orderId, {\n status: 'completed',\n videoPath,\n });\n }\n\n /**\n * Mark order as failed\n */\n async markAsFailed(orderId: string, error: string): Promise<Order | null> {\n return this.updateOrder(orderId, {\n status: 'failed',\n error,\n });\n }\n\n /**\n * Cancel order\n */\n async cancelOrder(orderId: string): Promise<Order | null> {\n return this.updateOrder(orderId, { status: 'cancelled' });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,oBAA4B;AA4CrB,IAAM,mBAAN,MAA6C;AAAA,EAC1C,SAA6B,oBAAI,IAAI;AAAA,EAE7C,MAAM,IAAI,SAAwC;AAChD,WAAO,KAAK,OAAO,IAAI,OAAO,KAAK;AAAA,EACrC;AAAA,EAEA,MAAM,IAAI,OAA6B;AACrC,SAAK,OAAO,IAAI,MAAM,SAAS,KAAK;AAAA,EACtC;AAAA,EAEA,MAAM,WAAW,QAAgB,QAAwC;AACvE,UAAM,UAAmB,CAAC;AAC1B,eAAW,SAAS,KAAK,OAAO,OAAO,GAAG;AACxC,UAAI,MAAM,WAAW,QAAQ;AAC3B,YAAI,CAAC,UAAU,MAAM,WAAW,QAAQ;AACtC,kBAAQ,KAAK,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AACA,WAAO,QAAQ;AAAA,MAAK,CAAC,GAAG,MACtB,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,KAAK,QAAQ,KAAuB;AACxC,WAAO,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EACnC,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAChF,MAAM,GAAG,KAAK;AAAA,EACnB;AACF;AAKO,IAAM,eAAN,MAAmB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,UAIR,CAAC,GAAG;AACN,SAAK,QAAQ,QAAQ,SAAS,IAAI,iBAAiB;AACnD,SAAK,eAAe,QAAQ,gBAAgB;AAC5C,SAAK,eAAe,QAAQ,gBAAgB;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKQ,kBAA0B;AAChC,WAAO,YAAQ,2BAAY,CAAC,EAAE,SAAS,KAAK;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,QAA2C;AAC3D,UAAM,QAAe;AAAA,MACnB,SAAS,KAAK,gBAAgB;AAAA,MAC9B,QAAQ,OAAO;AAAA,MACf,UAAU,OAAO;AAAA,MACjB,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO,SAAS,KAAK;AAAA,MAC5B,OAAO,OAAO,SAAS,KAAK;AAAA,MAC5B,QAAQ;AAAA,MACR,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,IACpC;AAEA,UAAM,KAAK,MAAM,IAAI,KAAK;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS,SAAwC;AACrD,WAAO,KAAK,MAAM,IAAI,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,SAAiB,SAAgD;AACjF,UAAM,QAAQ,MAAM,KAAK,MAAM,IAAI,OAAO;AAC1C,QAAI,CAAC,MAAO,QAAO;AAEnB,UAAM,UAAU,EAAE,GAAG,OAAO,GAAG,QAAQ;AACvC,UAAM,KAAK,MAAM,IAAI,OAAO;AAC5B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,QAAuC;AAC5D,UAAM,SAAS,MAAM,KAAK,MAAM,WAAW,QAAQ,SAAS;AAG5D,UAAM,MAAM,KAAK,IAAI;AACrB,eAAW,SAAS,QAAQ;AAC1B,YAAM,MAAM,MAAM,IAAI,KAAK,MAAM,SAAS,EAAE,QAAQ;AACpD,UAAI,MAAM,KAAK,KAAK,KAAK,KAAM;AAC7B,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAAW,SAAiB,QAAgB,cAA8C;AAC9F,WAAO,KAAK,YAAY,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR,SAAQ,oBAAI,KAAK,GAAE,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,SAAwC;AAC7D,WAAO,KAAK,YAAY,SAAS,EAAE,QAAQ,aAAa,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,gBAAgB,SAAiB,WAA0C;AAC/E,WAAO,KAAK,YAAY,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa,SAAiB,OAAsC;AACxE,WAAO,KAAK,YAAY,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,SAAwC;AACxD,WAAO,KAAK,YAAY,SAAS,EAAE,QAAQ,YAAY,CAAC;AAAA,EAC1D;AACF;","names":[]}
@@ -1,136 +0,0 @@
1
- // src/orders/index.ts
2
- import { randomBytes } from "crypto";
3
- var MemoryOrderStore = class {
4
- orders = /* @__PURE__ */ new Map();
5
- async get(orderId) {
6
- return this.orders.get(orderId) || null;
7
- }
8
- async set(order) {
9
- this.orders.set(order.orderId, order);
10
- }
11
- async findByUser(userId, status) {
12
- const results = [];
13
- for (const order of this.orders.values()) {
14
- if (order.userId === userId) {
15
- if (!status || order.status === status) {
16
- results.push(order);
17
- }
18
- }
19
- }
20
- return results.sort(
21
- (a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
22
- );
23
- }
24
- async list(limit = 100) {
25
- return Array.from(this.orders.values()).sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()).slice(0, limit);
26
- }
27
- };
28
- var OrderManager = class {
29
- store;
30
- defaultPrice;
31
- defaultChain;
32
- constructor(options = {}) {
33
- this.store = options.store || new MemoryOrderStore();
34
- this.defaultPrice = options.defaultPrice || 2;
35
- this.defaultChain = options.defaultChain || "base";
36
- }
37
- /**
38
- * Generate order ID
39
- */
40
- generateOrderId() {
41
- return "vo_" + randomBytes(4).toString("hex");
42
- }
43
- /**
44
- * Create order
45
- */
46
- async createOrder(params) {
47
- const order = {
48
- orderId: this.generateOrderId(),
49
- prompt: params.prompt,
50
- imageUrl: params.imageUrl,
51
- userId: params.userId,
52
- price: params.price || this.defaultPrice,
53
- chain: params.chain || this.defaultChain,
54
- status: "pending",
55
- createdAt: (/* @__PURE__ */ new Date()).toISOString()
56
- };
57
- await this.store.set(order);
58
- return order;
59
- }
60
- /**
61
- * Get order
62
- */
63
- async getOrder(orderId) {
64
- return this.store.get(orderId);
65
- }
66
- /**
67
- * Update order
68
- */
69
- async updateOrder(orderId, updates) {
70
- const order = await this.store.get(orderId);
71
- if (!order) return null;
72
- const updated = { ...order, ...updates };
73
- await this.store.set(updated);
74
- return updated;
75
- }
76
- /**
77
- * Find user pending orders
78
- */
79
- async findPendingOrder(userId) {
80
- const orders = await this.store.findByUser(userId, "pending");
81
- const now = Date.now();
82
- for (const order of orders) {
83
- const age = now - new Date(order.createdAt).getTime();
84
- if (age < 24 * 60 * 60 * 1e3) {
85
- return order;
86
- }
87
- }
88
- return null;
89
- }
90
- /**
91
- * Mark order as paid
92
- */
93
- async markAsPaid(orderId, txHash, payerAddress) {
94
- return this.updateOrder(orderId, {
95
- status: "paid",
96
- paidAt: (/* @__PURE__ */ new Date()).toISOString(),
97
- txHash,
98
- payerAddress
99
- });
100
- }
101
- /**
102
- * Mark order as generating
103
- */
104
- async markAsGenerating(orderId) {
105
- return this.updateOrder(orderId, { status: "generating" });
106
- }
107
- /**
108
- * Mark order as completed
109
- */
110
- async markAsCompleted(orderId, videoPath) {
111
- return this.updateOrder(orderId, {
112
- status: "completed",
113
- videoPath
114
- });
115
- }
116
- /**
117
- * Mark order as failed
118
- */
119
- async markAsFailed(orderId, error) {
120
- return this.updateOrder(orderId, {
121
- status: "failed",
122
- error
123
- });
124
- }
125
- /**
126
- * Cancel order
127
- */
128
- async cancelOrder(orderId) {
129
- return this.updateOrder(orderId, { status: "cancelled" });
130
- }
131
- };
132
- export {
133
- MemoryOrderStore,
134
- OrderManager
135
- };
136
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/orders/index.ts"],"sourcesContent":["/**\n * Order Management Module\n */\n\nimport { randomBytes } from 'crypto';\n\nexport interface Order {\n orderId: string;\n prompt: string;\n imageUrl?: string;\n userId: string;\n price: number;\n chain: string;\n status: OrderStatus;\n createdAt: string;\n paidAt?: string;\n txHash?: string;\n payerAddress?: string;\n videoPath?: string;\n error?: string;\n}\n\nexport type OrderStatus = \n | 'pending' // Pending payment\n | 'paid' // Paid\n | 'generating' // Generating\n | 'completed' // Completed\n | 'failed' // Failed\n | 'cancelled'; // Cancelled\n\nexport interface CreateOrderParams {\n prompt: string;\n userId: string;\n price?: number;\n chain?: string;\n imageUrl?: string;\n}\n\nexport interface OrderStore {\n get(orderId: string): Promise<Order | null>;\n set(order: Order): Promise<void>;\n findByUser(userId: string, status?: OrderStatus): Promise<Order[]>;\n list(limit?: number): Promise<Order[]>;\n}\n\n/**\n * In-memory order store (default implementation)\n */\nexport class MemoryOrderStore implements OrderStore {\n private orders: Map<string, Order> = new Map();\n\n async get(orderId: string): Promise<Order | null> {\n return this.orders.get(orderId) || null;\n }\n\n async set(order: Order): Promise<void> {\n this.orders.set(order.orderId, order);\n }\n\n async findByUser(userId: string, status?: OrderStatus): Promise<Order[]> {\n const results: Order[] = [];\n for (const order of this.orders.values()) {\n if (order.userId === userId) {\n if (!status || order.status === status) {\n results.push(order);\n }\n }\n }\n return results.sort((a, b) => \n new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()\n );\n }\n\n async list(limit = 100): Promise<Order[]> {\n return Array.from(this.orders.values())\n .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())\n .slice(0, limit);\n }\n}\n\n/**\n * Order Manager\n */\nexport class OrderManager {\n private store: OrderStore;\n private defaultPrice: number;\n private defaultChain: string;\n\n constructor(options: {\n store?: OrderStore;\n defaultPrice?: number;\n defaultChain?: string;\n } = {}) {\n this.store = options.store || new MemoryOrderStore();\n this.defaultPrice = options.defaultPrice || 2.0;\n this.defaultChain = options.defaultChain || 'base';\n }\n\n /**\n * Generate order ID\n */\n private generateOrderId(): string {\n return 'vo_' + randomBytes(4).toString('hex');\n }\n\n /**\n * Create order\n */\n async createOrder(params: CreateOrderParams): Promise<Order> {\n const order: Order = {\n orderId: this.generateOrderId(),\n prompt: params.prompt,\n imageUrl: params.imageUrl,\n userId: params.userId,\n price: params.price || this.defaultPrice,\n chain: params.chain || this.defaultChain,\n status: 'pending',\n createdAt: new Date().toISOString(),\n };\n\n await this.store.set(order);\n return order;\n }\n\n /**\n * Get order\n */\n async getOrder(orderId: string): Promise<Order | null> {\n return this.store.get(orderId);\n }\n\n /**\n * Update order\n */\n async updateOrder(orderId: string, updates: Partial<Order>): Promise<Order | null> {\n const order = await this.store.get(orderId);\n if (!order) return null;\n\n const updated = { ...order, ...updates };\n await this.store.set(updated);\n return updated;\n }\n\n /**\n * Find user pending orders\n */\n async findPendingOrder(userId: string): Promise<Order | null> {\n const orders = await this.store.findByUser(userId, 'pending');\n \n // Return pending orders within 24 hours\n const now = Date.now();\n for (const order of orders) {\n const age = now - new Date(order.createdAt).getTime();\n if (age < 24 * 60 * 60 * 1000) {\n return order;\n }\n }\n return null;\n }\n\n /**\n * Mark order as paid\n */\n async markAsPaid(orderId: string, txHash: string, payerAddress?: string): Promise<Order | null> {\n return this.updateOrder(orderId, {\n status: 'paid',\n paidAt: new Date().toISOString(),\n txHash,\n payerAddress,\n });\n }\n\n /**\n * Mark order as generating\n */\n async markAsGenerating(orderId: string): Promise<Order | null> {\n return this.updateOrder(orderId, { status: 'generating' });\n }\n\n /**\n * Mark order as completed\n */\n async markAsCompleted(orderId: string, videoPath: string): Promise<Order | null> {\n return this.updateOrder(orderId, {\n status: 'completed',\n videoPath,\n });\n }\n\n /**\n * Mark order as failed\n */\n async markAsFailed(orderId: string, error: string): Promise<Order | null> {\n return this.updateOrder(orderId, {\n status: 'failed',\n error,\n });\n }\n\n /**\n * Cancel order\n */\n async cancelOrder(orderId: string): Promise<Order | null> {\n return this.updateOrder(orderId, { status: 'cancelled' });\n }\n}\n"],"mappings":";AAIA,SAAS,mBAAmB;AA4CrB,IAAM,mBAAN,MAA6C;AAAA,EAC1C,SAA6B,oBAAI,IAAI;AAAA,EAE7C,MAAM,IAAI,SAAwC;AAChD,WAAO,KAAK,OAAO,IAAI,OAAO,KAAK;AAAA,EACrC;AAAA,EAEA,MAAM,IAAI,OAA6B;AACrC,SAAK,OAAO,IAAI,MAAM,SAAS,KAAK;AAAA,EACtC;AAAA,EAEA,MAAM,WAAW,QAAgB,QAAwC;AACvE,UAAM,UAAmB,CAAC;AAC1B,eAAW,SAAS,KAAK,OAAO,OAAO,GAAG;AACxC,UAAI,MAAM,WAAW,QAAQ;AAC3B,YAAI,CAAC,UAAU,MAAM,WAAW,QAAQ;AACtC,kBAAQ,KAAK,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AACA,WAAO,QAAQ;AAAA,MAAK,CAAC,GAAG,MACtB,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,KAAK,QAAQ,KAAuB;AACxC,WAAO,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EACnC,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAChF,MAAM,GAAG,KAAK;AAAA,EACnB;AACF;AAKO,IAAM,eAAN,MAAmB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,UAIR,CAAC,GAAG;AACN,SAAK,QAAQ,QAAQ,SAAS,IAAI,iBAAiB;AACnD,SAAK,eAAe,QAAQ,gBAAgB;AAC5C,SAAK,eAAe,QAAQ,gBAAgB;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKQ,kBAA0B;AAChC,WAAO,QAAQ,YAAY,CAAC,EAAE,SAAS,KAAK;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,QAA2C;AAC3D,UAAM,QAAe;AAAA,MACnB,SAAS,KAAK,gBAAgB;AAAA,MAC9B,QAAQ,OAAO;AAAA,MACf,UAAU,OAAO;AAAA,MACjB,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO,SAAS,KAAK;AAAA,MAC5B,OAAO,OAAO,SAAS,KAAK;AAAA,MAC5B,QAAQ;AAAA,MACR,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,IACpC;AAEA,UAAM,KAAK,MAAM,IAAI,KAAK;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS,SAAwC;AACrD,WAAO,KAAK,MAAM,IAAI,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,SAAiB,SAAgD;AACjF,UAAM,QAAQ,MAAM,KAAK,MAAM,IAAI,OAAO;AAC1C,QAAI,CAAC,MAAO,QAAO;AAEnB,UAAM,UAAU,EAAE,GAAG,OAAO,GAAG,QAAQ;AACvC,UAAM,KAAK,MAAM,IAAI,OAAO;AAC5B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,QAAuC;AAC5D,UAAM,SAAS,MAAM,KAAK,MAAM,WAAW,QAAQ,SAAS;AAG5D,UAAM,MAAM,KAAK,IAAI;AACrB,eAAW,SAAS,QAAQ;AAC1B,YAAM,MAAM,MAAM,IAAI,KAAK,MAAM,SAAS,EAAE,QAAQ;AACpD,UAAI,MAAM,KAAK,KAAK,KAAK,KAAM;AAC7B,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAAW,SAAiB,QAAgB,cAA8C;AAC9F,WAAO,KAAK,YAAY,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR,SAAQ,oBAAI,KAAK,GAAE,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,SAAwC;AAC7D,WAAO,KAAK,YAAY,SAAS,EAAE,QAAQ,aAAa,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,gBAAgB,SAAiB,WAA0C;AAC/E,WAAO,KAAK,YAAY,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa,SAAiB,OAAsC;AACxE,WAAO,KAAK,YAAY,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,SAAwC;AACxD,WAAO,KAAK,YAAY,SAAS,EAAE,QAAQ,YAAY,CAAC;AAAA,EAC1D;AACF;","names":[]}
@@ -1,49 +0,0 @@
1
- import { C as ChainName, a as ChainConfig, g as PermitRequest, h as PermitSignature, f as PermitExecuteResult } from '../index-CyFg9s2m.mjs';
2
-
3
- /**
4
- * PermitPayment - EIP-2612 Gasless Pre-authorization
5
- *
6
- * User signs authorization, service provider pays gas to execute transferFrom
7
- */
8
-
9
- interface PermitConfig {
10
- chain?: ChainName;
11
- privateKey?: string;
12
- spenderAddress?: string;
13
- rpcUrl?: string;
14
- }
15
- declare class PermitPayment {
16
- readonly chain: ChainName;
17
- readonly chainConfig: ChainConfig;
18
- readonly spenderAddress: string;
19
- private provider;
20
- private wallet?;
21
- private usdcContract;
22
- constructor(config?: PermitConfig);
23
- /**
24
- * Get user current nonce
25
- */
26
- getNonce(owner: string): Promise<number>;
27
- /**
28
- * Generate EIP-712 signing request (for frontend/user wallet)
29
- */
30
- createPermitRequest(owner: string, amount: number, orderId: string, deadlineMinutes?: number): Promise<PermitRequest>;
31
- /**
32
- * Execute permit + transferFrom
33
- *
34
- * @param owner User address
35
- * @param amount Amount
36
- * @param signature User signature {v, r, s, deadline}
37
- */
38
- executePermitAndTransfer(owner: string, amount: number, signature: PermitSignature): Promise<PermitExecuteResult>;
39
- /**
40
- * Execute permit only (no transfer)
41
- */
42
- executePermit(owner: string, amount: number, signature: PermitSignature): Promise<PermitExecuteResult>;
43
- /**
44
- * Format Permit request as user message
45
- */
46
- formatPermitMessage(request: PermitRequest): string;
47
- }
48
-
49
- export { type PermitConfig, PermitPayment };
@@ -1,49 +0,0 @@
1
- import { C as ChainName, a as ChainConfig, g as PermitRequest, h as PermitSignature, f as PermitExecuteResult } from '../index-CyFg9s2m.js';
2
-
3
- /**
4
- * PermitPayment - EIP-2612 Gasless Pre-authorization
5
- *
6
- * User signs authorization, service provider pays gas to execute transferFrom
7
- */
8
-
9
- interface PermitConfig {
10
- chain?: ChainName;
11
- privateKey?: string;
12
- spenderAddress?: string;
13
- rpcUrl?: string;
14
- }
15
- declare class PermitPayment {
16
- readonly chain: ChainName;
17
- readonly chainConfig: ChainConfig;
18
- readonly spenderAddress: string;
19
- private provider;
20
- private wallet?;
21
- private usdcContract;
22
- constructor(config?: PermitConfig);
23
- /**
24
- * Get user current nonce
25
- */
26
- getNonce(owner: string): Promise<number>;
27
- /**
28
- * Generate EIP-712 signing request (for frontend/user wallet)
29
- */
30
- createPermitRequest(owner: string, amount: number, orderId: string, deadlineMinutes?: number): Promise<PermitRequest>;
31
- /**
32
- * Execute permit + transferFrom
33
- *
34
- * @param owner User address
35
- * @param amount Amount
36
- * @param signature User signature {v, r, s, deadline}
37
- */
38
- executePermitAndTransfer(owner: string, amount: number, signature: PermitSignature): Promise<PermitExecuteResult>;
39
- /**
40
- * Execute permit only (no transfer)
41
- */
42
- executePermit(owner: string, amount: number, signature: PermitSignature): Promise<PermitExecuteResult>;
43
- /**
44
- * Format Permit request as user message
45
- */
46
- formatPermitMessage(request: PermitRequest): string;
47
- }
48
-
49
- export { type PermitConfig, PermitPayment };