@leofcoin/workers 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/bundle/commonjs/block-worker-42d9ae8e.js +115 -0
  2. package/dist/bundle/commonjs/block-worker.js +15 -0
  3. package/dist/bundle/commonjs/index-f77ba3de.js +4794 -0
  4. package/dist/bundle/commonjs/machine-worker-8fdd8b95.js +201 -0
  5. package/dist/bundle/commonjs/machine-worker.js +15 -0
  6. package/dist/bundle/commonjs/pool-worker-61189fde.js +46 -0
  7. package/dist/bundle/commonjs/pool-worker.js +14 -0
  8. package/dist/bundle/commonjs/transaction-6a24c91e.js +33 -0
  9. package/dist/bundle/commonjs/transaction-worker-90623101.js +35 -0
  10. package/dist/bundle/commonjs/transaction-worker.js +14 -0
  11. package/dist/bundle/commonjs/utils-6a02b156.js +4096 -0
  12. package/dist/bundle/commonjs/workers.js +30 -0
  13. package/dist/bundle/module/block-worker-efe837c4.js +113 -0
  14. package/dist/bundle/module/block-worker.js +12 -0
  15. package/dist/bundle/module/index-6715242b.js +4780 -0
  16. package/dist/bundle/module/machine-worker-bdb2ec57.js +199 -0
  17. package/dist/bundle/module/machine-worker.js +12 -0
  18. package/dist/bundle/module/pool-worker-012d12c9.js +44 -0
  19. package/dist/bundle/module/pool-worker.js +11 -0
  20. package/dist/bundle/module/transaction-e9126d7b.js +31 -0
  21. package/dist/bundle/module/transaction-worker-8afddd7e.js +33 -0
  22. package/dist/bundle/module/transaction-worker.js +11 -0
  23. package/dist/bundle/module/utils-d240ed61.js +4093 -0
  24. package/dist/bundle/module/workers.js +23 -0
  25. package/dist/commonjs/block-worker-d849f917.js +115 -0
  26. package/dist/commonjs/block-worker.js +11 -0
  27. package/dist/commonjs/machine-worker-550c3abe.js +201 -0
  28. package/dist/commonjs/machine-worker.js +11 -0
  29. package/dist/commonjs/pool-worker-3d581327.js +46 -0
  30. package/dist/commonjs/pool-worker.js +6 -0
  31. package/dist/commonjs/transaction-220a3a15.js +33 -0
  32. package/dist/commonjs/transaction-worker-02476daf.js +35 -0
  33. package/dist/commonjs/transaction-worker.js +6 -0
  34. package/dist/commonjs/utils-def2fce8.js +308 -0
  35. package/dist/commonjs/workers.js +26 -0
  36. package/dist/module/block-worker-f5b28240.js +113 -0
  37. package/dist/module/block-worker.js +8 -0
  38. package/dist/module/machine-worker-8054fa84.js +199 -0
  39. package/dist/module/machine-worker.js +8 -0
  40. package/dist/module/pool-worker-8d3369b4.js +44 -0
  41. package/dist/module/pool-worker.js +3 -0
  42. package/dist/module/transaction-d06dc6c4.js +31 -0
  43. package/dist/module/transaction-worker-0f96397e.js +33 -0
  44. package/dist/module/transaction-worker.js +3 -0
  45. package/dist/module/utils-96ad7b3e.js +301 -0
  46. package/dist/module/workers.js +19 -0
  47. package/package.json +22 -0
  48. package/rollup.config.js +40 -0
  49. package/src/block-worker.js +71 -0
  50. package/src/machine-worker.js +160 -0
  51. package/src/pool-worker.js +37 -0
  52. package/src/transaction-worker.js +26 -0
  53. package/src/workers.js +9 -0
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var transactionWorker = require('./transaction-worker-90623101.js');
6
+ var blockWorker = require('./block-worker-42d9ae8e.js');
7
+ var poolWorker = require('./pool-worker-61189fde.js');
8
+ var machineWorker = require('./machine-worker-8fdd8b95.js');
9
+ require('./index-f77ba3de.js');
10
+ require('stream');
11
+ require('events');
12
+ require('buffer');
13
+ require('util');
14
+ require('string_decoder/');
15
+ require('fs');
16
+ require('path');
17
+ require('os');
18
+ require('./transaction-6a24c91e.js');
19
+ require('./utils-6a02b156.js');
20
+ require('child_process');
21
+
22
+ const TransactionWorker = transactionWorker.transactionWorker;
23
+ const BlockWorker = blockWorker.blockWorker;
24
+ const PoolWorker = poolWorker.poolWorker;
25
+ const MachineWorker = machineWorker.machineWorker;
26
+
27
+ exports.BlockWorker = BlockWorker;
28
+ exports.MachineWorker = MachineWorker;
29
+ exports.PoolWorker = PoolWorker;
30
+ exports.TransactionWorker = TransactionWorker;
@@ -0,0 +1,113 @@
1
+ import { F as FormatInterface_1 } from './index-6715242b.js';
2
+ import { B as BigNumber, f as formatBytes } from './utils-d240ed61.js';
3
+ import { fork } from 'child_process';
4
+
5
+ var proto = `
6
+ message ValidatorMessage {
7
+ required string address = 1;
8
+ required string reward = 2;
9
+ }
10
+
11
+ message Transaction {
12
+ required string hash = 1;
13
+ required uint64 timestamp = 2;
14
+ required string from = 3;
15
+ required string to = 4;
16
+ required uint64 nonce = 5;
17
+ required string method = 6;
18
+ repeated string params = 7;
19
+ }
20
+
21
+ message BlockMessage {
22
+ required uint64 index = 1;
23
+ required string previousHash = 3;
24
+ required uint64 timestamp = 4;
25
+ required uint64 reward = 5;
26
+ required string fees = 6;
27
+ repeated Transaction transactions = 7;
28
+ repeated ValidatorMessage validators = 8;
29
+ }
30
+ `;
31
+
32
+ class BlockMessage extends FormatInterface_1 {
33
+ get keys() {
34
+ return ['index', 'previousHash', 'timestamp', 'reward', 'fees', 'transactions', 'validators']
35
+ }
36
+
37
+ get messageName() {
38
+ return 'BlockMessage'
39
+ }
40
+
41
+ constructor(buffer) {
42
+ const name = 'block-message';
43
+ super(buffer, proto, {name});
44
+ }
45
+ }
46
+
47
+ globalThis.BigNumber = BigNumber;
48
+
49
+ globalThis.peernet = globalThis.peernet || {};
50
+ globalThis.contracts = {};
51
+
52
+ const run = async (blocks) => {
53
+ blocks = await Promise.all(blocks.map(block => new BlockMessage(block)));
54
+ blocks = blocks.sort((a, b) => a.decoded.timestamp - b.decoded.timestamp);
55
+
56
+ blocks = await Promise.all(blocks.map(block => new Promise(async (resolve, reject) => {
57
+ if (globalThis.process) {
58
+ const worker = fork('./workers/transaction-worker.js', {serialization: 'advanced'});
59
+
60
+ worker.once('message', async transactions => {
61
+ block.decoded.transactions = transactions;
62
+ const size = block.encoded.length || block.encoded.byteLength;
63
+ console.log(`loaded block: ${await block.hash} @${block.decoded.index} ${formatBytes(size)}`);
64
+ resolve(block);
65
+ });
66
+
67
+ worker.send(block.decoded.transactions);
68
+ } else {
69
+ const worker = new Worker('./workers/transaction-worker.js');
70
+ worker.onmessage = async message => {
71
+ const transactions = message.data;
72
+ block.decoded.transactions = transactions;
73
+ const size = block.encoded.length || block.encoded.byteLength;
74
+ console.log(`loaded block: ${await block.hash} @${block.decoded.index} ${formatBytes(size)}`);
75
+ resolve(block);
76
+ };
77
+ worker.postMessage(block.decoded.transactions);
78
+ }
79
+ })));
80
+ return blocks
81
+ };
82
+
83
+ const tasks = async blocks => {
84
+ globalThis.peernet.codecs = {
85
+ 'contract-message': {
86
+ codec: parseInt('63636d', 16),
87
+ hashAlg: 'keccak-256'
88
+ },
89
+ 'transaction-message': {
90
+ codec: parseInt('746d', 16),
91
+ hashAlg: 'keccak-256'
92
+ },
93
+ 'block-message': {
94
+ codec: parseInt('626d', 16),
95
+ hashAlg: 'keccak-256'
96
+ }
97
+ };
98
+
99
+ blocks = await run(blocks);
100
+ globalThis.process ? process.send(blocks) : postMessage(blocks);
101
+ };
102
+
103
+ if (globalThis.process) {
104
+ process.on('message', tasks);
105
+ } else {
106
+ onmessage = message => tasks(message.data);
107
+ }
108
+
109
+ var blockWorker = /*#__PURE__*/Object.freeze({
110
+ __proto__: null
111
+ });
112
+
113
+ export { blockWorker as b };
@@ -0,0 +1,12 @@
1
+ import './index-6715242b.js';
2
+ import './block-worker-efe837c4.js';
3
+ import './utils-d240ed61.js';
4
+ import 'child_process';
5
+ import 'stream';
6
+ import 'events';
7
+ import 'buffer';
8
+ import 'util';
9
+ import 'string_decoder/';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'os';