@leofcoin/chain 1.7.27 → 1.7.29

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.
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs } from './node-browser-By4Fowr9.js';
1
+ import { g as getDefaultExportFromCjs } from './node-browser-D_OVxIm6.js';
2
2
  import './index-XTbRdu6H.js';
3
3
 
4
4
  var global;
@@ -187,23 +187,22 @@ class BrowerStore {
187
187
  }
188
188
  (await writeable).write(this.toKeyValue(value));
189
189
  (await writeable).close();
190
+ this.runQueue();
190
191
  resolve(true);
191
- if (this.queue.length > 0 && !this.busy) {
192
- this.runQueue();
193
- }
194
192
  });
195
193
  this.queue.push(promise);
196
194
  this.runQueue();
197
195
  return promise;
198
196
  }
199
197
  async runQueue() {
200
- if (this.queue.length > 0) {
198
+ if (this.queue.length > 0 && !this.busy) {
201
199
  this.busy = true;
202
200
  const next = this.queue.shift();
203
201
  await next();
202
+ this.busy = false;
204
203
  return this.runQueue();
205
204
  }
206
- else {
205
+ else if (this.queue.length === 0 && this.busy) {
207
206
  this.busy = false;
208
207
  }
209
208
  }
@@ -3292,26 +3292,43 @@ class Machine {
3292
3292
  const value = await this.#askWorker('get', { contract, method: 'state', params: [] });
3293
3293
  state[contract] = value;
3294
3294
  }));
3295
- let accounts;
3295
+ let accounts = {};
3296
3296
  try {
3297
- accounts = await Promise.all((await accountsStore.keys()).map((address) => accountsStore.get(address)));
3297
+ const promises = [];
3298
+ for (const address of await accountsStore.keys()) {
3299
+ promises.push(async () => {
3300
+ accounts[address] = await accountsStore.get(address);
3301
+ });
3302
+ }
3303
+ await Promise.all(promises);
3298
3304
  }
3299
3305
  catch (error) {
3300
- accounts = [];
3306
+ const promises = [];
3307
+ // no accounts found local, try to reconstruct from transactions
3308
+ for (const transaction of transactions.reverse()) {
3309
+ const { from, to, amount, nonce } = transaction.decoded.data;
3310
+ if (!accounts[from]) {
3311
+ accounts[from] = nonce;
3312
+ promises.push(async () => {
3313
+ await accountsStore.put(from, nonce);
3314
+ });
3315
+ }
3316
+ }
3317
+ await Promise.all(promises);
3301
3318
  }
