dequanto 0.1.50 → 0.1.55

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 (37) hide show
  1. package/lib/cjs/contracts/ContractReader.js +7 -1
  2. package/lib/cjs/contracts/ContractReader.js.map +1 -1
  3. package/lib/cjs/indexer/EventsIndexer.js +55 -22
  4. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  5. package/lib/cjs/indexer/storage/FsEventsMetaStore.js +4 -1
  6. package/lib/cjs/indexer/storage/FsEventsMetaStore.js.map +1 -1
  7. package/lib/cjs/utils/$number.js +12 -3
  8. package/lib/cjs/utils/$number.js.map +1 -1
  9. package/lib/cjs/utils/$ref.js +7 -0
  10. package/lib/cjs/utils/$ref.js.map +1 -1
  11. package/lib/cjs/wallets/EIP6963ProviderFactory.js +1 -1
  12. package/lib/cjs/wallets/EIP6963ProviderFactory.js.map +1 -1
  13. package/lib/esm/contracts/ContractReader.js.map +1 -1
  14. package/lib/esm/contracts/ContractReader.mjs +7 -1
  15. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  16. package/lib/esm/indexer/EventsIndexer.mjs +55 -22
  17. package/lib/esm/indexer/storage/FsEventsMetaStore.js.map +1 -1
  18. package/lib/esm/indexer/storage/FsEventsMetaStore.mjs +4 -1
  19. package/lib/esm/utils/$number.js.map +1 -1
  20. package/lib/esm/utils/$number.mjs +12 -3
  21. package/lib/esm/utils/$ref.js.map +1 -1
  22. package/lib/esm/utils/$ref.mjs +7 -0
  23. package/lib/esm/wallets/EIP6963ProviderFactory.js.map +1 -1
  24. package/lib/esm/wallets/EIP6963ProviderFactory.mjs +1 -1
  25. package/lib/types/indexer/EventsIndexer.d.ts +14 -7
  26. package/lib/types/indexer/storage/FsEventsMetaStore.d.ts +1 -0
  27. package/lib/types/indexer/storage/interfaces.d.ts +8 -5
  28. package/lib/types/utils/$number.d.ts +2 -0
  29. package/lib/types/utils/$ref.d.ts +1 -0
  30. package/package.json +1 -1
  31. package/src/contracts/ContractReader.ts +12 -1
  32. package/src/indexer/EventsIndexer.ts +73 -32
  33. package/src/indexer/storage/FsEventsMetaStore.ts +4 -1
  34. package/src/indexer/storage/interfaces.ts +8 -4
  35. package/src/utils/$number.ts +14 -4
  36. package/src/utils/$ref.ts +9 -0
  37. package/src/wallets/EIP6963ProviderFactory.ts +1 -1
@@ -47,16 +47,16 @@ export class EventsIndexer {
47
47
  await this.store.ensureMigrated();
48
48
  await this.storeMeta.ensureMigrated();
49
49
  }
