@rocketh/core 0.17.7 → 0.17.9

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 (43) hide show
  1. package/README.md +6 -0
  2. package/dist/account.d.ts +43 -0
  3. package/dist/account.d.ts.map +1 -0
  4. package/dist/account.js +61 -0
  5. package/dist/account.js.map +1 -0
  6. package/dist/account.test.d.ts +2 -0
  7. package/dist/account.test.d.ts.map +1 -0
  8. package/dist/account.test.js +324 -0
  9. package/dist/account.test.js.map +1 -0
  10. package/dist/artifacts.test.d.ts +2 -0
  11. package/dist/artifacts.test.d.ts.map +1 -0
  12. package/dist/artifacts.test.js +682 -0
  13. package/dist/artifacts.test.js.map +1 -0
  14. package/dist/environment.integration.test.d.ts +13 -0
  15. package/dist/environment.integration.test.d.ts.map +1 -0
  16. package/dist/environment.integration.test.js +296 -0
  17. package/dist/environment.integration.test.js.map +1 -0
  18. package/dist/index.d.ts +6 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +10 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/json.test.d.ts +2 -0
  23. package/dist/json.test.d.ts.map +1 -0
  24. package/dist/json.test.js +383 -0
  25. package/dist/json.test.js.map +1 -0
  26. package/dist/providers/TransactionHashTracker.d.ts.map +1 -1
  27. package/dist/providers/TransactionHashTracker.js +3 -0
  28. package/dist/providers/TransactionHashTracker.js.map +1 -1
  29. package/dist/providers/TransactionHashTracker.test.d.ts +2 -0
  30. package/dist/providers/TransactionHashTracker.test.d.ts.map +1 -0
  31. package/dist/providers/TransactionHashTracker.test.js +284 -0
  32. package/dist/providers/TransactionHashTracker.test.js.map +1 -0
  33. package/dist/types.d.ts.map +1 -1
  34. package/package.json +16 -7
  35. package/src/account.ts +74 -0
  36. package/src/artifacts.ts +176 -0
  37. package/src/environment.ts +98 -0
  38. package/src/index.ts +24 -0
  39. package/src/json.ts +63 -0
  40. package/src/providers/BaseProvider.ts +13 -0
  41. package/src/providers/TransactionHashTracker.ts +26 -0
  42. package/src/providers/index.ts +1 -0
  43. package/src/types.ts +637 -0