3302
3319
  const tasks = [
3303
3320
  stateStore.put('lastBlock', JSON.stringify(await this.lastBlock)),
3304
3321
  stateStore.put('states', JSON.stringify(state)),
3305
3322
  stateStore.put('accounts', JSON.stringify(accounts)),
3306
3323
  stateStore.put('info', JSON.stringify({
3307
- nativeCalls: this.nativeCalls,
3308
- nativeMints: this.nativeMints,
3309
- nativeBurns: this.nativeBurns,
3310
- nativeTransfers: this.nativeTransfers,
3311
- totalTransactions: this.totalTransactions,
3312
- totalBurnAmount: this.totalBurnAmount,
3313
- totalMintAmount: this.totalMintAmount,
3314
- totalTransferAmount: this.totalTransferAmount,
3324
+ nativeCalls: await this.nativeCalls,
3325
+ nativeMints: await this.nativeMints,
3326
+ nativeBurns: await this.nativeBurns,
3327
+ nativeTransfers: await this.nativeTransfers,
3328
+ totalTransactions: await this.totalTransactions,
3329
+ totalBurnAmount: await this.totalBurnAmount,
3330
+ totalMintAmount: await this.totalMintAmount,
3331
+ totalTransferAmount: await this.totalTransferAmount,
3315
3332
  totalBlocks: await blockStore.length
3316
3333
  }))
3317
3334
  // accountsStore.clear()
@@ -1,4 +1,4 @@
1
- import { L as LittlePubSub } from './node-browser-By4Fowr9.js';
1
+ import { L as LittlePubSub } from './node-browser-D_OVxIm6.js';
2
2
  import './index-XTbRdu6H.js';
3
3
 
4
4
  class Api {
@@ -206,7 +206,7 @@ class SocketRequestClient {
206
206
  const init = async () => {
207
207
  // @ts-ignore
208
208
  if (!globalThis.WebSocket)
209
- globalThis.WebSocket = (await import('./browser-P2HFBJsB-D1PEhFyZ.js').then(function (n) { return n.b; })).default.w3cwebsocket;
209
+ globalThis.WebSocket = (await import('./browser-WUe24rfW-DADoCQbN.js').then(function (n) { return n.b; })).default.w3cwebsocket;
210
210
  const client = new WebSocket(this.#url, this.#protocol);
211
211
  client.onmessage = this.onmessage;
212
212
  client.onerror = this.onerror;
@@ -280,7 +280,7 @@ const iceServers = [
280
280
  credential: 'openrelayproject'
281
281
  }
282
282
  ];
283
- const SimplePeer = (await import('./index-00QxgDks-D31Jchhm.js').then(function (n) { return n.i; })).default;
283
+ const SimplePeer = (await import('./index-In1Jzp-v-k_wpCs2M.js').then(function (n) { return n.i; })).default;
284
284
  class Peer extends SimplePeer {
285
285
  peerId;
286
286
  channelName;
@@ -1,4 +1,4 @@
1
- import { i as inherits_browserExports, c as commonjsGlobal, g as getDefaultExportFromCjs, r as require$$3 } from './node-browser-By4Fowr9.js';
1
+ import { i as inherits_browserExports, c as commonjsGlobal, g as getDefaultExportFromCjs, r as require$$3 } from './node-browser-D_OVxIm6.js';
2
2
  import './index-XTbRdu6H.js';
3
3
 
4
4
  var browser$2 = {exports: {}};
@@ -3215,497 +3215,483 @@ var readableBrowser = {exports: {}};
3215
3215
 
3216
3216
  var events = {exports: {}};
3217
3217
 
3218
- var hasRequiredEvents;
3219
-
3220
- function requireEvents () {
3221
- if (hasRequiredEvents) return events.exports;
3222
- hasRequiredEvents = 1;
3223
-
3224
- var R = typeof Reflect === 'object' ? Reflect : null;
3225
- var ReflectApply = R && typeof R.apply === 'function'
3226
- ? R.apply
3227
- : function ReflectApply(target, receiver, args) {
3228
- return Function.prototype.apply.call(target, receiver, args);
3229
- };
3218
+ var R = typeof Reflect === 'object' ? Reflect : null;
3219
+ var ReflectApply = R && typeof R.apply === 'function'
3220
+ ? R.apply
3221
+ : function ReflectApply(target, receiver, args) {
3222
+ return Function.prototype.apply.call(target, receiver, args);
3223
+ };
3230
3224
 
3231
- var ReflectOwnKeys;
3232
- if (R && typeof R.ownKeys === 'function') {
3233
- ReflectOwnKeys = R.ownKeys;
3234
- } else if (Object.getOwnPropertySymbols) {
3235
- ReflectOwnKeys = function ReflectOwnKeys(target) {
3236
- return Object.getOwnPropertyNames(target)
3237
- .concat(Object.getOwnPropertySymbols(target));
3238
- };
3239
- } else {
3240
- ReflectOwnKeys = function ReflectOwnKeys(target) {
3241
- return Object.getOwnPropertyNames(target);
3242
- };
3243
- }
3225
+ var ReflectOwnKeys;
3226
+ if (R && typeof R.ownKeys === 'function') {
3227
+ ReflectOwnKeys = R.ownKeys;
3228
+ } else if (Object.getOwnPropertySymbols) {
3229
+ ReflectOwnKeys = function ReflectOwnKeys(target) {
3230
+ return Object.getOwnPropertyNames(target)
3231
+ .concat(Object.getOwnPropertySymbols(target));
3232
+ };
3233
+ } else {
3234
+ ReflectOwnKeys = function ReflectOwnKeys(target) {
3235
+ return Object.getOwnPropertyNames(target);
3236
+ };
3237
+ }
3244
3238
 
3245
- function ProcessEmitWarning(warning) {
3246
- if (console && console.warn) console.warn(warning);
3247
- }
3239
+ function ProcessEmitWarning(warning) {
3240
+ if (console && console.warn) console.warn(warning);
3241
+ }
3248
3242
 
3249
- var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
3250
- return value !== value;
3251
- };
3243
+ var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
3244
+ return value !== value;
3245
+ };
3252
3246
 
3253
- function EventEmitter() {
3254
- EventEmitter.init.call(this);
3255
- }
3256
- events.exports = EventEmitter;
3257
- events.exports.once = once;
3247
+ function EventEmitter() {
3248
+ EventEmitter.init.call(this);
3249
+ }
3250
+ events.exports = EventEmitter;
3251
+ events.exports.once = once$2;
3258
3252
 
3259
- // Backwards-compat with node 0.10.x
3260
- EventEmitter.EventEmitter = EventEmitter;
3253
+ // Backwards-compat with node 0.10.x
3254
+ EventEmitter.EventEmitter = EventEmitter;
3261
3255
 
3262
- EventEmitter.prototype._events = undefined;
3263
- EventEmitter.prototype._eventsCount = 0;
3264
- EventEmitter.prototype._maxListeners = undefined;
3256
+ EventEmitter.prototype._events = undefined;
3257
+ EventEmitter.prototype._eventsCount = 0;
3258
+ EventEmitter.prototype._maxListeners = undefined;
3265
3259
 
3266
- // By default EventEmitters will print a warning if more than 10 listeners are
3267
- // added to it. This is a useful default which helps finding memory leaks.
3268
- var defaultMaxListeners = 10;
3260
+ // By default EventEmitters will print a warning if more than 10 listeners are
3261
+ // added to it. This is a useful default which helps finding memory leaks.
3262
+ var defaultMaxListeners = 10;
3269
3263
 
3270
- function checkListener(listener) {
3271
- if (typeof listener !== 'function') {
3272
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
3273
- }
3274
- }
3264
+ function checkListener(listener) {
3265
+ if (typeof listener !== 'function') {
3266
+ throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
3267
+ }
3268
+ }
3275
3269
 
3276
- Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
3277
- enumerable: true,
3278
- get: function() {
3279
- return defaultMaxListeners;
3280
- },
3281
- set: function(arg) {
3282
- if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
3283
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
3284
- }
3285
- defaultMaxListeners = arg;
3286
- }
3287
- });
3270
+ Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
3271
+ enumerable: true,
3272
+ get: function() {
3273
+ return defaultMaxListeners;
3274
+ },
3275
+ set: function(arg) {
3276
+ if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
3277
+ throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
3278
+ }
3279
+ defaultMaxListeners = arg;
3280
+ }
3281
+ });
3288
3282
 
3289
- EventEmitter.init = function() {
3283
+ EventEmitter.init = function() {
3290
3284
 
3291
- if (this._events === undefined ||
3292
- this._events === Object.getPrototypeOf(this)._events) {
3293
- this._events = Object.create(null);
3294
- this._eventsCount = 0;
3295
- }
3285
+ if (this._events === undefined ||
3286
+ this._events === Object.getPrototypeOf(this)._events) {
3287
+ this._events = Object.create(null);
3288
+ this._eventsCount = 0;
3289
+ }
3296
3290
 
3297
- this._maxListeners = this._maxListeners || undefined;
3298
- };
3291
+ this._maxListeners = this._maxListeners || undefined;
3292
+ };
3299
3293
 
3300
- // Obviously not all Emitters should be limited to 10. This function allows
3301
- // that to be increased. Set to zero for unlimited.
3302
- EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
3303
- if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
3304
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
3305
- }
3306
- this._maxListeners = n;
3307
- return this;
3308
- };
3294
+ // Obviously not all Emitters should be limited to 10. This function allows
3295
+ // that to be increased. Set to zero for unlimited.
3296
+ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
3297
+ if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
3298
+ throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
3299
+ }
3300
+ this._maxListeners = n;
3301
+ return this;
3302
+ };
3309
3303
 
