pay-lobster 1.0.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 (120) hide show
  1. package/README.md +401 -0
  2. package/README.md.bak +401 -0
  3. package/dist/agent.d.ts +132 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +224 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/analytics.d.ts +120 -0
  8. package/dist/analytics.d.ts.map +1 -0
  9. package/dist/analytics.js +345 -0
  10. package/dist/analytics.js.map +1 -0
  11. package/dist/approvals.d.ts +168 -0
  12. package/dist/approvals.d.ts.map +1 -0
  13. package/dist/approvals.js +406 -0
  14. package/dist/approvals.js.map +1 -0
  15. package/dist/circle-client.d.ts +152 -0
  16. package/dist/circle-client.d.ts.map +1 -0
  17. package/dist/circle-client.js +266 -0
  18. package/dist/circle-client.js.map +1 -0
  19. package/dist/commission.d.ts +191 -0
  20. package/dist/commission.d.ts.map +1 -0
  21. package/dist/commission.js +475 -0
  22. package/dist/commission.js.map +1 -0
  23. package/dist/condition-builder.d.ts +98 -0
  24. package/dist/condition-builder.d.ts.map +1 -0
  25. package/dist/condition-builder.js +193 -0
  26. package/dist/condition-builder.js.map +1 -0
  27. package/dist/contacts.d.ts +179 -0
  28. package/dist/contacts.d.ts.map +1 -0
  29. package/dist/contacts.js +445 -0
  30. package/dist/contacts.js.map +1 -0
  31. package/dist/easy.d.ts +22 -0
  32. package/dist/easy.d.ts.map +1 -0
  33. package/dist/easy.js +40 -0
  34. package/dist/easy.js.map +1 -0
  35. package/dist/erc8004/constants.d.ts +152 -0
  36. package/dist/erc8004/constants.d.ts.map +1 -0
  37. package/dist/erc8004/constants.js +114 -0
  38. package/dist/erc8004/constants.js.map +1 -0
  39. package/dist/erc8004/discovery.d.ts +84 -0
  40. package/dist/erc8004/discovery.d.ts.map +1 -0
  41. package/dist/erc8004/discovery.js +217 -0
  42. package/dist/erc8004/discovery.js.map +1 -0
  43. package/dist/erc8004/identity.d.ts +91 -0
  44. package/dist/erc8004/identity.d.ts.map +1 -0
  45. package/dist/erc8004/identity.js +250 -0
  46. package/dist/erc8004/identity.js.map +1 -0
  47. package/dist/erc8004/index.d.ts +147 -0
  48. package/dist/erc8004/index.d.ts.map +1 -0
  49. package/dist/erc8004/index.js +225 -0
  50. package/dist/erc8004/index.js.map +1 -0
  51. package/dist/erc8004/reputation.d.ts +133 -0
  52. package/dist/erc8004/reputation.d.ts.map +1 -0
  53. package/dist/erc8004/reputation.js +277 -0
  54. package/dist/erc8004/reputation.js.map +1 -0
  55. package/dist/escrow-templates.d.ts +38 -0
  56. package/dist/escrow-templates.d.ts.map +1 -0
  57. package/dist/escrow-templates.js +419 -0
  58. package/dist/escrow-templates.js.map +1 -0
  59. package/dist/escrow.d.ts +320 -0
  60. package/dist/escrow.d.ts.map +1 -0
  61. package/dist/escrow.js +854 -0
  62. package/dist/escrow.js.map +1 -0
  63. package/dist/index.d.ts +11 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +33 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/invoices.d.ts +212 -0
  68. package/dist/invoices.d.ts.map +1 -0
  69. package/dist/invoices.js +393 -0
  70. package/dist/invoices.js.map +1 -0
  71. package/dist/notifications.d.ts +141 -0
  72. package/dist/notifications.d.ts.map +1 -0
  73. package/dist/notifications.js +350 -0
  74. package/dist/notifications.js.map +1 -0
  75. package/dist/tips.d.ts +171 -0
  76. package/dist/tips.d.ts.map +1 -0
  77. package/dist/tips.js +390 -0
  78. package/dist/tips.js.map +1 -0
  79. package/dist/types.d.ts +100 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +6 -0
  82. package/dist/types.js.map +1 -0
  83. package/dist/x402-client.d.ts +127 -0
  84. package/dist/x402-client.d.ts.map +1 -0
  85. package/dist/x402-client.js +350 -0
  86. package/dist/x402-client.js.map +1 -0
  87. package/dist/x402-server.d.ts +133 -0
  88. package/dist/x402-server.d.ts.map +1 -0
  89. package/dist/x402-server.js +330 -0
  90. package/dist/x402-server.js.map +1 -0
  91. package/lib/agent.ts +273 -0
  92. package/lib/analytics.ts +474 -0
  93. package/lib/analytics.ts.bak +474 -0
  94. package/lib/approvals.ts +585 -0
  95. package/lib/approvals.ts.bak +585 -0
  96. package/lib/circle-client.ts +376 -0
  97. package/lib/circle-client.ts.bak +376 -0
  98. package/lib/commission.ts +680 -0
  99. package/lib/commission.ts.bak +680 -0
  100. package/lib/condition-builder.ts +223 -0
  101. package/lib/condition-builder.ts.bak +223 -0
  102. package/lib/contacts.ts +615 -0
  103. package/lib/contacts.ts.bak +615 -0
  104. package/lib/easy.ts +46 -0
  105. package/lib/easy.ts.bak +352 -0
  106. package/lib/erc8004/constants.ts +175 -0
  107. package/lib/erc8004/discovery.ts +299 -0
  108. package/lib/erc8004/identity.ts +327 -0
  109. package/lib/erc8004/index.ts +285 -0
  110. package/lib/erc8004/reputation.ts +368 -0
  111. package/lib/escrow-templates.ts +462 -0
  112. package/lib/escrow.ts +1216 -0
  113. package/lib/index.ts +13 -0
  114. package/lib/invoices.ts +588 -0
  115. package/lib/notifications.ts +484 -0
  116. package/lib/tips.ts +570 -0
  117. package/lib/types.ts +108 -0
  118. package/lib/x402-client.ts +471 -0
  119. package/lib/x402-server.ts +462 -0
  120. package/package.json +58 -0
