@leofcoin/chain 1.4.49 → 1.4.51

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.
@@ -5246,188 +5246,195 @@ new Mutex();
5246
5246
 
5247
5247
  new Mutex();
5248
5248
 
5249
- const blockchainCodecs = [
5250
- {
5251
- name: 'leofcoin-block',
5252
- codec: '0x6c62',
5253
- hashAlg: 'dbl-keccak-512',
5254
- },
5255
- {
5256
- name: 'leofcoin-tx',
5257
- codec: '0x6c74',
5258
- hashAlg: 'dbl-keccak-512',
5259
- },
5260
- {
5261
- name: 'leofcoin-itx',
5262
- codec: '0x6c69',
5263
- hashAlg: 'keccak-512',
5264
- },
5265
- {
5266
- name: 'leofcoin-pr',
5267
- codec: '0x6c70',
5268
- hashAlg: 'keccak-256',
5269
- },
5270
- {
5271
- name: 'contract-message',
5272
- codec: '0x63636d',
5273
- hashAlg: 'keccak-256'
5274
- },
5275
- {
5276
- name: 'transaction-message',
5277
- codec: '0x746d',
5278
- hashAlg: 'keccak-256'
5279
- },
5280
- {
5281
- name: 'block-message',
5282
- codec: '0x626d',
5283
- hashAlg: 'keccak-256'
5284
- },
5285
- {
5286
- name: 'bw-message',
5287
- codec: '0x62776d',
5288
- hashAlg: 'keccak-256'
5289
- },
5290
- {
5291
- name: 'bw-request-message',
5292
- codec: '0x6277726d',
5293
- hashAlg: 'keccak-256'
5294
- },
5295
- {
5296
- name: 'validator-message',
5297
- codec: '0x766d',
5298
- hashAlg: 'keccak-256'
5299
- }
5249
+ const blockchainCodecs = [
5250
+ {
5251
+ name: 'leofcoin-block',
5252
+ codec: '0x6c62',
5253
+ hashAlg: 'dbl-keccak-512',
5254
+ },
5255
+ {
5256
+ name: 'leofcoin-tx',
5257
+ codec: '0x6c74',
5258
+ hashAlg: 'dbl-keccak-512',
5259
+ },
5260
+ {
5261
+ name: 'leofcoin-itx',
5262
+ codec: '0x6c69',
5263
+ hashAlg: 'keccak-512',
5264
+ },
5265
+ {
5266
+ name: 'leofcoin-pr',
5267
+ codec: '0x6c70',
5268
+ hashAlg: 'keccak-256',
5269
+ },
5270
+ {
5271
+ name: 'contract-message',
5272
+ codec: '0x63636d',
5273
+ hashAlg: 'keccak-256'
5274
+ },
5275
+ {
5276
+ name: 'transaction-message',
5277
+ codec: '0x746d',
5278
+ hashAlg: 'keccak-256'
5279
+ },
5280
+ {
5281
+ name: 'raw-transaction-message',
5282
+ codec: '0x772746d',
5283
+ hashAlg: 'keccak-256'
5284
+ },
5285
+ {
5286
+ name: 'block-message',
5287
+ codec: '0x626d',
5288
+ hashAlg: 'keccak-256'
5289
+ },
5290
+ {
5291
+ name: 'bw-message',
5292
+ codec: '0x62776d',
5293
+ hashAlg: 'keccak-256'
5294
+ },
5295
+ {
5296
+ name: 'bw-request-message',
5297
+ codec: '0x6277726d',
5298
+ hashAlg: 'keccak-256'
5299
+ },
5300
+ {
5301
+ name: 'validator-message',
5302
+ codec: '0x766d',
5303
+ hashAlg: 'keccak-256'
5304
+ }
5300
5305
  ];
5301
5306
 
5302
- const internalCodecs = [
5303
- {
5304
- name: 'disco-hash',
5305
- codec: '0x30',
5306
- hashAlg: 'dbl-keccak-256',
5307
- },
5308
- {
5309
- name: 'peernet-peer-response',
5310
- codec: '0x707072',
5311
- hashAlg: 'keccak-256',
5312
- },
5313
- {
5314
- name: 'peernet-peer',
5315
- codec: '0x7070',
5316
- hashAlg: 'keccak-256',
5317
- },
5318
- {
5319
- name: 'peernet-dht',
5320
- codec: '0x706468',
5321
- hashAlg: 'keccak-256',
5322
- },
5323
- {
5324
- name: 'peernet-dht-response',
5325
- codec: '0x706472',
5326
- hashAlg: 'keccak-256',
5327
- },
5328
- {
5329
- name: 'peernet-data',
5330
- codec: '0x706461',
5331
- hashAlg: 'keccak-256',
5332
- },
5333
- {
5334
- name: 'peernet-data-response',
5335
- codec: '0x70646172',
5336
- hashAlg: 'keccak-256',
5337
- },
5338
- {
5339
- name: 'peernet-message',
5340
- codec: '0x706d65',
5341
- hashAlg: 'keccak-256',
5342
- },
5343
- {
5344
- name: 'peernet-ps',
5345
- codec: '707073',
5346
- hashAlg: 'keccak-256',
5347
- },
5348
- {
5349
- name: 'peernet-response',
5350
- codec: '0x7072',
5351
- hashAlg: 'keccak-256',
5352
- },
5353
- {
5354
- name: 'peernet-request',
5355
- codec: '0x707271',
5356
- hashAlg: 'keccak-256',
5357
- },
5358
- {
5359
- name: 'peernet-file',
5360
- codec: '0x7066',
5361
- hashAlg: 'keccak-256',
5362
- },
5363
- {
5364
- name: 'peernet-file-response',
5365
- codec: '0x706672',
5366
- hashAlg: 'keccak-256',
5367
- }
5307
+ const internalCodecs = [
5308
+ {
5309
+ name: 'disco-hash',
5310
+ codec: '0x30',
5311
+ hashAlg: 'dbl-keccak-256',
5312
+ },
5313
+ {
5314
+ name: 'peernet-peer-response',
5315
+ codec: '0x707072',
5316
+ hashAlg: 'keccak-256',
5317
+ },
5318
+ {
5319
+ name: 'peernet-peer',
5320
+ codec: '0x7070',
5321
+ hashAlg: 'keccak-256',
5322
+ },
5323
+ {
5324
+ name: 'peernet-dht',
5325
+ codec: '0x706468',
5326
+ hashAlg: 'keccak-256',
5327
+ },
5328
+ {
5329
+ name: 'peernet-dht-response',
5330
+ codec: '0x706472',
5331
+ hashAlg: 'keccak-256',
5332
+ },
5333
+ {
5334
+ name: 'peernet-data',
5335
+ codec: '0x706461',
5336
+ hashAlg: 'keccak-256',
5337
+ },
5338
+ {
5339
+ name: 'peernet-data-response',
5340
+ codec: '0x70646172',
5341
+ hashAlg: 'keccak-256',
5342
+ },
5343
+ {
5344
+ name: 'peernet-message',
5345
+ codec: '0x706d65',
5346
+ hashAlg: 'keccak-256',
5347
+ },
5348
+ {
5349
+ name: 'peernet-ps',
5350
+ codec: '707073',
5351
+ hashAlg: 'keccak-256',
5352
+ },
5353
+ {
5354
+ name: 'peernet-response',
5355
+ codec: '0x7072',
5356
+ hashAlg: 'keccak-256',
5357
+ },
5358
+ {
5359
+ name: 'peernet-request',
5360
+ codec: '0x707271',
5361
+ hashAlg: 'keccak-256',
5362
+ },
5363
+ {
5364
+ name: 'peernet-file',
5365
+ codec: '0x7066',
5366
+ hashAlg: 'keccak-256',
5367
+ },
5368
+ {
5369
+ name: 'peernet-file-response',
5370
+ codec: '0x706672',
5371
+ hashAlg: 'keccak-256',
5372
+ }
5368
5373
  ];
5369
5374
 
5370
- const codecs = [
5371
- ...internalCodecs,
5372
- ...blockchainCodecs,
5373
- {
5374
- name: 'chat-message',
5375
- codec: '0x70636d',
5376
- hashAlg: 'dbl-keccak-256',
5377
- }
5375
+ var social = [{
5376
+ name: 'chat-message',
5377
+ codec: '0x70636d',
5378
+ hashAlg: 'dbl-keccak-256',
5379
+ }];
5380
+
5381
+ const codecs = [
5382
+ ...internalCodecs,
5383
+ ...blockchainCodecs,
5384
+ ...social
5378
5385
  ];
5379
5386
 
5380
- globalThis.peernetCodecs = globalThis.peernetCodecs || {};
5381
- const addCodec = (codecInput) => {
5382
- let { hashAlg, codec, name } = codecInput;
5383
- if (!globalThis.peernetCodecs[name])
5384
- globalThis.peernetCodecs[name] = {
5385
- hashAlg,
5386
- codec: typeof codec === 'string' ? parseInt(codec, 16) : codec
5387
- };
5388
- };
5389
- const getCodec = (name) => {
5390
- if (typeof name === 'number')
5391
- return name;
5392
- return getCodecByName(name).codec;
5393
- };
5394
- const getCodecName = (codec) => {
5395
- return Object.keys(globalThis.peernetCodecs).reduce((p, c) => {
5396
- const item = globalThis.peernetCodecs[c];
5397
- if (item.codec === codec)
5398
- return c;
5399
- else
5400
- return p;
5401
- }, undefined);
5402
- };
5403
- const getCodecByName = (name) => globalThis.peernetCodecs[name];
5404
- const getHashAlg = (name) => {
5405
- if (typeof name === 'number')
5406
- return getCodecByName(getCodecName(name)).hashAlg;
5407
- return getCodecByName(name).hashAlg;
5408
- };
5409
- const isCodec = (codec) => {
5410
- if (codec.codec !== undefined && codec.hashAlg)
5411
- return true;
5412
- return false;
5413
- };
5414
- const validateCodec = (codec) => {
5415
- if (codec.codec === undefined ||
5416
- codec.hashAlg === undefined ||
5417
- codec.name === undefined)
5418
- throw new Error(`invalid codecInput: ${codec}`);
5419
- };
5420
- for (const codec of codecs) {
5421
- addCodec(codec);
5422
- }
5423
- var utils = {
5424
- isCodec,
5425
- addCodec,
5426
- getCodec,
5427
- getHashAlg,
5428
- getCodecName,
5429
- validateCodec,
5430
- codecs: globalThis.peernetCodecs
5387
+ globalThis.peernetCodecs = globalThis.peernetCodecs || {};
5388
+ const addCodec = (codecInput) => {
5389
+ let { hashAlg, codec, name } = codecInput;
5390
+ if (!globalThis.peernetCodecs[name])
5391
+ globalThis.peernetCodecs[name] = {
5392
+ hashAlg,
5393
+ codec: typeof codec === 'string' ? parseInt(codec, 16) : codec
5394
+ };
5395
+ };
5396
+ const getCodec = (name) => {
5397
+ if (typeof name === 'number')
5398
+ return name;
5399
+ return getCodecByName(name).codec;
5400
+ };
5401
+ const getCodecName = (codec) => {
5402
+ return Object.keys(globalThis.peernetCodecs).reduce((p, c) => {
5403
+ const item = globalThis.peernetCodecs[c];
5404
+ if (item.codec === codec)
5405
+ return c;
5406
+ else
5407
+ return p;
5408
+ }, undefined);
5409
+ };
5410
+ const getCodecByName = (name) => globalThis.peernetCodecs[name];
5411
+ const getHashAlg = (name) => {
5412
+ if (typeof name === 'number')
5413
+ return getCodecByName(getCodecName(name)).hashAlg;
5414
+ return getCodecByName(name).hashAlg;
5415
+ };
5416
+ const isCodec = (codec) => {
5417
+ if (codec.codec !== undefined && codec.hashAlg)
5418
+ return true;
5419
+ return false;
5420
+ };
5421
+ const validateCodec = (codec) => {
5422
+ if (codec.codec === undefined ||
5423
+ codec.hashAlg === undefined ||
5424
+ codec.name === undefined)
5425
+ throw new Error(`invalid codecInput: ${codec}`);
5426
+ };
5427
+ for (const codec of codecs) {
5428
+ addCodec(codec);
5429
+ }
5430
+ var utils = {
5431
+ isCodec,
5432
+ addCodec,
5433
+ getCodec,
5434
+ getHashAlg,
5435
+ getCodecName,
5436
+ validateCodec,
5437
+ codecs: globalThis.peernetCodecs
5431
5438
  };
5432
5439
 
5433
5440
  /**
@@ -5459,11 +5466,11 @@ let BasicInterface$1 = class BasicInterface {
5459
5466
  // get Codec(): Codec {}
5460
5467
  protoEncode(data) {
5461
5468
  // check schema
5462
- return index.encode(this.proto, data);
5469
+ return index.encode(this.proto, data, false);
5463
5470
  }
5464
5471
  protoDecode(data) {
5465
5472
  // check schema
5466
- return index.decode(this.proto, data);
5473
+ return index.decode(this.proto, data, false);
5467
5474
  }
5468
5475
  isHex(string) {
5469
5476
  return isHex(string);
@@ -5860,14 +5867,7 @@ let FormatInterface$1 = class FormatInterface extends BasicInterface$1 {
5860
5867
  const decoded = {};
5861
5868
  if (this.keys?.length > 0) {
5862
5869
  for (const key of this.keys) {
5863
- Object.defineProperties(decoded, {
5864
- [key]: {
5865
- enumerable: true,
5866
- configurable: true,
5867
- set: (value) => data[key],
5868
- get: () => data[key]
5869
- }
5870
- });
5870
+ decoded[key] = data[key];
5871
5871
  }
5872
5872
  this.decoded = decoded;
5873
5873
  return this.encode(decoded);
@@ -5974,6 +5974,15 @@ class ContractMessage extends FormatInterface {
5974
5974
  }
5975
5975
  }
5976
5976
 
5977
+ ({
5978
+ timestamp: Number(),
5979
+ from: String(),
5980
+ to: String(),
5981
+ nonce: Number(),
5982
+ method: String(),
5983
+ params: Array()
5984
+ });
5985
+
5977
5986
  var contractFactory = "237,198,141,3,53,89,84,113,122,107,70,97,116,87,49,76,109,71,88,104,102,72,105,99,106,51,120,84,105,114,81,120,89,113,75,101,122,102,70,116,101,114,51,49,80,113,49,82,78,82,97,54,85,87,89,89,87,115,173,5,99,108,97,115,115,32,70,97,99,116,111,114,121,123,35,110,97,109,101,61,34,65,114,116,79,110,108,105,110,101,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,34,59,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,48,59,35,99,111,110,116,114,97,99,116,115,61,91,93,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,38,38,40,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,99,111,110,116,114,97,99,116,115,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,116,111,116,97,108,67,111,110,116,114,97,99,116,115,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,116,111,116,97,108,67,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,44,99,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,125,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,99,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,91,46,46,46,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,93,125,103,101,116,32,116,111,116,97,108,67,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,125,105,115,82,101,103,105,115,116,101,114,101,100,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,97,115,121,110,99,32,114,101,103,105,115,116,101,114,67,111,110,116,114,97,99,116,40,97,100,100,114,101,115,115,41,123,105,102,40,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,97,100,100,114,101,115,115,44,34,104,97,115,82,111,108,101,34,44,91,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,93,41,44,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,34,41,59,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,43,61,49,44,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,125,114,101,116,117,114,110,32,70,97,99,116,111,114,121,59,2,91,93";
5978
5987
  var nativeToken = "237,198,141,3,53,89,84,113,122,107,70,97,116,87,49,76,109,71,88,104,102,72,105,99,106,51,120,84,105,114,81,120,89,113,75,101,122,102,70,116,101,114,51,49,80,113,49,82,78,82,97,54,85,87,89,89,87,115,163,26,99,108,97,115,115,32,82,111,108,101,115,123,35,114,111,108,101,115,61,123,79,87,78,69,82,58,91,93,44,77,73,78,84,58,91,93,44,66,85,82,78,58,91,93,125,59,99,111,110,115,116,114,117,99,116,111,114,40,114,111,108,101,115,41,123,105,102,40,114,111,108,101,115,41,123,105,102,40,33,40,114,111,108,101,115,32,105,110,115,116,97,110,99,101,111,102,32,79,98,106,101,99,116,41,41,116,104,114,111,119,32,110,101,119,32,84,121,112,101,69,114,114,111,114,40,34,101,120,112,101,99,116,101,100,32,114,111,108,101,115,32,116,111,32,98,101,32,97,110,32,111,98,106,101,99,116,34,41,59,116,104,105,115,46,35,114,111,108,101,115,61,123,46,46,46,114,111,108,101,115,44,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,101,108,115,101,32,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,114,111,108,101,115,58,116,104,105,115,46,114,111,108,101,115,125,125,103,101,116,32,114,111,108,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,114,101,116,117,114,110,33,33,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,38,38,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,103,114,97,110,116,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,114,101,118,111,107,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,105,102,40,34,79,87,78,69,82,34,61,61,61,114,111,108,101,38,38,49,61,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,116,108,101,97,115,116,32,111,110,101,32,111,119,110,101,114,32,105,115,32,110,101,101,100,101,100,33,34,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,115,112,108,105,99,101,40,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,41,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,125,99,108,97,115,115,32,84,111,107,101,110,32,101,120,116,101,110,100,115,32,82,111,108,101,115,123,35,110,97,109,101,59,35,115,121,109,98,111,108,59,35,104,111,108,100,101,114,115,61,48,59,35,98,97,108,97,110,99,101,115,61,123,125,59,35,97,112,112,114,111,118,97,108,115,61,123,125,59,35,100,101,99,105,109,97,108,115,61,49,56,59,35,116,111,116,97,108,83,117,112,112,108,121,61,66,105,103,78,117,109,98,101,114,46,102,114,111,109,40,48,41,59,99,111,110,115,116,114,117,99,116,111,114,40,110,97,109,101,44,115,121,109,98,111,108,44,100,101,99,105,109,97,108,115,61,49,56,44,115,116,97,116,101,41,123,105,102,40,33,110,97,109,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,97,109,101,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,33,115,121,109,98,111,108,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,115,121,109,98,111,108,32,117,110,100,101,102,105,110,101,100,34,41,59,115,117,112,101,114,40,115,116,97,116,101,63,46,114,111,108,101,115,41,44,116,104,105,115,46,35,110,97,109,101,61,110,97,109,101,44,116,104,105,115,46,35,115,121,109,98,111,108,61,115,121,109,98,111,108,44,116,104,105,115,46,35,100,101,99,105,109,97,108,115,61,100,101,99,105,109,97,108,115,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,104,111,108,100,101,114,115,58,116,104,105,115,46,104,111,108,100,101,114,115,44,98,97,108,97,110,99,101,115,58,116,104,105,115,46,98,97,108,97,110,99,101,115,44,97,112,112,114,111,118,97,108,115,58,123,46,46,46,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,125,44,116,111,116,97,108,83,117,112,112,108,121,58,116,104,105,115,46,116,111,116,97,108,83,117,112,112,108,121,125,125,103,101,116,32,116,111,116,97,108,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,115,121,109,98,111,108,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,115,121,109,98,111,108,125,103,101,116,32,104,111,108,100,101,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,104,111,108,100,101,114,115,125,103,101,116,32,98,97,108,97,110,99,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,98,97,108,97,110,99,101,115,125,125,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,77,73,78,84,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,46,97,100,100,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,66,85,82,78,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,46,115,117,98,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,125,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,124,124,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,125,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,123,34,48,120,48,48,34,61,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,116,111,72,101,120,83,116,114,105,110,103,40,41,63,116,104,105,115,46,35,104,111,108,100,101,114,115,45,61,49,58,34,48,120,48,48,34,33,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,116,111,72,101,120,83,116,114,105,110,103,40,41,38,38,34,48,120,48,48,34,61,61,61,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,46,116,111,72,101,120,83,116,114,105,110,103,40,41,38,38,40,116,104,105,115,46,35,104,111,108,100,101,114,115,43,61,49,41,125,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,124,124,40,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,66,105,103,78,117,109,98,101,114,46,102,114,111,109,40,48,41,41,59,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,97,100,100,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,46,115,117,98,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,98,97,108,97,110,99,101,79,102,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,125,115,101,116,65,112,112,114,111,118,97,108,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,111,119,110,101,114,61,109,115,103,46,115,101,110,100,101,114,59,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,124,124,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,61,123,125,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,97,109,111,117,110,116,125,97,112,112,114,111,118,101,100,40,111,119,110,101,114,44,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,61,61,97,109,111,117,110,116,125,116,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,97,109,111,117,110,116,61,66,105,103,78,117,109,98,101,114,46,102,114,111,109,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,125,99,108,97,115,115,32,65,114,116,79,110,108,105,110,101,32,101,120,116,101,110,100,115,32,84,111,107,101,110,123,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,117,112,101,114,40,34,65,114,116,79,110,108,105,110,101,34,44,34,65,82,84,34,44,49,56,44,115,116,97,116,101,41,125,125,114,101,116,117,114,110,32,65,114,116,79,110,108,105,110,101,59,2,91,93";
5979
5988
  var nameService = "237,198,141,3,53,89,84,113,122,107,70,97,116,87,49,76,109,71,88,104,102,72,105,99,106,51,120,84,105,114,81,120,89,113,75,101,122,102,70,116,101,114,51,49,80,113,49,82,78,82,97,54,85,87,89,89,87,115,131,13,99,108,97,115,115,32,78,97,109,101,83,101,114,118,105,99,101,123,35,110,97,109,101,61,34,65,114,116,79,110,108,105,110,101,78,97,109,101,83,101,114,118,105,99,101,34,59,35,111,119,110,101,114,59,35,112,114,105,99,101,61,48,59,35,114,101,103,105,115,116,114,121,61,123,125,59,35,99,117,114,114,101,110,99,121,59,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,114,101,103,105,115,116,114,121,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,101,103,105,115,116,114,121,125,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,111,119,110,101,114,58,116,104,105,115,46,35,111,119,110,101,114,44,114,101,103,105,115,116,114,121,58,116,104,105,115,46,35,114,101,103,105,115,116,114,121,44,99,117,114,114,101,110,99,121,58,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,112,114,105,99,101,58,116,104,105,115,46,35,112,114,105,99,101,125,125,99,111,110,115,116,114,117,99,116,111,114,40,102,97,99,116,111,114,121,65,100,100,114,101,115,115,44,99,117,114,114,101,110,99,121,44,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,44,112,114,105,99,101,44,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,111,119,110,101,114,61,115,116,97,116,101,46,111,119,110,101,114,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,61,115,116,97,116,101,46,114,101,103,105,115,116,114,121,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,115,116,97,116,101,46,99,117,114,114,101,110,99,121,44,116,104,105,115,46,35,112,114,105,99,101,61,115,116,97,116,101,46,112,114,105,99,101,41,58,40,116,104,105,115,46,35,111,119,110,101,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,112,114,105,99,101,61,112,114,105,99,101,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,65,114,116,79,110,108,105,110,101,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,102,97,99,116,111,114,121,65,100,100,114,101,115,115,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,65,114,116,79,110,108,105,110,101,84,111,107,101,110,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,99,117,114,114,101,110,99,121,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,65,114,116,79,110,108,105,110,101,86,97,108,105,100,97,116,111,114,115,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,125,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,41,125,99,104,97,110,103,101,79,119,110,101,114,40,111,119,110,101,114,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,111,119,110,101,114,61,111,119,110,101,114,125,99,104,97,110,103,101,80,114,105,99,101,40,112,114,105,99,101,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,112,114,105,99,101,61,112,114,105,99,101,125,99,104,97,110,103,101,67,117,114,114,101,110,99,121,40,99,117,114,114,101,110,99,121,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,125,97,115,121,110,99,32,112,117,114,99,104,97,115,101,78,97,109,101,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,60,116,104,105,115,46,35,112,114,105,99,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,112,114,105,99,101,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,59,116,114,121,123,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,34,116,114,97,110,115,102,101,114,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,111,119,110,101,114,44,116,104,105,115,46,35,112,114,105,99,101,93,41,125,99,97,116,99,104,40,101,114,114,111,114,41,123,116,104,114,111,119,32,101,114,114,111,114,125,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,97,100,100,114,101,115,115,125,125,108,111,111,107,117,112,40,110,97,109,101,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,125,116,114,97,110,115,102,101,114,79,119,110,101,114,115,104,105,112,40,110,97,109,101,44,116,111,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,61,116,111,125,99,104,97,110,103,101,65,100,100,114,101,115,115,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,97,100,100,114,101,115,115,61,97,100,100,114,101,115,115,125,125,114,101,116,117,114,110,32,78,97,109,101,83,101,114,118,105,99,101,59,212,1,91,34,73,72,78,89,50,71,81,72,75,68,51,86,52,85,50,69,70,54,80,52,84,73,72,74,78,82,81,78,68,74,51,78,51,65,86,88,86,54,89,71,68,54,70,50,84,51,67,78,76,77,88,87,70,85,50,76,65,67,53,34,44,34,73,72,78,89,50,71,81,72,88,71,81,76,52,85,82,73,67,75,76,78,53,83,69,53,85,76,73,80,70,50,81,83,70,87,85,51,68,80,52,71,90,70,79,65,53,68,66,88,52,77,77,86,68,75,74,50,73,51,77,34,44,34,73,72,78,89,50,71,81,72,74,78,80,84,66,81,81,86,70,79,80,79,67,85,54,89,71,54,83,90,77,66,69,71,88,76,53,71,50,79,54,77,84,83,75,52,80,85,55,80,71,85,55,67,55,83,71,52,80,80,89,34,44,34,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,93";
@@ -6063,219 +6072,217 @@ class EasyWorker {
6063
6072
  }
6064
6073
  }
6065
6074
 
6066
- const worker = new EasyWorker();
6067
-
6068
- const contractFactoryMessage = bytecodes.contractFactory;
6069
- const nativeTokenMessage = bytecodes.nativeToken;
6070
- const nameServiceMessage = bytecodes.nameService;
6071
- const validatorsMessage = bytecodes.validators;
6072
-
6073
- globalThis.BigNumber = BigNumber;
6074
- globalThis.contracts = {};
6075
-
6076
- const has = address => {
6077
- return contracts[address] ? true : false
6078
- };
6079
-
6080
- const get = (contract, method, params) => {
6081
- let result;
6082
- if (params?.length > 0) {
6083
- result = contracts[contract][method](...params);
6084
- } else {
6085
- result = contracts[contract][method];
6086
- }
6087
- return result
6088
- };
6089
-
6090
- const runContract = async ({decoded, hash, encoded}) => {
6091
- const params = decoded.constructorParameters;
6092
- try {
6093
-
6094
- console.log(new TextDecoder().decode(decoded.contract));
6095
-
6096
- const func = new Function(new TextDecoder().decode(decoded.contract).replace('this.#revokeRole(address, role); }}', 'this.#revokeRole(address, role); }};'));
6097
- const Contract = func();
6098
-
6099
- globalThis.msg = createMessage(decoded.creator);
6100
- contracts[hash] = await new Contract(...params);
6101
- worker.postMessage({
6102
- type: 'debug',
6103
- messages: [
6104
- `loaded contract: ${hash}`,
6105
- `size: ${formatBytes(encoded.length)}`
6106
- ]
6107
- });
6108
- } catch (e) {
6109
- console.log(e);
6110
- worker.postMessage({
6111
- type: 'contractError',
6112
- hash: await contractMessage.hash()
6113
- });
6114
- }
6115
- };
6116
-
6117
- const execute = async (contract, method, params) => {
6118
- try {
6119
- let result;
6120
- // don't execute the method on a proxy
6121
- if (contracts[contract].fallback) {
6122
- result = await contracts[contract].fallback(method, params);
6123
- } else {
6124
- result = await contracts[contract][method](...params);
6125
- }
6126
- // state.put(result)
6127
- return result
6128
- } catch (e) {
6129
- throw e
6130
- }
6131
- };
6132
-
6133
-
6134
- const createMessage = (sender = globalThis.peerid) => {
6135
- return {
6136
- sender,
6137
- call: execute,
6138
- staticCall: get
6139
- }
6140
- };
6141
-
6142
- const _init = async ({ contracts, blocks, peerid })=> {
6143
-
6144
- globalThis.peerid = peerid;
6145
- contracts = [
6146
- contractFactoryMessage,
6147
- nativeTokenMessage,
6148
- nameServiceMessage,
6149
- validatorsMessage
6150
- ];
6151
-
6152
- contracts = await Promise.all(contracts.map(async contract => {
6153
- contract = await new ContractMessage(new Uint8Array(contract.split(',')));
6154
- await runContract({decoded: contract.decoded, encoded: contract.encoded, hash: await contract.hash()});
6155
- return contract
6156
- }));
6157
-
6158
- let lastBlock = {hash: '0x0'};
6159
-
6160
- if (blocks?.length > 0) {
6161
- const _worker = await new EasyWorker('./block-worker.js', {serialization: 'advanced', type: 'module' });
6162
- blocks = await _worker.once([blocks[blocks.length - 1]]);
6163
-
6164
- // blocks = unique(globalThis.blocks ? globalThis : [], blocks)
6165
- // for (let i = 0; i < blocks.length; i++) {
6166
-
6167
- // }
6168
- // for (const block of blocks) {
6169
- // await Promise.all(block.decoded.transactions.map(async message => {
6170
- // if (!block.loaded) {
6171
- // const {from, to, method, params} = message;
6172
- // globalThis.msg = createMessage(from);
6173
-
6174
- // await execute(to, method, params);
6175
- // block.loaded = true
6176
- // }
6177
- // }));
6178
- // }
6179
-
6180
- if (blocks.length > 0) {
6181
- lastBlock = blocks[blocks.length - 1].decoded;
6182
- lastBlock = await new BlockMessage(lastBlock);
6183
-
6184
- lastBlock = {
6185
- ...lastBlock.decoded,
6186
- hash: await lastBlock.hash()
6187
- };
6188
- }
6189
- globalThis.blocks = blocks;
6190
- }
6191
-
6192
-
6193
-
6194
-
6195
- worker.postMessage({type: 'machine-ready', lastBlock});
6196
-
6197
- // worker.postMessage({blocks});
6198
- };
6199
-
6200
- const tasks = async (e) => {
6201
- const id = e.id;
6202
- if (e.type === 'init') {
6203
- try {
6204
- await _init(e.input);
6205
- } catch (e) {
6206
- worker.postMessage({
6207
- type: 'initError',
6208
- message: e.message,
6209
- id
6210
- });
6211
- }
6212
- }
6213
- if (e.type === 'has') {
6214
- try {
6215
- const value = await has(e.input.address);
6216
- worker.postMessage({
6217
- type: 'response',
6218
- id,
6219
- value
6220
- });
6221
- } catch (error) {
6222
- worker.postMessage({
6223
- type: 'hasError',
6224
- message: error.message,
6225
- id
6226
- });
6227
- }
6228
- }
6229
- if (e.type === 'run') {
6230
- try {
6231
- const value = await runContract(e.input);
6232
- worker.postMessage({
6233
- type: 'response',
6234
- id,
6235
- value
6236
- });
6237
- } catch (e) {
6238
- worker.postMessage({
6239
- type: 'runError',
6240
- message: e.message,
6241
- id
6242
- });
6243
- }
6244
- }
6245
- if (e.type === 'get') {
6246
- try {
6247
- const value = await get(e.input.contract, e.input.method, e.input.params);
6248
- worker.postMessage({
6249
- type: 'response',
6250
- id,
6251
- value
6252
- });
6253
- } catch (e) {
6254
- worker.postMessage({
6255
- type: 'fetchError',
6256
- message: e.message,
6257
- id
6258
- });
6259
- }
6260
-
6261
- }
6262
- if (e.type === 'execute') {
6263
- try {
6264
- const value = await execute(e.input.contract, e.input.method, e.input.params);
6265
- worker.postMessage({
6266
- type: 'response',
6267
- id,
6268
- value
6269
- });
6270
- } catch(e) {
6271
- worker.postMessage({
6272
- type: 'executionError',
6273
- message: e.message,
6274
- id
6275
-
6276
- });
6277
- }
6278
- }
6279
- };
6280
-
6075
+ const worker = new EasyWorker();
6076
+
6077
+ const contractFactoryMessage = bytecodes.contractFactory;
6078
+ const nativeTokenMessage = bytecodes.nativeToken;
6079
+ const nameServiceMessage = bytecodes.nameService;
6080
+ const validatorsMessage = bytecodes.validators;
6081
+
6082
+ globalThis.BigNumber = BigNumber;
6083
+ globalThis.contracts = {};
6084
+
6085
+ const has = address => {
6086
+ return contracts[address] ? true : false
6087
+ };
6088
+
6089
+ const get = (contract, method, params) => {
6090
+ let result;
6091
+ if (params?.length > 0) {
6092
+ result = contracts[contract][method](...params);
6093
+ } else {
6094
+ result = contracts[contract][method];
6095
+ }
6096
+ return result
6097
+ };
6098
+
6099
+ const runContract = async ({decoded, hash, encoded}) => {
6100
+ const params = decoded.constructorParameters;
6101
+ try {
6102
+
6103
+ const func = new Function(new TextDecoder().decode(decoded.contract));
6104
+ const Contract = func();
6105
+
6106
+ globalThis.msg = createMessage(decoded.creator);
6107
+ contracts[hash] = await new Contract(...params);
6108
+ worker.postMessage({
6109
+ type: 'debug',
6110
+ messages: [
6111
+ `loaded contract: ${hash}`,
6112
+ `size: ${formatBytes(encoded.length)}`
6113
+ ]
6114
+ });
6115
+ } catch (e) {
6116
+ console.log(e);
6117
+ worker.postMessage({
6118
+ type: 'contractError',
6119
+ hash: await contractMessage.hash()
6120
+ });
6121
+ }
6122
+ };
6123
+
6124
+ const execute = async (contract, method, params) => {
6125
+ try {
6126
+ let result;
6127
+ // don't execute the method on a proxy
6128
+ if (contracts[contract].fallback) {
6129
+ result = await contracts[contract].fallback(method, params);
6130
+ } else {
6131
+ result = await contracts[contract][method](...params);
6132
+ }
6133
+ // state.put(result)
6134
+ return result
6135
+ } catch (e) {
6136
+ throw e
6137
+ }
6138
+ };
6139
+
6140
+
6141
+ const createMessage = (sender = globalThis.peerid) => {
6142
+ return {
6143
+ sender,
6144
+ call: execute,
6145
+ staticCall: get
6146
+ }
6147
+ };
6148
+
6149
+ const _init = async ({ contracts, blocks, peerid })=> {
6150
+
6151
+ globalThis.peerid = peerid;
6152
+ contracts = [
6153
+ contractFactoryMessage,
6154
+ nativeTokenMessage,
6155
+ nameServiceMessage,
6156
+ validatorsMessage
6157
+ ];
6158
+
6159
+ contracts = await Promise.all(contracts.map(async contract => {
6160
+ contract = await new ContractMessage(new Uint8Array(contract.split(',')));
6161
+ await runContract({decoded: contract.decoded, encoded: contract.encoded, hash: await contract.hash()});
6162
+ return contract
6163
+ }));
6164
+
6165
+ let lastBlock = {hash: '0x0'};
6166
+
6167
+ if (blocks?.length > 0) {
6168
+ const _worker = await new EasyWorker('./block-worker.js', {serialization: 'advanced', type: 'module' });
6169
+ blocks = await _worker.once([blocks[blocks.length - 1]]);
6170
+
6171
+ // blocks = unique(globalThis.blocks ? globalThis : [], blocks)
6172
+ // for (let i = 0; i < blocks.length; i++) {
6173
+
6174
+ // }
6175
+ // for (const block of blocks) {
6176
+ // await Promise.all(block.decoded.transactions.map(async message => {
6177
+ // if (!block.loaded) {
6178
+ // const {from, to, method, params} = message;
6179
+ // globalThis.msg = createMessage(from);
6180
+
6181
+ // await execute(to, method, params);
6182
+ // block.loaded = true
6183
+ // }
6184
+ // }));
6185
+ // }
6186
+
6187
+ if (blocks.length > 0) {
6188
+ lastBlock = blocks[blocks.length - 1].decoded;
6189
+ lastBlock = await new BlockMessage(lastBlock);
6190
+
6191
+ lastBlock = {
6192
+ ...lastBlock.decoded,
6193
+ hash: await lastBlock.hash()
6194
+ };
6195
+ }
6196
+ globalThis.blocks = blocks;
6197
+ }
6198
+
6199
+
6200
+
6201
+
6202
+ worker.postMessage({type: 'machine-ready', lastBlock});
6203
+
6204
+ // worker.postMessage({blocks});
6205
+ };
6206
+
6207
+ const tasks = async (e) => {
6208
+ const id = e.id;
6209
+ if (e.type === 'init') {
6210
+ try {
6211
+ await _init(e.input);
6212
+ } catch (e) {
6213
+ worker.postMessage({
6214
+ type: 'initError',
6215
+ message: e.message,
6216
+ id
6217
+ });
6218
+ }
6219
+ }
6220
+ if (e.type === 'has') {
6221
+ try {
6222
+ const value = await has(e.input.address);
6223
+ worker.postMessage({
6224
+ type: 'response',
6225
+ id,
6226
+ value
6227
+ });
6228
+ } catch (error) {
6229
+ worker.postMessage({
6230
+ type: 'hasError',
6231
+ message: error.message,
6232
+ id
6233
+ });
6234
+ }
6235
+ }
6236
+ if (e.type === 'run') {
6237
+ try {
6238
+ const value = await runContract(e.input);
6239
+ worker.postMessage({
6240
+ type: 'response',
6241
+ id,
6242
+ value
6243
+ });
6244
+ } catch (e) {
6245
+ worker.postMessage({
6246
+ type: 'runError',
6247
+ message: e.message,
6248
+ id
6249
+ });
6250
+ }
6251
+ }
6252
+ if (e.type === 'get') {
6253
+ try {
6254
+ const value = await get(e.input.contract, e.input.method, e.input.params);
6255
+ worker.postMessage({
6256
+ type: 'response',
6257
+ id,
6258
+ value
6259
+ });
6260
+ } catch (e) {
6261
+ worker.postMessage({
6262
+ type: 'fetchError',
6263
+ message: e.message,
6264
+ id
6265
+ });
6266
+ }
6267
+
6268
+ }
6269
+ if (e.type === 'execute') {
6270
+ try {
6271
+ const value = await execute(e.input.contract, e.input.method, e.input.params);
6272
+ worker.postMessage({
6273
+ type: 'response',
6274
+ id,
6275
+ value
6276
+ });
6277
+ } catch(e) {
6278
+ worker.postMessage({
6279
+ type: 'executionError',
6280
+ message: e.message,
6281
+ id
6282
+
6283
+ });
6284
+ }
6285
+ }
6286
+ };
6287
+
6281
6288
  worker.onmessage(data => tasks(data));