3310
- function _getMaxListeners(that) {
3311
- if (that._maxListeners === undefined)
3312
- return EventEmitter.defaultMaxListeners;
3313
- return that._maxListeners;
3314
- }
3304
+ function _getMaxListeners(that) {
3305
+ if (that._maxListeners === undefined)
3306
+ return EventEmitter.defaultMaxListeners;
3307
+ return that._maxListeners;
3308
+ }
3315
3309
 
3316
- EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
3317
- return _getMaxListeners(this);
3318
- };
3310
+ EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
3311
+ return _getMaxListeners(this);
3312
+ };
3319
3313
 
3320
- EventEmitter.prototype.emit = function emit(type) {
3321
- var args = [];
3322
- for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
3323
- var doError = (type === 'error');
3314
+ EventEmitter.prototype.emit = function emit(type) {
3315
+ var args = [];
3316
+ for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
3317
+ var doError = (type === 'error');
3324
3318
 
3325
- var events = this._events;
3326
- if (events !== undefined)
3327
- doError = (doError && events.error === undefined);
3328
- else if (!doError)
3329
- return false;
3319
+ var events = this._events;
3320
+ if (events !== undefined)
3321
+ doError = (doError && events.error === undefined);
3322
+ else if (!doError)
3323
+ return false;
3330
3324
 
3331
- // If there is no 'error' event listener then throw.
3332
- if (doError) {
3333
- var er;
3334
- if (args.length > 0)
3335
- er = args[0];
3336
- if (er instanceof Error) {
3337
- // Note: The comments on the `throw` lines are intentional, they show
3338
- // up in Node's output if this results in an unhandled exception.
3339
- throw er; // Unhandled 'error' event
3340
- }
3341
- // At least give some kind of context to the user
3342
- var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
3343
- err.context = er;
3344
- throw err; // Unhandled 'error' event
3345
- }
3325
+ // If there is no 'error' event listener then throw.
3326
+ if (doError) {
3327
+ var er;
3328
+ if (args.length > 0)
3329
+ er = args[0];
3330
+ if (er instanceof Error) {
3331
+ // Note: The comments on the `throw` lines are intentional, they show
3332
+ // up in Node's output if this results in an unhandled exception.
3333
+ throw er; // Unhandled 'error' event
3334
+ }
3335
+ // At least give some kind of context to the user
3336
+ var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
3337
+ err.context = er;
3338
+ throw err; // Unhandled 'error' event
3339
+ }
3346
3340
 
3347
- var handler = events[type];
3341
+ var handler = events[type];
3348
3342
 
3349
- if (handler === undefined)
3350
- return false;
3343
+ if (handler === undefined)
3344
+ return false;
3351
3345
 
3352
- if (typeof handler === 'function') {
3353
- ReflectApply(handler, this, args);
3354
- } else {
3355
- var len = handler.length;
3356
- var listeners = arrayClone(handler, len);
3357
- for (var i = 0; i < len; ++i)
3358
- ReflectApply(listeners[i], this, args);
3359
- }
3346
+ if (typeof handler === 'function') {
3347
+ ReflectApply(handler, this, args);
3348
+ } else {
3349
+ var len = handler.length;
3350
+ var listeners = arrayClone(handler, len);
3351
+ for (var i = 0; i < len; ++i)
3352
+ ReflectApply(listeners[i], this, args);
3353
+ }
3360
3354
 
3361
- return true;
3362
- };
3355
+ return true;
3356
+ };
3363
3357
 
3364
- function _addListener(target, type, listener, prepend) {
3365
- var m;
3366
- var events;
3367
- var existing;
3358
+ function _addListener(target, type, listener, prepend) {
3359
+ var m;
3360
+ var events;
3361
+ var existing;
3368
3362
 
3369
- checkListener(listener);
3363
+ checkListener(listener);
3370
3364
 
3371
- events = target._events;
3372
- if (events === undefined) {
3373
- events = target._events = Object.create(null);
3374
- target._eventsCount = 0;
3375
- } else {
3376
- // To avoid recursion in the case that type === "newListener"! Before
3377
- // adding it to the listeners, first emit "newListener".
3378
- if (events.newListener !== undefined) {
3379
- target.emit('newListener', type,
3380
- listener.listener ? listener.listener : listener);
3381
-
3382
- // Re-assign `events` because a newListener handler could have caused the
3383
- // this._events to be assigned to a new object
3384
- events = target._events;
3385
- }
3386
- existing = events[type];
3387
- }
3365
+ events = target._events;
3366
+ if (events === undefined) {
3367
+ events = target._events = Object.create(null);
3368
+ target._eventsCount = 0;
3369
+ } else {
3370
+ // To avoid recursion in the case that type === "newListener"! Before
3371
+ // adding it to the listeners, first emit "newListener".
3372
+ if (events.newListener !== undefined) {
3373
+ target.emit('newListener', type,
3374
+ listener.listener ? listener.listener : listener);
3375
+
3376
+ // Re-assign `events` because a newListener handler could have caused the
3377
+ // this._events to be assigned to a new object
3378
+ events = target._events;
3379
+ }
3380
+ existing = events[type];
3381
+ }
3388
3382
 
3389
- if (existing === undefined) {
3390
- // Optimize the case of one listener. Don't need the extra array object.
3391
- existing = events[type] = listener;
3392
- ++target._eventsCount;
3393
- } else {
3394
- if (typeof existing === 'function') {
3395
- // Adding the second element, need to change to array.
3396
- existing = events[type] =
3397
- prepend ? [listener, existing] : [existing, listener];
3398
- // If we've already got an array, just append.
3399
- } else if (prepend) {
3400
- existing.unshift(listener);
3401
- } else {
3402
- existing.push(listener);
3403
- }
3383
+ if (existing === undefined) {
3384
+ // Optimize the case of one listener. Don't need the extra array object.
3385
+ existing = events[type] = listener;
3386
+ ++target._eventsCount;
3387
+ } else {
3388
+ if (typeof existing === 'function') {
3389
+ // Adding the second element, need to change to array.
3390
+ existing = events[type] =
3391
+ prepend ? [listener, existing] : [existing, listener];
3392
+ // If we've already got an array, just append.
3393
+ } else if (prepend) {
3394
+ existing.unshift(listener);
3395
+ } else {
3396
+ existing.push(listener);
3397
+ }
3404
3398
 
3405
- // Check for listener leak
3406
- m = _getMaxListeners(target);
3407
- if (m > 0 && existing.length > m && !existing.warned) {
3408
- existing.warned = true;
3409
- // No error code for this since it is a Warning
3410
- // eslint-disable-next-line no-restricted-syntax
3411
- var w = new Error('Possible EventEmitter memory leak detected. ' +
3412
- existing.length + ' ' + String(type) + ' listeners ' +
3413
- 'added. Use emitter.setMaxListeners() to ' +
3414
- 'increase limit');
3415
- w.name = 'MaxListenersExceededWarning';
3416
- w.emitter = target;
3417
- w.type = type;
3418
- w.count = existing.length;
3419
- ProcessEmitWarning(w);
3420
- }
3421
- }
3399
+ // Check for listener leak
3400
+ m = _getMaxListeners(target);
3401
+ if (m > 0 && existing.length > m && !existing.warned) {
3402
+ existing.warned = true;
3403
+ // No error code for this since it is a Warning
3404
+ // eslint-disable-next-line no-restricted-syntax
3405
+ var w = new Error('Possible EventEmitter memory leak detected. ' +
3406
+ existing.length + ' ' + String(type) + ' listeners ' +
3407
+ 'added. Use emitter.setMaxListeners() to ' +
3408
+ 'increase limit');
3409
+ w.name = 'MaxListenersExceededWarning';
3410
+ w.emitter = target;
3411
+ w.type = type;
3412
+ w.count = existing.length;
3413
+ ProcessEmitWarning(w);
3414
+ }
3415
+ }
3422
3416
 
3423
- return target;
3424
- }
3417
+ return target;
3418
+ }
3425
3419
 