package/dist/agent.js ADDED
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ /**
3
+ * LobsterAgent - Main class for Pay Lobster SDK
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LobsterAgent = void 0;
7
+ const BASE_RPC = 'https://mainnet.base.org';
8
+ const USDC_BASE = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
9
+ class LobsterAgent {
10
+ constructor(config = {}) {
11
+ this.config = {
12
+ network: 'base',
13
+ enableTrust: true,
14
+ ...config
15
+ };
16
+ }
17
+ /**
18
+ * Initialize the agent and connect to wallet
19
+ */
20
+ async initialize() {
21
+ if (this.config.walletId) {
22
+ this.wallet = await this.getWallet();
23
+ }
24
+ }
25
+ /**
26
+ * Create a new Circle-managed wallet
27
+ */
28
+ async createWallet() {
29
+ // Implementation would use Circle API
30
+ throw new Error('Circle wallet creation requires entity secret. Use external wallet or Circle Console.');
31
+ }
32
+ /**
33
+ * Get wallet details and balance
34
+ */
35
+ async getWallet() {
36
+ if (!this.wallet?.address && !this.config.walletId) {
37
+ throw new Error('No wallet configured');
38
+ }
39
+ const address = this.wallet?.address || this.config.walletId;
40
+ const balance = await this.getBalance();
41
+ return {
42
+ id: this.config.walletId || 'external',
43
+ address,
44
+ network: this.config.network || 'base',
45
+ balance
46
+ };
47
+ }
48
+ /**
49
+ * Get current USDC balance
50
+ */
51
+ async getBalance() {
52
+ const address = this.wallet?.address || this.config.walletId;
53
+ if (!address)
54
+ throw new Error('No wallet address');
55
+ const rpc = this.config.rpcUrl || BASE_RPC;
56
+ const data = '0x70a08231' + address.slice(2).padStart(64, '0');
57
+ const response = await fetch(rpc, {
58
+ method: 'POST',
59
+ headers: { 'Content-Type': 'application/json' },
60
+ body: JSON.stringify({
61
+ jsonrpc: '2.0',
62
+ id: 1,
63
+ method: 'eth_call',
64
+ params: [{ to: USDC_BASE, data }, 'latest']
65
+ })
66
+ });
67
+ const result = await response.json();
68
+ const balance = parseInt(result.result || '0', 16) / 1e6;
69
+ return balance.toFixed(2);
70
+ }
71
+ /**
72
+ * Get deposit address
73
+ */
74
+ async getDepositAddress() {
75
+ return this.wallet?.address || this.config.walletId || '';
76
+ }
77
+ /**
78
+ * Transfer USDC to another address
79
+ */
80
+ async transfer(options) {
81
+ // Implementation requires private key or Circle wallet
82
+ console.log(`Transfer: ${options.amount} USDC to ${options.to}`);
83
+ return {
84
+ id: `tx_${Date.now()}`,
85
+ status: 'pending',
86
+ amount: options.amount,
87
+ to: options.to,
88
+ from: this.wallet?.address || '',
89
+ memo: options.memo,
90
+ createdAt: new Date().toISOString()
91
+ };
92
+ }
93
+ /**
94
+ * Alias for transfer
95
+ */
96
+ async send(to, amount) {
97
+ return this.transfer({ to, amount: amount.toString() });
98
+ }
99
+ /**
100
+ * Create an escrow
101
+ */
102
+ async createEscrow(options) {
103
+ return {
104
+ id: `esc_${Date.now()}`,
105
+ amount: options.amount,
106
+ buyer: this.wallet?.address || '',
107
+ seller: options.recipient,
108
+ status: 'funded',
109
+ conditions: options.conditions,
110
+ createdAt: new Date().toISOString()
111
+ };
112
+ }
113
+ /**
114
+ * Release escrow funds
115
+ */
116
+ async releaseEscrow(escrowId, options) {
117
+ console.log(`Releasing escrow ${escrowId}`, options);
118
+ }
119
+ /**
120
+ * Refund escrow
121
+ */
122
+ async refundEscrow(escrowId) {
123
+ console.log(`Refunding escrow ${escrowId}`);
124
+ }
125
+ /**
126
+ * Dispute escrow
127
+ */
128
+ async disputeEscrow(escrowId, options) {
129
+ console.log(`Disputing escrow ${escrowId}: ${options.reason}`);
130
+ }
131
+ /**
132
+ * Get trust score for an address
133
+ */
134
+ async getTrustScore(address) {
135
+ // Would query ERC-8004 registry
136
+ return {
137
+ score: 100,
138
+ level: 'new',
139
+ totalTransactions: 0,
140
+ successRate: 100
141
+ };
142
+ }
143
+ /**
144
+ * Rate an agent
145
+ */
146
+ async rateAgent(options) {
147
+ console.log(`Rating agent ${options.agent}: ${options.rating}/5`);
148
+ }
149
+ /**
150
+ * Get agent ratings
151
+ */
152
+ async getAgentRatings(address) {
153
+ return [];
154
+ }
155
+ /**
156
+ * Register agent in on-chain registry
157
+ */
158
+ async registerAgent(options) {
159
+ console.log(`Registering agent: ${options.name}`);
160
+ }
161
+ /**
162
+ * Discover agents by capability
163
+ */
164
+ async discoverAgents(options) {
165
+ // Would query on-chain registry
166
+ return [{
167
+ address: '0xf775f0224A680E2915a066e53A389d0335318b7B',
168
+ name: 'paylobster',
169
+ capabilities: ['payments', 'escrow'],
170
+ trustScore: { score: 100, level: 'verified', totalTransactions: 0, successRate: 100 }
171
+ }];
172
+ }
173
+ /**
174
+ * Get agent details
175
+ */
176
+ async getAgent(address) {
177
+ const agents = await this.discoverAgents({});
178
+ return agents.find(a => a.address.toLowerCase() === address.toLowerCase()) || null;
179
+ }
180
+ /**
181
+ * Configure autonomous mode
182
+ */
183
+ setAutonomousMode(config) {
184
+ this.autonomousConfig = config;
185
+ }
186
+ /**
187
+ * Hire an agent autonomously
188
+ */
189
+ async hireAgent(options) {
190
+ console.log(`Hiring agent ${options.agent} for: ${options.task}`);
191
+ return { taskId: `task_${Date.now()}`, agent: options.agent, price: options.maxPrice };
192
+ }
193
+ /**
194
+ * Set webhook for notifications
195
+ */
196
+ setWebhook(options) {
197
+ console.log(`Webhook configured: ${options.url}`);
198
+ }
199
+ /**
200
+ * Fetch with x402 auto-payment
201
+ */
202
+ async fetch(url, options) {
203
+ const response = await fetch(url);
204
+ if (response.status === 402 && options?.x402) {
205
+ // Would handle payment automatically
206
+ console.log('402 Payment Required - auto-paying...');
207
+ }
208
+ return response;
209
+ }
210
+ /**
211
+ * Get transfer by ID
212
+ */
213
+ async getTransfer(id) {
214
+ return null;
215
+ }
216
+ /**
217
+ * List transfer history
218
+ */
219
+ async listTransfers(options) {
220
+ return [];
221
+ }
222
+ }
223
+ exports.LobsterAgent = LobsterAgent;
224
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../lib/agent.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAeH,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAC5C,MAAM,SAAS,GAAG,4CAA4C,CAAC;AAE/D,MAAa,YAAY;IAKvB,YAAY,SAAwB,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,IAAI;YACjB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,sCAAsC;QACtC,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU;YACtC,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM;YACtC,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC;aAC5C,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,MAAM,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QACzD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,uDAAuD;QACvD,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjE,OAAO;YACL,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,MAAuB;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAsB;QACvC,OAAO;YACL,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE;YACjC,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAA6B;QACjE,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAA2B;QAC/D,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,gCAAgC;QAChC,OAAO;YACL,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,KAAK;YACZ,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAoF;QAClG,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAKnB;QACC,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C,gCAAgC;QAChC,OAAO,CAAC;gBACN,OAAO,EAAE,4CAA4C;gBACrD,IAAI,EAAE,YAAY;gBAClB,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;aACtF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAwB;QACxC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAA0D;QACxE,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAA0D;QACnE,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,OAAiD;QACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7C,qCAAqC;YACrC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAgE;QAClF,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5PD,oCA4PC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Transaction Analytics & Reporting
3
+ *
4
+ * Insights, summaries, and reports on USDC activity.
5
+ */
6
+ export interface TransactionRecord {
7
+ id: string;
8
+ type: 'send' | 'receive' | 'bridge';
9
+ amount: string;
10
+ fromAddress: string;
11
+ toAddress: string;
12
+ chain: string;
13
+ targetChain?: string;
14
+ txHash: string;
15
+ fee?: string;
16
+ timestamp: string;
17
+ contactName?: string;
18
+ category?: string;
19
+ memo?: string;
20
+ }
21
+ export interface DailySummary {
22
+ date: string;
23
+ sent: string;
24
+ received: string;
25
+ net: string;
26
+ txCount: number;
27
+ fees: string;
28
+ }
29
+ export interface CategorySummary {
30
+ category: string;
31
+ sent: string;
32
+ received: string;
33
+ txCount: number;
34
+ }
35
+ export interface ContactSummary {
36
+ name: string;
37
+ address: string;
38
+ sent: string;
39
+ received: string;
40
+ txCount: number;
41
+ lastTxDate: string;
42
+ }
43
+ /**
44
+ * Analytics Engine
45
+ */
46
+ export declare class AnalyticsEngine {
47
+ private txPath;
48
+ constructor(dataDir?: string);
49
+ private loadTransactions;
50
+ private saveTransactions;
51
+ /**
52
+ * Record a transaction for analytics
53
+ */
54
+ recordTransaction(tx: Omit<TransactionRecord, 'id'>): Promise<TransactionRecord>;
55
+ /**
56
+ * Get transactions with filters
57
+ */
58
+ getTransactions(filters?: {
59
+ type?: TransactionRecord['type'];
60
+ chain?: string;
61
+ fromDate?: string;
62
+ toDate?: string;
63
+ minAmount?: string;
64
+ maxAmount?: string;
65
+ contact?: string;
66
+ category?: string;
67
+ limit?: number;
68
+ }): Promise<TransactionRecord[]>;
69
+ /**
70
+ * Get daily summaries for a date range
71
+ */
72
+ getDailySummaries(fromDate: string, toDate: string): Promise<DailySummary[]>;
73
+ /**
74
+ * Get category breakdown
75
+ */
76
+ getCategoryBreakdown(fromDate?: string, toDate?: string): Promise<CategorySummary[]>;
77
+ /**
78
+ * Get top contacts by volume
79
+ */
80
+ getTopContacts(limit?: number, fromDate?: string, toDate?: string): Promise<ContactSummary[]>;
81
+ /**
82
+ * Get total stats
83
+ */
84
+ getTotalStats(fromDate?: string, toDate?: string): Promise<{
85
+ totalSent: string;
86
+ totalReceived: string;
87
+ totalBridged: string;
88
+ netFlow: string;
89
+ totalFees: string;
90
+ txCount: number;
91
+ avgTxSize: string;
92
+ largestTx: TransactionRecord | null;
93
+ mostFrequentContact: ContactSummary | null;
94
+ }>;
95
+ /**
96
+ * Get chain distribution
97
+ */
98
+ getChainDistribution(fromDate?: string, toDate?: string): Promise<{
99
+ chain: string;
100
+ sent: string;
101
+ received: string;
102
+ txCount: number;
103
+ percentage: string;
104
+ }[]>;
105
+ /**
106
+ * Generate summary report text
107
+ */
108
+ generateReport(fromDate?: string, toDate?: string): Promise<string>;
109
+ /**
110
+ * Categorize a transaction
111
+ */
112
+ categorize(txId: string, category: string): Promise<TransactionRecord | null>;
113
+ /**
114
+ * Export transactions to CSV
115
+ */
116
+ exportCSV(fromDate?: string, toDate?: string): Promise<string>;
117
+ private shortAddress;
118
+ }
119
+ export default AnalyticsEngine;
120
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../lib/analytics.ts"],"names":[],"mappings":"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"}