50
- async getPastLogs(event,
51
- // Fetch all logs and filter later if needed
52
- //- params?: T[TMethodName] extends (options: { params?: infer TParams }) => any ? TParams : never,
53
- filter) {
50
+ async getPastLogs(event, filter) {
54
51
  let contract = this.contract;
55
52
  let client = contract.client;
56
53
  let toBlock = filter?.toBlock ?? await client.getBlockNumber();
57
54
  let events = Array.isArray(event) ? event : [event];
58
- let ranges = await this.getRanges(events, this.options.initialBlockNumber, toBlock);
59
- let logs = await this.getPastLogsRanges(ranges, events, toBlock, filter?.fromBlock);
55
+ let filterKey = this.getFilterKey(filter?.params);
56
+ let ranges = await this.getRanges(events, this.options.initialBlockNumber, toBlock, { filterKey });
57
+ let logs = await this.getPastLogsRanges(ranges, events, toBlock, filter?.fromBlock, {
58
+ params: filter?.params
59
+ });
60
60
  return {
61
61
  logs: logs
62
62
  };
@@ -69,10 +69,14 @@ export class EventsIndexer {
69
69
  let client = contract.client;
70
70
  let toBlock = options?.toBlock ?? await client.getBlockNumber();
71
71
  let events = Array.isArray(event) ? event : [event];
72
- let ranges = await this.getRanges(events, options?.fromBlock ?? this.options.initialBlockNumber, toBlock);
72
+ let filterKey = this.getFilterKey(options?.params);
73
+ let ranges = await this.getRanges(events, options?.fromBlock ?? this.options.initialBlockNumber, toBlock, {
74
+ filterKey
75
+ });
73
76
  let dfrInner = new class_Dfr();
74
77
  let dfrOuter = new class_Dfr();
75
78
  this.getPastLogsRanges(ranges, events, toBlock, options?.fromBlock, {
79
+ params: options?.params,
76
80
  blockRangeLimits: options?.blockRangeLimits,
77
81
  streamed: true,
78
82
  async onProgress(info) {
@@ -101,16 +105,23 @@ export class EventsIndexer {
101
105
  let events = await this.store.fetch({ fromBlock: params.fromBlock });
102
106
  l `Removing ${events.length} from Block #${params.fromBlock}...`;
103
107
  await this.store.removeMany(events);
108
+ let metas = await this.storeMeta.fetch();
104
109
  let lastBlock = params.fromBlock - 1;
105
- let meta = await this.storeMeta.fetch();
106
- meta.forEach(x => {
107
- x.lastBlock = Math.min(x.lastBlock, lastBlock);
108
- });
109
- await this.storeMeta.upsertMany(meta);
110
+ if (lastBlock < 0) {
111
+ await this.storeMeta.removeMany(metas);
112
+ }
113
+ else {
114
+ metas.forEach(x => {
115
+ x.lastBlock = Math.min(x.lastBlock, lastBlock);
116
+ });
117
+ await this.storeMeta.upsertMany(metas);
118
+ }
110
119
  }
111
- async getRanges(events, initialBlockNumber, toBlock, fromBlock) {
120
+ async getRanges(events, initialBlockNumber, toBlock, opts) {
112
121
  let logsMetaArr = await this.storeMeta.fetch();
113
- let eventsBlock = alot(logsMetaArr).toDictionary(x => x.event, x => x.lastBlock);
122
+ let eventsBlock = alot(logsMetaArr)
123
+ .filter(x => x.filterKey == opts?.filterKey)
124
+ .toDictionary(x => x.event, x => x.lastBlock);
114
125
  let logsMeta = events.map(event => {
115
126
  let blockNr = eventsBlock[event] ?? initialBlockNumber;
116
127
  return {
@@ -120,7 +131,7 @@ export class EventsIndexer {
120
131
  });
121
132
  let hasInitialBlock = logsMeta.every(x => x.lastBlock != null);
122
133
  if (hasInitialBlock === false) {
123
- let blockNr = fromBlock ?? await this.getInitialBlockNumber();
134
+ let blockNr = opts?.fromBlock ?? await this.getInitialBlockNumber();
124
135
  logsMeta.filter(x => x.lastBlock == null).forEach(x => x.lastBlock = blockNr);
125
136
  }
126
137
  ;
@@ -155,7 +166,8 @@ export class EventsIndexer {
155
166
  let arr = await this.getItemsFromStore({
156
167
  fromBlock: fromBlock,
157
168
  toBlock: toBlock,
158
- events
169
+ events,
170
+ params: options?.params,
159
171
  });
160
172
  if (arr?.length > 0) {
161
173
  let latestBlock = arr[arr.length - 1].blockNumber;
@@ -193,6 +205,7 @@ export class EventsIndexer {
193
205
  fromBlock: fromBlock,
194
206
  toBlock: toBlock,
195
207
  blockRangeLimits: options?.blockRangeLimits,
208
+ params: options?.params,
196
209
  onProgress: async (info) => {
197
210
  onProgressCount++;
198
211
  buffer.push(...info.logs);
@@ -221,7 +234,7 @@ export class EventsIndexer {
221
234
  buffer = [];
222
235
  time = now;
223
236
  savedCount += arr.length;
224
- await this.upsert(arr, events, info.latestBlock);
237
+ await this.upsert(arr, events, info.latestBlock, options);
225
238
  }
226
239
  if (options?.onProgress) {
227
240
  // completed must be set to true only when the last Range completes
@@ -231,18 +244,19 @@ export class EventsIndexer {
231
244
  }
232
245
  });
233
246
  if (buffer.length > 0) {
234
- await this.upsert(buffer, events, toBlock);
247
+ await this.upsert(buffer, events, toBlock, options);
235
248
  }
236
249
  }
237
250
  // Upsert final, if buffer is empty, we still persist the toBlock
238
- await this.upsert(buffer, events, toBlock);
251
+ await this.upsert(buffer, events, toBlock, options);
239
252
  if (isStreamed === true) {
240
253
  return;
241
254
  }
242
255
  let logs = await this.getItemsFromStore({
243
256
  fromBlock: fromBlock,
244
257
  toBlock: toBlock + 1,
245
- events: events
258
+ events: events,
259
+ params: options?.params
246
260
  });
247
261
  return logs;
248
262
  }
@@ -253,8 +267,19 @@ export class EventsIndexer {
253
267
  let requestedEvents = alot(events).toDictionary(x => x);
254
268
  arr = arr.filter(x => x.event in requestedEvents);
255
269
  }
270
+ let filterKey = this.getFilterKey(filter.params);
271
+ arr = arr.filter(x => x.filterKey == filterKey);
256
272
  return arr;
257
273
  }
274
+ getFilterKey(params) {
275
+ if (params == null) {
276
+ return;
277
+ }
278
+ let arr = Array.isArray(params)
279
+ ? params
280
+ : Object.keys(params).map(key => `${key}=${params[key]}`);
281
+ return arr.join('_');
282
+ }
258
283
  async getInitialBlockNumber() {
259
284
  let client = this.contract.client;
260
285
  if (client.platform !== 'hardhat') {
@@ -265,11 +290,19 @@ export class EventsIndexer {
265
290
  }
266
291
  return 0;
267
292
  }
268
- async upsert(logs, events, latestBlock) {
293
+ async upsert(logs, events, latestBlock, options) {
294
+ let filterKey = this.getFilterKey(options?.params);
269
295
  if (logs?.length > 0) {
296
+ for (let log of logs) {
297
+ log.filterKey = filterKey;
298
+ }
270
299
  await this.store.upsertMany(logs);
271
300
  }
272
- const logsMeta = events.map(event => ({ event, lastBlock: latestBlock }));
301
+ const logsMeta = events.map(event => ({
302
+ event,
303
+ lastBlock: latestBlock,
304
+ filterKey: filterKey,
305
+ }));
273
306
  await this.storeMeta.upsertMany(logsMeta);
274
307
  }
275
308
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FsEventsMetaStore.js","sourceRoot":"","sources":["../../../../src/indexer/storage/FsEventsMetaStore.ts"],"names":[],"mappings":";;;AAEA,kEAA8D;AAE9D,6DAAyD;AACzD,qCAA8B;AAG9B,MAAa,iBAAiB;IAO1B,YAAoB,QAAW,EAAU,OASxC;QATmB,aAAQ,GAAR,QAAQ,CAAG;QAAU,YAAO,GAAP,OAAO,CAS/C;QAEG,IAAI,SAAS,GAAG,uCAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE;YACtD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS;SACnC,CAAC,CAAC;QAGH,IAAI,CAAC,KAAK,GAAG,IAAI,+BAAc,CAAqB;YAChD,IAAI,EAAE,GAAG,SAAS,eAAe;YACjC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAqB;YAClD,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB;YACrD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,cAAc;QAChB,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACrD;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAA0B;QACvC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;CAGJ;AAtDD,8CAsDC"}
1
+ {"version":3,"file":"FsEventsMetaStore.js","sourceRoot":"","sources":["../../../../src/indexer/storage/FsEventsMetaStore.ts"],"names":[],"mappings":";;;AAEA,kEAA8D;AAE9D,6DAAyD;AACzD,qCAA8B;AAG9B,MAAa,iBAAiB;IAO1B,YAAoB,QAAW,EAAU,OASxC;QATmB,aAAQ,GAAR,QAAQ,CAAG;QAAU,YAAO,GAAP,OAAO,CAS/C;QAEG,IAAI,SAAS,GAAG,uCAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE;YACtD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS;SACnC,CAAC,CAAC;QAGH,IAAI,CAAC,KAAK,GAAG,IAAI,+BAAc,CAAqB;YAChD,IAAI,EAAE,GAAG,SAAS,eAAe;YACjC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAqB;YAClD,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB;YACrD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,cAAc;QAChB,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACrD;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAA0B;QACvC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,UAAU,CAAE,IAA0B;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;CAEJ;AAzDD,8CAyDC"}
@@ -12,7 +12,7 @@ export class FsEventsMetaStore {
12
12
  });
13
13
  this.store = new JsonArrayStore({
14
14
  path: `${directory}meta-arr.json`,
15
- key: x => x.event
15
+ key: x => (x.event + (x.filterKey || ''))
16
16
  });
17
17
  this.storeV0 = new JsonArrayStore({
18
18
  path: `${directory.replace(/\/$/, '')}-meta-arr.json`,
@@ -33,6 +33,9 @@ export class FsEventsMetaStore {
33
33
  async fetch() {
34
34
  return await this.store.getAll();
35
35
  }
36
+ async removeMany(meta) {
37
+ await this.store.removeMany(meta.map(x => x.event));
38
+ }
36
39
  }
37
40
  //# sourceMappingURL=FsEventsMetaStore.js.map
38
41
  //# sourceMappingURL=FsEventsMetaStore.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"$number.js","sourceRoot":"","sources":["../../../src/utils/$number.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAEtC,IAAiB,OAAO,CAmIvB;AAnID,WAAiB,OAAO;IAEpB,SAAgB,GAAG,CAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAHe,WAAG,MAGlB,CAAA;IAED;;;;OAIG;IACF,SAAgB,MAAM,CAAC,GAAW,EAAE,GAAW;QAC5C,mBAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,kDAAkD,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC7C,CAAC;IAHgB,cAAM,SAGtB,CAAA;IACD;;;;OAIG;IACH,SAAgB,SAAS,CAAC,GAAW,EAAE,GAAW;QAC9C,mBAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,kDAAkD,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IACzD,CAAC;IAHe,iBAAS,YAGxB,CAAA;IACD;;;;OAIG;IACH,SAAgB,WAAW,CAAC,GAAW,EAAE,GAAW,EAAE,WAAmB,CAAC;QACtE,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,OAAO,GAAG,GAAG,EAAE,IAAI,kBAAkB,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,kBAAkB,GAAG,CAAC,GAAG,CAAC,EAAE;YACrF,kBAAkB,EAAE,CAAC;SACxB;QACD,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACjD,CAAC;IAPe,mBAAW,cAO1B,CAAA;IACD,SAAgB,KAAK,CAAE,GAAoB;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,GAAG,CAAC;SACd;QACD,IAAI,MAAM,GAAW,IAAI,CAAC;QAC1B,SAAS;QACT,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,MAAM,GAAG,IAAI,CAAC;YACd,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,MAAM,GAAG,OAAO,CAAC;YACjB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,MAAM,GAAG,UAAU,CAAC;YACpB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC1C;QAED,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,KAAK,IAAI,MAAM,CAAC;SACnB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IA7Be,aAAK,QA6BpB,CAAA;IACD,SAAgB,KAAK,CAAE,GAAoB,EAAE,SAAiB,CAAC,EAAE,QAAoC,OAAO;QACxG,IAAI,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;YACf,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,CAAC,IAAI,CAAC,CAAC,CAAC;SACX;QACD,IAAI,CAAC,GAAG,KAAK,EAAE;YACX,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACrC,CAAC;IAfe,aAAK,QAepB,CAAA;IACD,SAAgB,aAAa,CAAE,GAAG,EAAE,QAAQ,GAAG,IAAI;QAC/C,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,OAAO,QAAQ,CAAC;SACnB;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,GAAG,CAAC;SACd;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAEzB,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAChC,OAAO,QAAQ,CAAC;aACnB;YACD,OAAO,GAAG,CAAC;SACd;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC3E,CAAC;IAhBe,qBAAa,gBAgB5B,CAAA;IAED;;;OAGG;IACH,SAAgB,MAAM,CAAE,GAAW,EAAE,OAAoE;QACrG,IAAI,OAAO,EAAE,YAAY,EAAE;YACvB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClB,IAAI,GAAG,IAAI,CAAC,EAAE;gBACV,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAC/F;YACD,IAAI,GAAG,IAAI,CAAC,EAAE;gBACV,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAC/F;YACD,IAAI,GAAG,IAAI,CAAC,EAAE;gBACV,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAC/F;YAED,OAAO,MAAM,CAAC,GAAG,EAAE,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,CAAC;SACrF;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE;YAC/B,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC;SAC5D,CAAC,CAAC;IACP,CAAC;IApBe,cAAM,SAoBrB,CAAA;IAED,SAAgB,KAAK,CAAE,GAAwC;QAC3D,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAa,CAAC;IACzD,CAAC;IAFe,aAAK,QAEpB,CAAA;AACL,CAAC,EAnIgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAmIvB"}
1
+ {"version":3,"file":"$number.js","sourceRoot":"","sources":["../../../src/utils/$number.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { $require } from './$require.mjs';
2
+ import { $bigint } from './$bigint.mjs';
2
3
  export var $number;
3
4
  (function ($number) {
4
5
  function div(a, b, digits = 5) {
@@ -114,13 +115,14 @@ export var $number;
114
115
  const K = 10 ** 3;
115
116
  const M = 10 ** 6;
116
117
  const B = 10 ** 9;
117
- if (num >= B) {
118
+ const numAbs = Math.abs(num);
119
+ if (numAbs >= B) {
118
120
  return format(num / B, { maximumFractionDigits: options.maximumFractionDigits ?? 2 }) + 'B';
119
121
  }
120
- if (num >= M) {
122
+ if (numAbs >= M) {
121
123
  return format(num / M, { maximumFractionDigits: options.maximumFractionDigits ?? 2 }) + 'M';
122
124
  }
123
- if (num >= K) {
125
+ if (numAbs >= K) {
124
126
  return format(num / K, { maximumFractionDigits: options.maximumFractionDigits ?? 2 }) + 'K';
125
127
  }
126
128
  return format(num, { maximumFractionDigits: options.maximumFractionDigits ?? 2 });
@@ -130,6 +132,13 @@ export var $number;
130
132
  });
131
133
  }
132
134
  $number.format = format;
135
+ function humanize(mix, decimals = 18) {
136
+ if (typeof mix === 'bigint') {
137
+ mix = $bigint.toEther(mix, decimals);
138
+ }
139
+ return format(mix, { abbreviation: true });
140
+ }
141
+ $number.humanize = humanize;
133
142
  function toHex(num) {
134
143
  return (`0x` + Number(num).toString(16));
135
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"$ref.js","sourceRoot":"","sources":["../../../src/utils/$ref.ts"],"names":[],"mappings":";;;AAEA,2CAAgD;AAchD,IAAiB,IAAI,CAuBpB;AAvBD,WAAiB,IAAI;IACjB,SAAgB,SAAS;QACrB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC7D,MAAM,CAAC,GAAG,MAAwB,CAAC;YACnC,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAM,QAAQ,EAAE;YAC9D,MAAM,CAAC,GAAG,MAAwB,CAAC;YAEnC,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,EAAE;gBACnF,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;gBACvC,CAAC,CAAC,gBAAgB,GAAG,UAAU,KAAa,EAAE,EAAkB;oBAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,CAAC,CAAC,aAAa,GAAG,UAAU,KAAkB;oBAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC,CAAC;aACL;YAED,OAAO,CAAC,CAAC;SACZ;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IArBe,cAAS,YAqBxB,CAAA;AACL,CAAC,EAvBgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAuBpB"}
1
+ {"version":3,"file":"$ref.js","sourceRoot":"","sources":["../../../src/utils/$ref.ts"],"names":[],"mappings":";;;AAEA,2CAAgD;AAgBhD,IAAiB,IAAI,CA8BpB;AA9BD,WAAiB,IAAI;IACjB,SAAgB,SAAS;QACrB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC7D,MAAM,CAAC,GAAG,MAAwB,CAAC;YACnC,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAM,QAAQ,EAAE;YAC9D,MAAM,CAAC,GAAG,MAAwB,CAAC;YAEnC,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,EAAE;gBACnF,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;gBACvC,CAAC,CAAC,gBAAgB,GAAG,UAAU,KAAa,EAAE,EAAkB;oBAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,CAAC,CAAC,aAAa,GAAG,UAAU,KAAkB;oBAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC,CAAC;aACL;YACD,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,WAAW,EAAE;gBACtC,CAAC,CAAC,WAAW,GAAS,MAAM,WAAW;oBACnC,YAAoB,IAAI;wBAAJ,SAAI,GAAJ,IAAI,CAAA;oBAExB,CAAC;iBACJ,CAAC;aACL;YAED,OAAO,CAAC,CAAC;SACZ;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IA5Be,cAAS,YA4BxB,CAAA;AACL,CAAC,EA9BgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA8BpB"}
@@ -17,6 +17,13 @@ export var $ref;
17
17
  emitter.emit(event.type, event);
18
18
  };
19
19
  }
20
+ if (typeof g.CustomEvent === 'undefined') {
21
+ g.CustomEvent = class CustomEvent {
22
+ constructor(data) {
23
+ this.data = data;
24
+ }
25
+ };
26
+ }
20
27
  return g;
21
28
  }
22
29
  throw new Error('No global object found');
@@ -1 +1 @@
1
- {"version":3,"file":"EIP6963ProviderFactory.js","sourceRoot":"","sources":["../../../src/wallets/EIP6963ProviderFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EIP6963ProviderFactory.js","sourceRoot":"","sources":["../../../src/wallets/EIP6963ProviderFactory.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB,uDAAoD;AACpD,+CAAqD;AACrD,uDAAoD;AACpD,2CAAgD;AAwChD,MAAa,sBAAuB,SAAQ,+BAAmC;IAc3E;QACI,KAAK,EAAE,CAAC;QAbJ,cAAS,GAAG,EAKlB,CAAA;QAEF,cAAS,GAA4B,EAAE,CAAA;QAGvC,WAAM,GAAY,WAAI,CAAC,SAAS,EAAE,CAAA;QAK9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW,CAAE,OAAsB;QAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC9B,OAAO,OAAO,IAAI,IAAI;gBAClB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,mBAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,EAAW;QACtB,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC3C,mBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,UAAU;QACN,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAE,EAAU;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,EAAW;QAC9B,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAmB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvG,IAAI,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,GAAG;gBACN,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC;aAChB;iBACA,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,MAAM,CAAmB,CAAC;YAE/B,QAAQ,CAAC,QAAQ,GAAG,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACjE;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAEO,eAAe;QACnB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,KAAK,UAAU,EAAE;YACrD,IAAI,CAAC,kBAAkB,CAAC;gBACpB,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,gBAAgB;qBACzB;oBACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;iBACjC;aACJ,CAAC,CAAC;SACN;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAEtF,CAAC;IACO,mBAAmB;QACvB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,EAAG,IAAI,CAAC,kBAAyB,CAAC,CAAC;IAC9F,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAE,KAAmC;QACjE,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;QAC7E,IAAI,gBAAgB,EAAE;YAClB,oCAAoC;YACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;YACzE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;SAC/C;QAED,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;YACnE,OAAO;SACV;QAED,IAAI,eAAe,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAExC,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YACnE,IAAI,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;gBACtB,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;aAC/D;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,kHAAkH;SACrH;QACD,IAAI;YACA,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;YACjE,eAAe,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACZ,4BAA4B;SAC/B;QAED,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,kBAAkB,CAAE,EAAW;QAC3B,IAAI,EAAE,IAAI,IAAI,EAAE;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,WAAW,CAAE,EAAW,EAAE,QAAkB;QACxC,IAAI,EAAE,IAAI,IAAI,EAAE;YACZ,QAAQ,KAAK,IAAI,IAAI,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC,QAAQ,CAAC;SACxB;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,QAAQ,KAAK,IAAI,IAAI,mBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,KAAK,CAAE,IAAgC;QAC3C,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC;IACpC,CAAC;IAEO,iBAAiB,CAAE,eAAsC;QAC7D,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;YACtB,OAAO;SACV;QACD,MAAM,GAAG,GAAG;YACR,eAAe,EAAE,QAAQ,CAAC,EAAE;gBACxB,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,QAA0B,CAAC,CAAC;YAChF,CAAC;YACD,YAAY,EAAE,OAAO,CAAC,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpE,CAAC;SACJ,CAAA;QACD,IAAI,UAAqC,CAAC;QAC1C,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QAExC,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,UAAU,EAAE;YACnC,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,OAAQ,QAAgB,CAAC,gBAAgB,KAAK,UAAU,EAAE;YACjE,UAAU,GAAG,kBAAkB,CAAC;SACnC;QACD,IAAI,UAAU,IAAI,IAAI,EAAE;YACpB,OAAO;SACV;QACD,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE;YACnB,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IAEO,oBAAoB,CAAE,eAAsC;QAChE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;YAChC,OAAO;SACV;QAED,IAAI,YAAsD,CAAC;QAC3D,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QACxC,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,UAAU,EAAE;YAC/C,YAAY,GAAG,gBAAgB,CAAC;SACnC;aAAM,IAAI,OAAQ,QAAgB,CAAC,mBAAmB,KAAK,UAAU,EAAE;YACpE,YAAY,GAAG,qBAAqB,CAAC;SACxC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7B,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE;YACnB,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AA7MD,wDA6MC"}
@@ -67,7 +67,7 @@ export class EIP6963ProviderFactory extends class_EventEmitter {
67
67
  }
68
68
  });
69
69
  }
70
- this.global.dispatchEvent(new CustomEvent('eip6963:requestProvider'));
70
+ this.global.dispatchEvent(new this.global.CustomEvent('eip6963:requestProvider'));
71
71
  }
72
72
  listenToNewProvider() {
73
73
  this.global.addEventListener('eip6963:announceProvider', this.onAnnounceProvider);
@@ -4,8 +4,8 @@ import { TAddress } from '../models/TAddress';
4
4
  import { IEventsIndexerMetaStore, IEventsIndexerStore } from './storage/interfaces';
5
5
  import { TLogsRangeProgress } from '../clients/Web3Client';
6
6
  import { WClient } from '../clients/ClientPool';
7
- export declare class EventsIndexer<T extends ContractBase> {
8
- contract: T;
7
+ export declare class EventsIndexer<TContract extends ContractBase> {
8
+ contract: TContract;
9
9
  options: {
10
10
  addresses?: TAddress[];
11
11
  name?: string;
@@ -22,7 +22,7 @@ export declare class EventsIndexer<T extends ContractBase> {
22
22
  };
23
23
  store: IEventsIndexerStore;
24
24
  storeMeta: IEventsIndexerMetaStore;
25
- constructor(contract: T, options: {
25
+ constructor(contract: TContract, options: {
26
26
  addresses?: TAddress[];
27
27
  name?: string;
28
28
  initialBlockNumber?: number;
@@ -39,23 +39,30 @@ export declare class EventsIndexer<T extends ContractBase> {
39
39
  mergeStorages(store: IEventsIndexerStore): Promise<void>;
40
40
  /** @deprecated For migration only */
41
41
  fsEnsureMigrated(): Promise<void>;
42
- getPastLogs<TLogName extends GetEventLogNames<T>>(event: TLogName | TLogName[] | '*', filter?: {
42
+ getPastLogs<TLogName extends GetEventLogNames<TContract>>(event: TLogName | TLogName[] | '*', filter?: {
43
43
  fromBlock?: number;
44
44
  toBlock?: number;
45
+ params?: TLogName extends keyof TContract ? (TContract[TLogName] extends (options: {
46
+ params?: infer TParams;
47
+ }) => any ? TParams : never) : never;
45
48
  }): Promise<{
46
- logs: ITxLogItem<GetTypes<T>['Events'][TLogName]['outputParams']>[];
49
+ logs: ITxLogItem<GetTypes<TContract>['Events'][TLogName]['outputParams']>[];
47
50
  }>;
48
- getPastLogsStream<TLogName extends GetEventLogNames<T>>(event: TLogName | TLogName[] | '*', options?: {
51
+ getPastLogsStream<TLogName extends GetEventLogNames<TContract>>(event: TLogName | TLogName[] | '*', options?: {
49
52
  fromBlock?: number;
50
53
  toBlock?: number;
51
54
  blockRangeLimits?: WClient['blockRangeLimits'];
52
- }): AsyncGenerator<TLogsRangeProgress<ITxLogItem<GetTypes<T>['Events'][TLogName]['outputParams'], string>>, void, void>;
55
+ params?: TLogName extends keyof TContract ? (TContract[TLogName] extends (options: {
56
+ params?: infer TParams;
57
+ }) => any ? TParams : never) : never;
58
+ }): AsyncGenerator<TLogsRangeProgress<ITxLogItem<GetTypes<TContract>['Events'][TLogName]['outputParams'], string>>, void, void>;
53
59
  removeCached(params: {
54
60
  fromBlock: number;
55
61
  }): Promise<void>;
56
62
  private getRanges;
57
63
  private getPastLogsRanges;
58
64
  private getItemsFromStore;
65
+ private getFilterKey;
59
66
  private getInitialBlockNumber;
60
67
  private upsert;
61
68
  }
@@ -19,4 +19,5 @@ export declare class FsEventsMetaStore<T extends ContractBase> implements IEvent
19
19
  ensureMigrated(): Promise<void>;
20
20
  upsertMany(meta: TEventsIndexerMeta[]): Promise<TEventsIndexerMeta[]>;
21
21
  fetch(): Promise<TEventsIndexerMeta[]>;
22
+ removeMany(meta: TEventsIndexerMeta[]): Promise<void>;
22
23
  }
@@ -1,20 +1,23 @@
1
1
  import { ITxLogItem } from '../../txs/receipt/ITxLogItem';
2
- type TItem = ITxLogItem<any>;
2
+ export type TEventsIndexerItem = ITxLogItem<any> & {
3
+ filterKey?: string;
4
+ };
3
5
  export type TEventsIndexerMeta = {
4
6
  event: string;
5
7
  lastBlock: number;
8
+ filterKey?: string;
6
9
  };
7
10
  export interface IEventsIndexerStore {
8
- upsertMany(logs: TItem[]): Promise<TItem[]>;
9
- removeMany(logs: TItem[]): Promise<any>;
11
+ upsertMany(logs: TEventsIndexerItem[]): Promise<TEventsIndexerItem[]>;
12
+ removeMany(logs: TEventsIndexerItem[]): Promise<any>;
10
13
  fetch(options?: {
11
14
  fromBlock?: number;
12
15
  toBlock?: number;
13
- }): Promise<TItem[]>;
16
+ }): Promise<TEventsIndexerItem[]>;
14
17
  merge(store: IEventsIndexerStore): Promise<any>;
15
18
  }
16
19
  export interface IEventsIndexerMetaStore {
17
20
  upsertMany(meta: TEventsIndexerMeta[]): Promise<TEventsIndexerMeta[]>;
18
21
  fetch(): Promise<TEventsIndexerMeta[]>;
22
+ removeMany(meta: TEventsIndexerMeta[]): Promise<any>;
19
23
  }
20
- export {};
@@ -30,5 +30,7 @@ export declare namespace $number {
30
30
  abbreviation?: boolean;
31
31
  maximumFractionDigits?: number;
32
32
  }): any;
33
+ function humanize(num: bigint, decimals: number): any;
34
+ function humanize(num: number): any;
33
35
  function toHex(num: string | number | TEth.Hex | bigint): TEth.Hex;
34
36
  }
@@ -5,6 +5,7 @@ export type TGlobal = {
5
5
  removeEventListener: Window['removeEventListener'];
6
6
  dispatchEvent(event: any): void;
7
7
  localStorage?: WindowLocalStorage['localStorage'];
8
+ CustomEvent: typeof CustomEvent;
8
9
  };
9
10
  export declare namespace $ref {
10
11
  function getGlobal(): TGlobal;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.1.50",
3
+ "version": "0.1.55",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -168,6 +168,11 @@ export class ContractReader implements IContractReader {
168
168
  params?: { [key: string]: any } | any[]
169
169
 
170
170
  }): Promise<RpcTypes.Filter> {
171
+
172
+ if (Array.isArray(abi) && abi.length === 1) {
173
+ return this.getLogsFilter(abi[0], options);
174
+ }
175
+
171
176
  let filters: Partial<RpcTypes.Filter> = {
172
177
  address: options.address,
173
178
  };
@@ -227,9 +232,15 @@ export class ContractReader implements IContractReader {
227
232
  abi.map($abiUtils.getTopicSignature)
228
233
  ];
229
234
  if (options.params != null) {
230
- let paramsArr = $require.Array(options.params, `Multiple Logs are being requested. The params should be an array. `);
231
235
  let abiInputsArr = abi.map(x => x.inputs.filter(i => i.indexed));
236
+
237
+ let paramsArr = Array.isArray(options.params) === false
238
+ ? [options.params]
239
+ : options.params;
240
+
232
241
  let inputsMax = alot(abiInputsArr).max(x => x.length);
242
+ $require.gt(inputsMax, 0, `The ABI ${abi[0].name} has no indexed arguments.`);
243
+
233
244
  for (let i = 0; i < inputsMax; i++) {
234
245
  let options = [];
235
246
  for (let j = 0; j < abiInputsArr.length; j++) {