3426
- EventEmitter.prototype.addListener = function addListener(type, listener) {
3427
- return _addListener(this, type, listener, false);
3428
- };
3420
+ EventEmitter.prototype.addListener = function addListener(type, listener) {
3421
+ return _addListener(this, type, listener, false);
3422
+ };
3429
3423
 
3430
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
3424
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
3431
3425
 
3432
- EventEmitter.prototype.prependListener =
3433
- function prependListener(type, listener) {
3434
- return _addListener(this, type, listener, true);
3435
- };
3426
+ EventEmitter.prototype.prependListener =
3427
+ function prependListener(type, listener) {
3428
+ return _addListener(this, type, listener, true);
3429
+ };
3436
3430
 
3437
- function onceWrapper() {
3438
- if (!this.fired) {
3439
- this.target.removeListener(this.type, this.wrapFn);
3440
- this.fired = true;
3441
- if (arguments.length === 0)
3442
- return this.listener.call(this.target);
3443
- return this.listener.apply(this.target, arguments);
3444
- }
3445
- }
3431
+ function onceWrapper() {
3432
+ if (!this.fired) {
3433
+ this.target.removeListener(this.type, this.wrapFn);
3434
+ this.fired = true;
3435
+ if (arguments.length === 0)
3436
+ return this.listener.call(this.target);
3437
+ return this.listener.apply(this.target, arguments);
3438
+ }
3439
+ }
3446
3440
 
3447
- function _onceWrap(target, type, listener) {
3448
- var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
3449
- var wrapped = onceWrapper.bind(state);
3450
- wrapped.listener = listener;
3451
- state.wrapFn = wrapped;
3452
- return wrapped;
3453
- }
3441
+ function _onceWrap(target, type, listener) {
3442
+ var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
3443
+ var wrapped = onceWrapper.bind(state);
3444
+ wrapped.listener = listener;
3445
+ state.wrapFn = wrapped;
3446
+ return wrapped;
3447
+ }
3454
3448
 
3455
- EventEmitter.prototype.once = function once(type, listener) {
3456
- checkListener(listener);
3457
- this.on(type, _onceWrap(this, type, listener));
3458
- return this;
3459
- };
3449
+ EventEmitter.prototype.once = function once(type, listener) {
3450
+ checkListener(listener);
3451
+ this.on(type, _onceWrap(this, type, listener));
3452
+ return this;
3453
+ };
3460
3454
 
3461
- EventEmitter.prototype.prependOnceListener =
3462
- function prependOnceListener(type, listener) {
3463
- checkListener(listener);
3464
- this.prependListener(type, _onceWrap(this, type, listener));
3465
- return this;
3466
- };
3455
+ EventEmitter.prototype.prependOnceListener =
3456
+ function prependOnceListener(type, listener) {
3457
+ checkListener(listener);
3458
+ this.prependListener(type, _onceWrap(this, type, listener));
3459
+ return this;
3460
+ };
3467
3461
 