@@ -0,0 +1,383 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { postfixBigIntReplacer, bigIntToStringReplacer, postfixBigIntReviver, JSONToString, stringToJSON, toJSONCompatibleLinkedData, } from './json.js';
3
+ describe('JSON Utilities', () => {
4
+ describe('postfixBigIntReplacer', () => {
5
+ it('should convert bigint to string with "n" suffix', () => {
6
+ const obj = { value: 123n };
7
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
8
+ expect(result).toBe('{"value":"123n"}');
9
+ });
10
+ it('should handle negative bigints', () => {
11
+ const obj = { value: -456n };
12
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
13
+ expect(result).toBe('{"value":"-456n"}');
14
+ });
15
+ it('should handle zero bigint', () => {
16
+ const obj = { value: 0n };
17
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
18
+ expect(result).toBe('{"value":"0n"}');
19
+ });
20
+ it('should leave non-bigint values unchanged', () => {
21
+ const obj = {
22
+ number: 123,
23
+ string: 'hello',
24
+ boolean: true,
25
+ null: null,
26
+ };
27
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
28
+ expect(result).toBe('{"number":123,"string":"hello","boolean":true,"null":null}');
29
+ });
30
+ it('should handle nested objects with bigints', () => {
31
+ const obj = {
32
+ outer: {
33
+ inner: {
34
+ bigintValue: 789n,
35
+ },
36
+ normalValue: 42,
37
+ },
38
+ };
39
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
40
+ expect(result).toBe('{"outer":{"inner":{"bigintValue":"789n"},"normalValue":42}}');
41
+ });
42
+ it('should handle arrays with bigints', () => {
43
+ const obj = { values: [1n, 2n, 3n] };
44
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
45
+ expect(result).toBe('{"values":["1n","2n","3n"]}');
46
+ });
47
+ it('should handle very large bigints', () => {
48
+ const obj = { value: 9007199254740991n }; // Number.MAX_SAFE_INTEGER
49
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
50
+ expect(result).toBe('{"value":"9007199254740991n"}');
51
+ });
52
+ it('should handle bigint larger than Number.MAX_SAFE_INTEGER', () => {
53
+ const obj = { value: 9007199254740992n }; // Number.MAX_SAFE_INTEGER + 1
54
+ const result = JSON.stringify(obj, postfixBigIntReplacer);
55
+ expect(result).toBe('{"value":"9007199254740992n"}');
56
+ });
57
+ });
58
+ describe('bigIntToStringReplacer', () => {
59
+ it('should convert bigint to plain string without suffix', () => {
60
+ const obj = { value: 123n };
61
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
62
+ expect(result).toBe('{"value":"123"}');
63
+ });
64
+ it('should handle negative bigints', () => {
65
+ const obj = { value: -456n };
66
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
67
+ expect(result).toBe('{"value":"-456"}');
68
+ });
69
+ it('should handle zero bigint', () => {
70
+ const obj = { value: 0n };
71
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
72
+ expect(result).toBe('{"value":"0"}');
73
+ });
74
+ it('should leave non-bigint values unchanged', () => {
75
+ const obj = {
76
+ number: 123,
77
+ string: 'hello',
78
+ boolean: true,
79
+ null: null,
80
+ };
81
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
82
+ expect(result).toBe('{"number":123,"string":"hello","boolean":true,"null":null}');
83
+ });
84
+ it('should handle nested objects with bigints', () => {
85
+ const obj = {
86
+ outer: {
87
+ inner: {
88
+ bigintValue: 789n,
89
+ },
90
+ normalValue: 42,
91
+ },
92
+ };
93
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
94
+ expect(result).toBe('{"outer":{"inner":{"bigintValue":"789"},"normalValue":42}}');
95
+ });
96
+ it('should handle arrays with bigints', () => {
97
+ const obj = { values: [1n, 2n, 3n] };
98
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
99
+ expect(result).toBe('{"values":["1","2","3"]}');
100
+ });
101
+ it('should handle very large bigints', () => {
102
+ const obj = { value: 9007199254740991n };
103
+ const result = JSON.stringify(obj, bigIntToStringReplacer);
104
+ expect(result).toBe('{"value":"9007199254740991"}');
105
+ });
106
+ });
107
+ describe('postfixBigIntReviver', () => {
108
+ it('should restore bigint from string with "n" suffix', () => {
109
+ const json = '{"value":"123n"}';
110
+ const result = JSON.parse(json, postfixBigIntReviver);
111
+ expect(result).toEqual({ value: 123n });
112
+ });
113
+ it('should restore negative bigint from string with "n" suffix', () => {
114
+ const json = '{"value":"-456n"}';
115
+ const result = JSON.parse(json, postfixBigIntReviver);
116
+ expect(result).toEqual({ value: -456n });
117
+ });
118
+ it('should restore zero bigint', () => {
119
+ const json = '{"value":"0n"}';
120
+ const result = JSON.parse(json, postfixBigIntReviver);
121
+ expect(result).toEqual({ value: 0n });
122
+ });
123
+ it('should not convert strings without "n" suffix', () => {
124
+ const json = '{"value":"123"}';
125
+ const result = JSON.parse(json, postfixBigIntReviver);
126
+ expect(result).toEqual({ value: '123' });
127
+ });
128
+ it('should not convert strings with "n" but non-numeric content', () => {
129
+ const json = '{"value":"hello"}';
130
+ const result = JSON.parse(json, postfixBigIntReviver);
131
+ expect(result).toEqual({ value: 'hello' });
132
+ });
133
+ it('should handle nested objects', () => {
134
+ const json = '{"outer":{"inner":{"bigintValue":"789n"},"normalValue":42}}';
135
+ const result = JSON.parse(json, postfixBigIntReviver);
136
+ expect(result).toEqual({
137
+ outer: {
138
+ inner: { bigintValue: 789n },
139
+ normalValue: 42,
140
+ },
141
+ });
142
+ });
143
+ it('should handle arrays', () => {
144
+ const json = '{"values":["1n","2n","3n"]}';
145
+ const result = JSON.parse(json, postfixBigIntReviver);
146
+ expect(result).toEqual({ values: [1n, 2n, 3n] });
147
+ });
148
+ it('should handle very large bigints', () => {
149
+ const json = '{"value":"9007199254740991n"}';
150
+ const result = JSON.parse(json, postfixBigIntReviver);
151
+ expect(result).toEqual({ value: 9007199254740991n });
152
+ });
153
+ it('should handle mixed array content', () => {
154
+ const json = '{"mixed":["1n",42,"hello","99n",true]}';
155
+ const result = JSON.parse(json, postfixBigIntReviver);
156
+ expect(result).toEqual({ mixed: [1n, 42, 'hello', 99n, true] });
157
+ });
158
+ it('should leave other types unchanged', () => {
159
+ const json = '{"number":42,"string":"hello","boolean":true,"null":null}';
160
+ const result = JSON.parse(json, postfixBigIntReviver);
161
+ expect(result).toEqual({
162
+ number: 42,
163
+ string: 'hello',
164
+ boolean: true,
165
+ null: null,
166
+ });
167
+ });
168
+ });
169
+ describe('JSONToString', () => {
170
+ it('should serialize object using bigIntToStringReplacer', () => {
171
+ const obj = { value: 123n };
172
+ const result = JSONToString(obj);
173
+ expect(result).toBe('{"value":"123"}');
174
+ });
175
+ it('should accept optional space parameter', () => {
176
+ const obj = { value: 123n };
177
+ const result = JSONToString(obj, 2);
178
+ expect(result).toBe('{\n "value": "123"\n}');
179
+ });
180
+ it('should handle complex nested structures', () => {
181
+ const obj = {
182
+ nested: {
183
+ values: [1n, 2n, 3n],
184
+ normal: 42,
185
+ },
186
+ };
187
+ const result = JSONToString(obj);
188
+ expect(result).toBe('{"nested":{"values":["1","2","3"],"normal":42}}');
189
+ });
190
+ it('should handle objects without bigints', () => {
191
+ const obj = { value: 'hello' };
192
+ const result = JSONToString(obj);
193
+ expect(result).toBe('{"value":"hello"}');
194
+ });
195
+ it('should handle null input', () => {
196
+ const result = JSONToString(null);
197
+ expect(result).toBe('null');
198
+ });
199
+ it('should handle array input', () => {
200
+ const arr = [1n, 2n, 3n];
201
+ const result = JSONToString(arr);
202
+ expect(result).toBe('["1","2","3"]');
203
+ });
204
+ });
205
+ describe('stringToJSON', () => {
206
+ it('should parse JSON string', () => {
207
+ const str = '{"value":123}';
208
+ const result = stringToJSON(str);
209
+ expect(result).toEqual({ value: 123 });
210
+ });
211
+ it('should parse array JSON', () => {
212
+ const str = '[1,2,3]';
213
+ const result = stringToJSON(str);
214
+ expect(result).toEqual([1, 2, 3]);
215
+ });
216
+ it('should handle strings', () => {
217
+ const str = '"hello"';
218
+ const result = stringToJSON(str);
219
+ expect(result).toBe('hello');
220
+ });
221
+ it('should handle numbers', () => {
222
+ const str = '42';
223
+ const result = stringToJSON(str);
224
+ expect(result).toBe(42);
225
+ });
226
+ it('should handle booleans', () => {
227
+ const str = 'true';
228
+ const result = stringToJSON(str);
229
+ expect(result).toBe(true);
230
+ });
231
+ it('should handle null', () => {
232
+ const str = 'null';
233
+ const result = stringToJSON(str);
234
+ expect(result).toBe(null);
235
+ });
236
+ it('should return generic type when type is not specified', () => {
237
+ const str = '{"value":"test"}';
238
+ const result = stringToJSON(str);
239
+ expect(result).toEqual({ value: 'test' });
240
+ });
241
+ });
242
+ describe('round-trip serialization with bigint', () => {
243
+ it('should round-trip bigint with postfixBigIntReplacer/Reviver', () => {
244
+ const original = { value: 123n, nested: { inner: 456n } };
245
+ const serialized = JSON.stringify(original, postfixBigIntReplacer);
246
+ const deserialized = JSON.parse(serialized, postfixBigIntReviver);
247
+ expect(deserialized).toEqual(original);
248
+ });
249
+ it('should round-trip bigint with JSONToString/stringToJSON (no restoration)', () => {
250
+ const original = { value: 123n };
251
+ const serialized = JSONToString(original);
252
+ const deserialized = stringToJSON(serialized);
253
+ // bigIntToStringReplacer doesn't restore, so values become strings
254
+ expect(deserialized).toEqual({ value: '123' });
255
+ });
256
+ it('should round-trip complex nested structure', () => {
257
+ const original = {
258
+ level1: {
259
+ level2: {
260
+ bigintValue: 999n,
261
+ normalValue: 42,
262
+ array: [1n, 2n, 3n],
263
+ },
264
+ },
265
+ };
266
+ const serialized = JSON.stringify(original, postfixBigIntReplacer);
267
+ const deserialized = JSON.parse(serialized, postfixBigIntReviver);
268
+ expect(deserialized).toEqual(original);
269
+ });
270
+ });
271
+ describe('toJSONCompatibleLinkedData', () => {
272
+ it('should convert bigint in linked data to string', () => {
273
+ const input = {
274
+ bigintValue: 123n,
275
+ stringValue: 'hello',
276
+ numberValue: 42,
277
+ };
278
+ const result = toJSONCompatibleLinkedData(input);
279
+ expect(result).toEqual({
280
+ bigintValue: '123',
281
+ stringValue: 'hello',
282
+ numberValue: 42,
283
+ });
284
+ });
285
+ it('should return undefined for undefined input', () => {
286
+ const result = toJSONCompatibleLinkedData(undefined);
287
+ expect(result).toBe(undefined);
288
+ });
289
+ it('should convert nested bigints', () => {
290
+ const input = {
291
+ nested: {
292
+ bigintValue: 456n,
293
+ },
294
+ };
295
+ const result = toJSONCompatibleLinkedData(input);
296
+ expect(result).toEqual({
297
+ nested: {
298
+ bigintValue: '456',
299
+ },
300
+ });
301
+ });
302
+ it('should convert bigints in arrays', () => {
303
+ const input = {
304
+ values: [1n, 2n, 3n],
305
+ };
306
+ const result = toJSONCompatibleLinkedData(input);
307
+ expect(result).toEqual({
308
+ values: ['1', '2', '3'],
309
+ });
310
+ });
311
+ it('should handle complex nested structures', () => {
312
+ const input = {
313
+ outer: {
314
+ inner: {
315
+ bigintValue: 789n,
316
+ array: [1n, 2n],
317
+ nested: {
318
+ deep: 999n,
319
+ },
320
+ },
321
+ },
322
+ };
323
+ const result = toJSONCompatibleLinkedData(input);
324
+ expect(result).toEqual({
325
+ outer: {
326
+ inner: {
327
+ bigintValue: '789',
328
+ array: ['1', '2'],
329
+ nested: {
330
+ deep: '999',
331
+ },
332
+ },
333
+ },
334
+ });
335
+ });
336
+ it('should handle mixed content arrays', () => {
337
+ const input = {
338
+ mixed: [1n, 'string', 42, 999n, true],
339
+ };
340
+ const result = toJSONCompatibleLinkedData(input);
341
+ expect(result).toEqual({
342
+ mixed: ['1', 'string', 42, '999', true],
343
+ });
344
+ });
345
+ it('should handle empty object', () => {
346
+ const input = {};
347
+ const result = toJSONCompatibleLinkedData(input);
348
+ expect(result).toEqual({});
349
+ });
350
+ it('should handle objects without bigints', () => {
351
+ const input = {
352
+ string: 'hello',
353
+ number: 42,
354
+ boolean: true,
355
+ };
356
+ const result = toJSONCompatibleLinkedData(input);
357
+ expect(result).toEqual({
358
+ string: 'hello',
359
+ number: 42,
360
+ boolean: true,
361
+ });
362
+ });
363
+ it('should handle negative bigints', () => {
364
+ const input = {
365
+ negative: -123n,
366
+ };
367
+ const result = toJSONCompatibleLinkedData(input);
368
+ expect(result).toEqual({
369
+ negative: '-123',
370
+ });
371
+ });
372
+ it('should handle zero bigint', () => {
373
+ const input = {
374
+ zero: 0n,
375
+ };
376
+ const result = toJSONCompatibleLinkedData(input);
377
+ expect(result).toEqual({
378
+ zero: '0',
379
+ });
380
+ });
381
+ });
382
+ });
383
+ //# sourceMappingURL=json.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.test.js","sourceRoot":"","sources":["../src/json.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionHashTracker.d.ts","sourceRoot":"","sources":["../../src/providers/TransactionHashTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,qBAAqB,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAClF,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,4BAA4B;IAChG,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;gBAEnC,QAAQ,EAAE,4BAA4B;cAIlC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAOnH;AAED,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG;IACnE,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"TransactionHashTracker.d.ts","sourceRoot":"","sources":["../../src/providers/TransactionHashTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,qBAAqB,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAClF,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAK/C,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,4BAA4B;IAChG,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;gBAEnC,QAAQ,EAAE,4BAA4B;cAIlC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAQnH;AAED,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG;IACnE,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;CACnC,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { BaseProvider } from './BaseProvider.js';
2
+ import { logs } from 'named-logs';
3
+ const console = logs('rocketh-provider');
2
4
  export class TransactionHashTrackerProvider extends BaseProvider {
3
5
  transactionHashes = [];
4
6
  constructor(provider) {
5
7
  super(provider);
6
8
  }
7
9
  async _request(args) {
10
+ console.debug(`calling ${args.method} with ${args.params?.length || 0} arguments`);
8
11
  const response = await this.provider.request(args);
9
12
  if (args.method === 'eth_sendRawTransaction' || args.method === 'eth_sendTransaction') {
10
13
  this.transactionHashes.push(response);
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionHashTracker.js","sourceRoot":"","sources":["../../src/providers/TransactionHashTracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,MAAM,OAAO,8BAA+B,SAAQ,YAAY;IACxD,iBAAiB,GAAoB,EAAE,CAAC;IAE/C,YAAY,QAAsC;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,QAAQ,CAAuE,IAAO;QACrG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,wBAAwB,IAAI,IAAI,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAyB,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,QAAa,CAAC;IACtB,CAAC;CACD"}
1
+ {"version":3,"file":"TransactionHashTracker.js","sourceRoot":"","sources":["../../src/providers/TransactionHashTracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAEzC,MAAM,OAAO,8BAA+B,SAAQ,YAAY;IACxD,iBAAiB,GAAoB,EAAE,CAAC;IAE/C,YAAY,QAAsC;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,QAAQ,CAAuE,IAAO;QACrG,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,wBAAwB,IAAI,IAAI,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAyB,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,QAAa,CAAC;IACtB,CAAC;CACD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TransactionHashTracker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionHashTracker.test.d.ts","sourceRoot":"","sources":["../../src/providers/TransactionHashTracker.test.ts"],"names":[],"mappings":""}