3468
- // Emits a 'removeListener' event if and only if the listener was removed.
3469
- EventEmitter.prototype.removeListener =
3470
- function removeListener(type, listener) {
3471
- var list, events, position, i, originalListener;
3462
+ // Emits a 'removeListener' event if and only if the listener was removed.
3463
+ EventEmitter.prototype.removeListener =
3464
+ function removeListener(type, listener) {
3465
+ var list, events, position, i, originalListener;
3472
3466
 
3473
- checkListener(listener);
3467
+ checkListener(listener);
3474
3468
 
3475
- events = this._events;
3476
- if (events === undefined)
3477
- return this;
3469
+ events = this._events;
3470
+ if (events === undefined)
3471
+ return this;
3478
3472
 
3479
- list = events[type];
3480
- if (list === undefined)
3481
- return this;
3473
+ list = events[type];
3474
+ if (list === undefined)
3475
+ return this;
3482
3476
 
3483
- if (list === listener || list.listener === listener) {
3484
- if (--this._eventsCount === 0)
3485
- this._events = Object.create(null);
3486
- else {
3487
- delete events[type];
3488
- if (events.removeListener)
3489
- this.emit('removeListener', type, list.listener || listener);
3490
- }
3491
- } else if (typeof list !== 'function') {
3492
- position = -1;
3493
-
3494
- for (i = list.length - 1; i >= 0; i--) {
3495
- if (list[i] === listener || list[i].listener === listener) {
3496
- originalListener = list[i].listener;
3497
- position = i;
3498
- break;
3499
- }
3500
- }
3477
+ if (list === listener || list.listener === listener) {
3478
+ if (--this._eventsCount === 0)
3479
+ this._events = Object.create(null);
3480
+ else {
3481
+ delete events[type];
3482
+ if (events.removeListener)
3483
+ this.emit('removeListener', type, list.listener || listener);
3484
+ }
3485
+ } else if (typeof list !== 'function') {
3486
+ position = -1;
3487
+
3488
+ for (i = list.length - 1; i >= 0; i--) {
3489
+ if (list[i] === listener || list[i].listener === listener) {
3490
+ originalListener = list[i].listener;
3491
+ position = i;
3492
+ break;
3493
+ }
3494
+ }
3501
3495
 
3502
- if (position < 0)
3503
- return this;
3496
+ if (position < 0)
3497
+ return this;
3504
3498
 
3505
- if (position === 0)
3506
- list.shift();
3507
- else {
3508
- spliceOne(list, position);
3509
- }
3499
+ if (position === 0)
3500
+ list.shift();
3501
+ else {
3502
+ spliceOne(list, position);
3503
+ }
3510
3504
 
3511
- if (list.length === 1)
3512
- events[type] = list[0];
3505
+ if (list.length === 1)
3506
+ events[type] = list[0];
3513
3507
 
3514
- if (events.removeListener !== undefined)
3515
- this.emit('removeListener', type, originalListener || listener);
3516
- }
3508
+ if (events.removeListener !== undefined)
3509
+ this.emit('removeListener', type, originalListener || listener);
3510
+ }
3517
3511
 
3518
- return this;
3519
- };
3512
+ return this;
3513
+ };
3520
3514
 
3521
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
3522
-
3523
- EventEmitter.prototype.removeAllListeners =
3524
- function removeAllListeners(type) {
3525
- var listeners, events, i;
3526
-
3527
- events = this._events;
3528
- if (events === undefined)
3529
- return this;
3530
-
3531
- // not listening for removeListener, no need to emit
3532
- if (events.removeListener === undefined) {
3533
- if (arguments.length === 0) {
3534
- this._events = Object.create(null);
3535
- this._eventsCount = 0;
3536
- } else if (events[type] !== undefined) {
3537
- if (--this._eventsCount === 0)
3538
- this._events = Object.create(null);
3539
- else
3540
- delete events[type];
3541
- }
3542
- return this;
3543
- }
3515
+ EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
3516
+
3517
+ EventEmitter.prototype.removeAllListeners =
3518
+ function removeAllListeners(type) {
3519
+ var listeners, events, i;
3520
+
3521
+ events = this._events;
3522
+ if (events === undefined)
3523
+ return this;
3524
+
3525
+ // not listening for removeListener, no need to emit
3526
+ if (events.removeListener === undefined) {
3527
+ if (arguments.length === 0) {
3528
+ this._events = Object.create(null);
3529
+ this._eventsCount = 0;
3530
+ } else if (events[type] !== undefined) {
3531
+ if (--this._eventsCount === 0)
3532
+ this._events = Object.create(null);
3533
+ else
3534
+ delete events[type];
3535
+ }
3536
+ return this;
3537
+ }
3544
3538
 
3545
- // emit removeListener for all listeners on all events
3546
- if (arguments.length === 0) {
3547
- var keys = Object.keys(events);
3548
- var key;
3549
- for (i = 0; i < keys.length; ++i) {
3550
- key = keys[i];
3551
- if (key === 'removeListener') continue;
3552
- this.removeAllListeners(key);
3553
- }
3554
- this.removeAllListeners('removeListener');
3555
- this._events = Object.create(null);
3556
- this._eventsCount = 0;
3557
- return this;
3558
- }
3539
+ // emit removeListener for all listeners on all events
3540
+ if (arguments.length === 0) {
3541
+ var keys = Object.keys(events);
3542
+ var key;
3543
+ for (i = 0; i < keys.length; ++i) {
3544
+ key = keys[i];
3545
+ if (key === 'removeListener') continue;
3546
+ this.removeAllListeners(key);
3547
+ }
3548
+ this.removeAllListeners('removeListener');
3549
+ this._events = Object.create(null);
3550
+ this._eventsCount = 0;
3551
+ return this;
3552
+ }
3559
3553
 
3560
- listeners = events[type];
3554
+ listeners = events[type];
3561
3555
 
3562
- if (typeof listeners === 'function') {
3563
- this.removeListener(type, listeners);
3564
- } else if (listeners !== undefined) {
3565
- // LIFO order
3566
- for (i = listeners.length - 1; i >= 0; i--) {
3567
- this.removeListener(type, listeners[i]);
3568
- }
3569
- }
3556
+ if (typeof listeners === 'function') {
3557
+ this.removeListener(type, listeners);
3558
+ } else if (listeners !== undefined) {
3559
+ // LIFO order
3560
+ for (i = listeners.length - 1; i >= 0; i--) {
3561
+ this.removeListener(type, listeners[i]);
3562
+ }
3563
+ }
3570
3564
 
3571
- return this;
3572
- };
3565
+ return this;
3566
+ };
3573
3567
 
3574
- function _listeners(target, type, unwrap) {
3575
- var events = target._events;
3568
+ function _listeners(target, type, unwrap) {
3569
+ var events = target._events;
3576
3570
 
3577
- if (events === undefined)
3578
- return [];
3571
+ if (events === undefined)
3572
+ return [];
3579
3573
 
3580
- var evlistener = events[type];
3581
- if (evlistener === undefined)
3582
- return [];
3574
+ var evlistener = events[type];
3575
+ if (evlistener === undefined)
3576
+ return [];
3583
3577
 
3584
- if (typeof evlistener === 'function')
3585
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
3578
+ if (typeof evlistener === 'function')
3579
+ return unwrap ? [evlistener.listener || evlistener] : [evlistener];
3586
3580
 
3587
- return unwrap ?
3588
- unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
3589
- }
3581
+ return unwrap ?
3582
+ unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
3583
+ }
3590
3584
 
3591
- EventEmitter.prototype.listeners = function listeners(type) {
3592
- return _listeners(this, type, true);
3593
- };
3585
+ EventEmitter.prototype.listeners = function listeners(type) {
3586
+ return _listeners(this, type, true);
3587
+ };
3594
3588
 
3595
- EventEmitter.prototype.rawListeners = function rawListeners(type) {
3596
- return _listeners(this, type, false);
3597
- };
3589
+ EventEmitter.prototype.rawListeners = function rawListeners(type) {
3590
+ return _listeners(this, type, false);
3591
+ };
3598
3592
 
3599
- EventEmitter.listenerCount = function(emitter, type) {
3600
- if (typeof emitter.listenerCount === 'function') {
3601
- return emitter.listenerCount(type);
3602
- } else {
3603
- return listenerCount.call(emitter, type);
3604
- }
3605
- };
3593
+ EventEmitter.listenerCount = function(emitter, type) {
3594
+ if (typeof emitter.listenerCount === 'function') {
3595
+ return emitter.listenerCount(type);
3596
+ } else {
3597
+ return listenerCount.call(emitter, type);
3598
+ }
3599
+ };
3606
3600
 
3607
- EventEmitter.prototype.listenerCount = listenerCount;
3608
- function listenerCount(type) {
3609
- var events = this._events;
3601
+ EventEmitter.prototype.listenerCount = listenerCount;
3602
+ function listenerCount(type) {
3603
+ var events = this._events;
3610
3604
 
3611
- if (events !== undefined) {
3612
- var evlistener = events[type];
3605
+ if (events !== undefined) {
3606
+ var evlistener = events[type];
3613
3607
 
3614
- if (typeof evlistener === 'function') {
3615
- return 1;
3616
- } else if (evlistener !== undefined) {
3617
- return evlistener.length;
3618
- }
3619
- }
3608
+ if (typeof evlistener === 'function') {
3609
+ return 1;
3610
+ } else if (evlistener !== undefined) {
3611
+ return evlistener.length;
3612
+ }
3613
+ }
3620
3614
 
3621
- return 0;
3622
- }
3615
+ return 0;
3616
+ }
3623
3617
 
3624
- EventEmitter.prototype.eventNames = function eventNames() {
3625
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
3626
- };
3618
+ EventEmitter.prototype.eventNames = function eventNames() {
3619
+ return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
3620
+ };
3627
3621
 
3628
- function arrayClone(arr, n) {
3629
- var copy = new Array(n);
3630
- for (var i = 0; i < n; ++i)
3631
- copy[i] = arr[i];
3632
- return copy;
3633
- }
3622
+ function arrayClone(arr, n) {
3623
+ var copy = new Array(n);
3624
+ for (var i = 0; i < n; ++i)
3625
+ copy[i] = arr[i];
3626
+ return copy;
3627
+ }
3634
3628
 
3635
- function spliceOne(list, index) {
3636
- for (; index + 1 < list.length; index++)
3637
- list[index] = list[index + 1];
3638
- list.pop();
3639
- }
3629
+ function spliceOne(list, index) {
3630
+ for (; index + 1 < list.length; index++)
3631
+ list[index] = list[index + 1];
3632
+ list.pop();
3633
+ }
3640
3634
 
3641
- function unwrapListeners(arr) {
3642
- var ret = new Array(arr.length);
3643
- for (var i = 0; i < ret.length; ++i) {
3644
- ret[i] = arr[i].listener || arr[i];
3645
- }
3646
- return ret;
3647
- }
3635
+ function unwrapListeners(arr) {
3636
+ var ret = new Array(arr.length);
3637
+ for (var i = 0; i < ret.length; ++i) {
3638
+ ret[i] = arr[i].listener || arr[i];
3639
+ }
3640
+ return ret;
3641
+ }
3648
3642
 
3649
- function once(emitter, name) {
3650
- return new Promise(function (resolve, reject) {
3651
- function errorListener(err) {
3652
- emitter.removeListener(name, resolver);
3653
- reject(err);
3654
- }
3643
+ function once$2(emitter, name) {
3644
+ return new Promise(function (resolve, reject) {
3645
+ function errorListener(err) {
3646
+ emitter.removeListener(name, resolver);
3647
+ reject(err);
3648
+ }
3655
3649
 
3656
- function resolver() {
3657
- if (typeof emitter.removeListener === 'function') {
3658
- emitter.removeListener('error', errorListener);
3659
- }
3660
- resolve([].slice.call(arguments));
3661
- }
3662
- eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
3663
- if (name !== 'error') {
3664
- addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
3665
- }
3666
- });
3667
- }
3650
+ function resolver() {
3651
+ if (typeof emitter.removeListener === 'function') {
3652
+ emitter.removeListener('error', errorListener);
3653
+ }
3654
+ resolve([].slice.call(arguments));
3655
+ }
3656
+ eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
3657
+ if (name !== 'error') {
3658
+ addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
3659
+ }
3660
+ });
3661
+ }
3668
3662
 
3669
- function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
3670
- if (typeof emitter.on === 'function') {
3671
- eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
3672
- }
3673
- }
3663
+ function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
3664
+ if (typeof emitter.on === 'function') {
3665
+ eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
3666
+ }
3667
+ }
3674
3668
 
3675
- function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
3676
- if (typeof emitter.on === 'function') {
3677
- if (flags.once) {
3678
- emitter.once(name, listener);
3679
- } else {
3680
- emitter.on(name, listener);
3681
- }
3682
- } else if (typeof emitter.addEventListener === 'function') {
3683
- // EventTarget does not have `error` event semantics like Node
3684
- // EventEmitters, we do not listen for `error` events here.
3685
- emitter.addEventListener(name, function wrapListener(arg) {
3686
- // IE does not have builtin `{ once: true }` support so we
3687
- // have to do it manually.
3688
- if (flags.once) {
3689
- emitter.removeEventListener(name, wrapListener);
3690
- }
3691
- listener(arg);
3692
- });
3693
- } else {
3694
- throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
3695
- }
3696
- }
3697
- return events.exports;
3669
+ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
3670
+ if (typeof emitter.on === 'function') {
3671
+ if (flags.once) {
3672
+ emitter.once(name, listener);
3673
+ } else {
3674
+ emitter.on(name, listener);
3675
+ }
3676
+ } else if (typeof emitter.addEventListener === 'function') {
3677
+ // EventTarget does not have `error` event semantics like Node
3678
+ // EventEmitters, we do not listen for `error` events here.
3679
+ emitter.addEventListener(name, function wrapListener(arg) {
3680
+ // IE does not have builtin `{ once: true }` support so we
3681
+ // have to do it manually.
3682
+ if (flags.once) {
3683
+ emitter.removeEventListener(name, wrapListener);
3684
+ }
3685
+ listener(arg);
3686
+ });
3687
+ } else {
3688
+ throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
3689
+ }
3698
3690
  }
3699
3691
 
3700
- var streamBrowser;
3701
- var hasRequiredStreamBrowser;
3692
+ var eventsExports = events.exports;
3702
3693
 
3703
- function requireStreamBrowser () {
3704
- if (hasRequiredStreamBrowser) return streamBrowser;
3705
- hasRequiredStreamBrowser = 1;
3706
- streamBrowser = requireEvents().EventEmitter;
3707
- return streamBrowser;
3708
- }
3694
+ var streamBrowser = eventsExports.EventEmitter;
3709
3695
 
3710
3696
  var buffer_list;
3711
3697
  var hasRequiredBuffer_list;
@@ -4243,7 +4229,7 @@ function require_stream_writable () {
4243
4229
  /*</replacement>*/
4244
4230
 
4245
4231
  /*<replacement>*/
4246
- var Stream = requireStreamBrowser();
4232
+ var Stream = streamBrowser;
4247
4233
  /*</replacement>*/
4248
4234
 
4249
4235
  var Buffer = buffer.Buffer;
@@ -5514,14 +5500,14 @@ function require_stream_readable () {
5514
5500
  Readable.ReadableState = ReadableState;
5515
5501
 
5516
5502
  /*<replacement>*/
5517
- requireEvents().EventEmitter;
5503
+ eventsExports.EventEmitter;
5518
5504
  var EElistenerCount = function EElistenerCount(emitter, type) {
5519
5505
  return emitter.listeners(type).length;
5520
5506
  };
5521
5507
  /*</replacement>*/
5522
5508
 
5523
5509
  /*<replacement>*/
5524
- var Stream = requireStreamBrowser();
5510
+ var Stream = streamBrowser;
5525
5511
  /*</replacement>*/
5526
5512
 
5527
5513
  var Buffer = buffer.Buffer;
@@ -1,4 +1,4 @@
1
- import { M as MultiWallet, e as encrypt, b as base58$1 } from './node-browser-By4Fowr9.js';
1
+ import { M as MultiWallet, e as encrypt, b as base58$1 } from './node-browser-D_OVxIm6.js';
2
2
  import './index-XTbRdu6H.js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { F as FormatInterface } from './node-browser-By4Fowr9.js';
1
+ import { F as FormatInterface } from './node-browser-D_OVxIm6.js';
2
2
  import './index-XTbRdu6H.js';
3
3
 
4
4
  var proto$b = {
@@ -27208,7 +27208,7 @@ class Identity {
27208
27208
  this.selectedAccount = new TextDecoder().decode(selected);
27209
27209
  }
27210
27210
  else {
27211
- const importee = await import(/* webpackChunkName: "generate-account" */ './index-fC0k-d_O-DQ-T8zrg.js');
27211
+ const importee = await import(/* webpackChunkName: "generate-account" */ './index-sw14JvKD-Bt1IbdaP.js');
27212
27212
  const { identity, accounts } = await importee.default(password, this.network);
27213
27213
  await globalThis.accountStore.put('public', JSON.stringify({ walletId: identity.walletId }));
27214
27214
  await globalThis.walletStore.put('version', String(1));
@@ -27400,7 +27400,7 @@ class Peernet {
27400
27400
  this.root = options.root;
27401
27401
  const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile
27402
27402
  // FolderMessageResponse
27403
- } = await import(/* webpackChunkName: "messages" */ './messages-rdtq6jgH-Cpp_3cR4.js');
27403
+ } = await import(/* webpackChunkName: "messages" */ './messages-lzTD4EMU-9sp08uR5.js');
27404
27404
  /**
27405
27405
  * proto Object containing protos
27406
27406
  * @type {Object}
@@ -27494,7 +27494,7 @@ class Peernet {
27494
27494
  if (this.#starting || this.#started)
27495
27495
  return;
27496
27496
  this.#starting = true;
27497
- const importee = await import('./client-5mPwJbpC-DcusxC0q.js');
27497
+ const importee = await import('./client-I9x7CFr1-C021SRFJ.js');
27498
27498
  /**
27499
27499
  * @access public
27500
27500
  * @type {PeernetClient}
@@ -27563,18 +27563,26 @@ class Peernet {
27563
27563
  async handleData(peer, id, proto) {
27564
27564
  let { hash, store } = proto.decoded;
27565
27565
  let data;
27566
- store = globalThis[`${store}Store`] || (await this.whichStore([...this.stores], hash));
27567
- if (store && !store.private) {
27568
- data = await store.get(hash);
27569
- if (data) {
27570
- data = await new globalThis.peernet.protos['peernet-data-response']({
27571
- hash,
27572
- data
27573
- });
27574
- const node = await this.prepareMessage(data);
27575
- this.sendMessage(peer, id, node.encoded);
27566
+ try {
27567
+ store = globalThis[`${store}Store`] || (await this.whichStore([...this.stores], hash));
27568
+ if (store && !store.private) {
27569
+ data = await store.get(hash);
27570
+ if (data) {
27571
+ data = await new globalThis.peernet.protos['peernet-data-response']({
27572
+ hash,
27573
+ data
27574
+ });
27575
+ const node = await this.prepareMessage(data);
27576
+ this.sendMessage(peer, id, node.encoded);
27577
+ }
27578
+ }
27579
+ else {
27580
+ // ban (trying to access private st)
27576
27581
  }
27577
27582
  }
27583
+ catch (error) {
27584
+ return this.requestData(hash, store);
27585
+ }
27578
27586
  }
27579
27587
  async handleRequest(peer, id, proto) {
27580
27588
  const method = this.requestProtos[proto.decoded.request];
@@ -1,2 +1,2 @@
1
- export { N as default } from './node-browser-By4Fowr9.js';
1
+ export { N as default } from './node-browser-D_OVxIm6.js';
2
2
  import './index-XTbRdu6H.js';
package/exports/chain.js CHANGED
@@ -393,26 +393,43 @@ class Machine {
393
393
  const value = await this.#askWorker('get', { contract, method: 'state', params: [] });
394
394
  state[contract] = value;
395
395
  }));
396
- let accounts;
396
+ let accounts = {};
397
397
  try {
398
- accounts = await Promise.all((await accountsStore.keys()).map((address) => accountsStore.get(address)));
398
+ const promises = [];
399
+ for (const address of await accountsStore.keys()) {
400
+ promises.push(async () => {
401
+ accounts[address] = await accountsStore.get(address);
402
+ });
403
+ }
404
+ await Promise.all(promises);
399
405
  }
400
406
  catch (error) {
401
- accounts = [];
407
+ const promises = [];
408
+ // no accounts found local, try to reconstruct from transactions
409
+ for (const transaction of transactions.reverse()) {
410
+ const { from, to, amount, nonce } = transaction.decoded.data;
411
+ if (!accounts[from]) {
412
+ accounts[from] = nonce;
413
+ promises.push(async () => {
414
+ await accountsStore.put(from, nonce);
415
+ });
416
+ }
417
+ }
418
+ await Promise.all(promises);
402
419
  }
403
420
  const tasks = [
404
421
  stateStore.put('lastBlock', JSON.stringify(await this.lastBlock)),
405
422
  stateStore.put('states', JSON.stringify(state)),
406
423
  stateStore.put('accounts', JSON.stringify(accounts)),
407
424
  stateStore.put('info', JSON.stringify({
408
- nativeCalls: this.nativeCalls,
409
- nativeMints: this.nativeMints,
410
- nativeBurns: this.nativeBurns,
411
- nativeTransfers: this.nativeTransfers,
412
- totalTransactions: this.totalTransactions,
413
- totalBurnAmount: this.totalBurnAmount,
414
- totalMintAmount: this.totalMintAmount,
415
- totalTransferAmount: this.totalTransferAmount,
425
+ nativeCalls: await this.nativeCalls,
426
+ nativeMints: await this.nativeMints,
427
+ nativeBurns: await this.nativeBurns,
428
+ nativeTransfers: await this.nativeTransfers,
429
+ totalTransactions: await this.totalTransactions,
430
+ totalBurnAmount: await this.totalBurnAmount,
431
+ totalMintAmount: await this.totalMintAmount,
432
+ totalTransferAmount: await this.totalTransferAmount,
416
433
  totalBlocks: await blockStore.length
417
434
  }))
418
435
  // accountsStore.clear()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leofcoin/chain",
3
- "version": "1.7.27",
3
+ "version": "1.7.29",
4
4
  "description": "Official javascript implementation",
5
5
  "private": false,
6
6
  "exports": {
@@ -56,26 +56,26 @@
56
56
  "@rollup/plugin-typescript": "^11.1.6",
57
57
  "@types/semver": "^7.5.8",
58
58
  "@vandeurenglenn/debug": "^1.2.5",
59
- "rollup": "^4.18.1",
59
+ "rollup": "^4.21.0",
60
60
  "rollup-plugin-modify": "^3.0.0",
61
61
  "tape": "^5.8.1",
62
62
  "tslib": "^2.6.3"
63
63
  },
64
64
  "dependencies": {
65
- "@leofcoin/addresses": "^1.0.23",
66
- "@leofcoin/contracts": "^0.1.11",
65
+ "@leofcoin/addresses": "^1.0.24",
66
+ "@leofcoin/contracts": "^0.1.12",
67
67
  "@leofcoin/crypto": "^0.2.12",
68
68
  "@leofcoin/errors": "^1.0.7",
69
- "@leofcoin/lib": "^1.2.43",
69
+ "@leofcoin/lib": "^1.2.44",
70
70
  "@leofcoin/messages": "^1.4.15",
71
71
  "@leofcoin/multi-wallet": "^3.1.8",
72
72
  "@leofcoin/networks": "^1.1.6",
73
- "@leofcoin/peernet": "^1.1.78",
74
- "@leofcoin/storage": "^3.5.28",
73
+ "@leofcoin/peernet": "^1.1.79",
74
+ "@leofcoin/storage": "^3.5.30",
75
75
  "@leofcoin/utils": "^1.1.18",
76
76
  "@leofcoin/workers": "^1.5.2",
77
77
  "@vandeurenglenn/base58": "^1.1.9",
78
78
  "@vandeurenglenn/easy-worker": "^1.0.2",
79
- "semver": "^7.6.2"
79
+ "semver": "^7.6.3"
80
80
  }
81
81
  }