@leofcoin/chain 1.4.20 → 1.4.22
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.
- package/CHANGELOG.md +14 -14
- package/LICENSE +88 -88
- package/README.md +4 -4
- package/demo/index.html +25 -25
- package/examples/contracts/token.js +7 -7
- package/package.json +71 -71
- package/plugins/bundle.js +18 -18
- package/src/chain.js +716 -716
- package/src/config/config.js +14 -14
- package/src/config/main.js +4 -4
- package/src/config/protocol.js +5 -5
- package/src/contract.js +51 -51
- package/src/fee/config.js +3 -3
- package/src/machine.js +215 -215
- package/src/node.js +24 -24
- package/src/protocol.js +3 -3
- package/src/state.js +31 -31
- package/src/transaction.js +233 -233
- package/src/type.index.d.ts +20 -20
- package/src/typer.js +19 -19
- package/test/chain.js +120 -109
- package/test/contracts/token.js +40 -40
- package/test/create-genesis.js +66 -66
- package/tsconfig.js +14 -14
- package/workers/block-worker.js +40 -40
- package/workers/machine-worker.js +218 -218
- package/workers/pool-worker.js +28 -28
- package/workers/transaction-worker.js +19 -19
- package/workers/workers.js +8 -8
- package/block-worker.js +0 -1
- package/demo/865.browser.js +0 -10
- package/demo/chain.browser.js +0 -66842
- package/demo/generate-account.browser.js +0 -50
- package/demo/messages.browser.js +0 -328
- package/demo/multi-wallet.browser.js +0 -15
- package/demo/node.browser.js +0 -9858
- package/demo/pako.browser.js +0 -6900
- package/demo/peernet-swarm.browser.js +0 -839
- package/demo/storage.browser.js +0 -3724
- package/demo/workers/865.js +0 -10
- package/demo/workers/block-worker.js +0 -13175
- package/demo/workers/machine-worker.js +0 -13385
- package/demo/workers/pool-worker.js +0 -8503
- package/demo/workers/transaction-worker.js +0 -8495
- package/demo/wrtc.browser.js +0 -28
- package/dist/browser/workers/865.js +0 -10
- package/dist/browser/workers/block-worker.js +0 -9460
- package/dist/browser/workers/machine-worker.js +0 -9670
- package/dist/browser/workers/pool-worker.js +0 -4608
- package/dist/browser/workers/transaction-worker.js +0 -4600
- package/dist/chain.js +0 -10128
- package/dist/client-80bc8156.js +0 -491
- package/dist/commonjs-7fe3c381.js +0 -270
- package/dist/contracts/factory.js +0 -1
- package/dist/contracts/name-service.js +0 -1
- package/dist/contracts/native-token.js +0 -1
- package/dist/contracts/validators.js +0 -1
- package/dist/generate-account-445db122.js +0 -46
- package/dist/index-57f93805.js +0 -718
- package/dist/messages-bce1b91d-81af3b00.js +0 -315
- package/dist/module/chain.js +0 -10091
- package/dist/module/client-8031ec88.js +0 -489
- package/dist/module/commonjs-9005d5c0.js +0 -268
- package/dist/module/generate-account-489552b6.js +0 -44
- package/dist/module/index-ac2285c4.js +0 -688
- package/dist/module/messages-bce1b91d-eaf75d83.js +0 -302
- package/dist/module/node.js +0 -7049
- package/dist/module/workers/block-worker.js +0 -94
- package/dist/module/workers/machine-worker.js +0 -304
- package/dist/module/workers/pool-worker.js +0 -55
- package/dist/module/workers/transaction-worker.js +0 -47
- package/dist/node.js +0 -7061
- package/dist/standards/token.js +0 -1
- package/dist/workers/machine-worker.js +0 -1
- package/dist/workers/pool-worker.js +0 -1
- package/dist/workers/transaction-worker.js +0 -1
package/test/chain.js
CHANGED
|
@@ -1,109 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
globalThis.DEBUG = true
|
|
4
|
-
const Chain = await import('./../src/chain.js');
|
|
5
|
-
const Node = await import('./../src/node.js');
|
|
6
|
-
let imp = await import('../../networks/networks.js')
|
|
7
|
-
const networks = imp.default
|
|
8
|
-
console.log(networks.leofcoin.peach);
|
|
9
|
-
const node = await new Node.default({
|
|
10
|
-
network: 'leofcoin:peach',
|
|
11
|
-
networkName: 'leofcoin:peach',
|
|
12
|
-
networkVersion: 'peach',
|
|
13
|
-
stars: networks.leofcoin.peach.stars
|
|
14
|
-
})
|
|
15
|
-
const chain = await new Chain.default()
|
|
16
|
-
let start
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
console.log({
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
promises =
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
promises =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
promises =
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
1
|
+
|
|
2
|
+
(async () => {
|
|
3
|
+
globalThis.DEBUG = true
|
|
4
|
+
const Chain = await import('./../src/chain.js');
|
|
5
|
+
const Node = await import('./../src/node.js');
|
|
6
|
+
let imp = await import('../../networks/networks.js')
|
|
7
|
+
const networks = imp.default
|
|
8
|
+
console.log(networks.leofcoin.peach);
|
|
9
|
+
const node = await new Node.default({
|
|
10
|
+
network: 'leofcoin:peach',
|
|
11
|
+
networkName: 'leofcoin:peach',
|
|
12
|
+
networkVersion: 'peach',
|
|
13
|
+
stars: networks.leofcoin.peach.stars
|
|
14
|
+
})
|
|
15
|
+
const chain = await new Chain.default()
|
|
16
|
+
let start
|
|
17
|
+
//
|
|
18
|
+
// await chain.deleteAll()
|
|
19
|
+
// return
|
|
20
|
+
// try {
|
|
21
|
+
// const contract = await chain.utils.read('./dist/native.js')
|
|
22
|
+
// const address = await chain.deployContract(peernet.Buffer.from(`return ${contract.toString().replace(/export{([A-Z])\w+ as default}/g, '')}`))
|
|
23
|
+
// console.log(address);
|
|
24
|
+
// } catch (e) {
|
|
25
|
+
// console.log(e);
|
|
26
|
+
// } finally {
|
|
27
|
+
//
|
|
28
|
+
// }
|
|
29
|
+
// '5xdacigaguxg3yjllehp65htk32ha3sztlexxrrhmviobgibz6dt6hkxfu'
|
|
30
|
+
console.log(peernet.selectedAccount);
|
|
31
|
+
await chain.participate(peernet.selectedAccount)
|
|
32
|
+
console.log(peernet.selectedAccount);
|
|
33
|
+
const job = async () => {
|
|
34
|
+
// setTimeout(async () => {
|
|
35
|
+
let tx
|
|
36
|
+
// try {
|
|
37
|
+
// tx = await chain.createTransaction(chain.nativeToken, 'grantRole', [peernet.selectedAccount, 'MINT'])
|
|
38
|
+
// await tx.wait()
|
|
39
|
+
|
|
40
|
+
// } catch (e) {
|
|
41
|
+
// console.log({e});
|
|
42
|
+
// }
|
|
43
|
+
|
|
44
|
+
// try {
|
|
45
|
+
// tx = await chain.createTransaction(chain.nativeToken, 'mint', [peernet.selectedAccount, chain.utils.parseUnits('100000000000000').toString()])
|
|
46
|
+
|
|
47
|
+
// await tx.wait()
|
|
48
|
+
// } catch (e) {
|
|
49
|
+
// console.log({e});
|
|
50
|
+
// }
|
|
51
|
+
// return
|
|
52
|
+
let nonce = await chain.getNonce(peernet.selectedAccount)
|
|
53
|
+
console.log({nonce});
|
|
54
|
+
let balances = await chain.balances
|
|
55
|
+
console.log(`balance for ${Object.keys(balances)[0]}:${chain.utils.formatUnits(balances[Object.keys(balances)[0]]).toString()}`);
|
|
56
|
+
console.log(`balance for ${Object.keys(balances)[1]}:${chain.utils.formatUnits(balances[Object.keys(balances)[1]]).toString()}`);
|
|
57
|
+
// return
|
|
58
|
+
let promises = []
|
|
59
|
+
// nonce += 1
|
|
60
|
+
for (let i = 0; i < 10; i++) {
|
|
61
|
+
// contract , method, from, to, amount, (optional) nonce
|
|
62
|
+
nonce += 1
|
|
63
|
+
promises.push(chain.createTransaction(chain.nativeToken, 'transfer', [peernet.selectedAccount, '6zqut21djrRNJAniaTByovGhnBGs5h9wfkP35mzjZkEBZwnQVo', chain.utils.parseUnits('100').toString()], nonce))
|
|
64
|
+
}
|
|
65
|
+
promises = await Promise.allSettled(promises)
|
|
66
|
+
promises = await Promise.allSettled(promises.map(({value}) => value.wait))
|
|
67
|
+
|
|
68
|
+
console.log(`${(new Date().getTime() - start) / 1000} s`);
|
|
69
|
+
|
|
70
|
+
balances = await chain.balances
|
|
71
|
+
console.log(`balance for ${Object.keys(balances)[0]}:${chain.utils.formatUnits(balances[Object.keys(balances)[0]]).toString()}`);
|
|
72
|
+
console.log(`balance for ${Object.keys(balances)[1]}:${chain.utils.formatUnits(balances[Object.keys(balances)[1]]).toString()}`);
|
|
73
|
+
// return
|
|
74
|
+
// // setTimeout(async () => {
|
|
75
|
+
promises = []
|
|
76
|
+
|
|
77
|
+
// nonce += 1
|
|
78
|
+
for (let i = 0; i < 100; i++) {
|
|
79
|
+
// contract , method, from, to, amount, (optional) nonce
|
|
80
|
+
|
|
81
|
+
nonce += 1
|
|
82
|
+
promises.push(chain.createTransaction(chain.nativeToken, 'transfer', [peernet.selectedAccount, '6zqut21djrRNJAniaTByovGhnBGs5h9wfkP35mzjZkEBZwnQVo', chain.utils.parseUnits('100').toString()], nonce))
|
|
83
|
+
}
|
|
84
|
+
promises = await Promise.allSettled(promises)
|
|
85
|
+
promises = await Promise.allSettled(promises.map(({value}) => value.wait))
|
|
86
|
+
balances = await chain.balances
|
|
87
|
+
console.log(`balance for ${Object.keys(balances)[0]}:${chain.utils.formatUnits(balances[Object.keys(balances)[0]]).toString()}`);
|
|
88
|
+
console.log(`balance for ${Object.keys(balances)[1]}:${chain.utils.formatUnits(balances[Object.keys(balances)[1]]).toString()}`);
|
|
89
|
+
|
|
90
|
+
promises = []
|
|
91
|
+
|
|
92
|
+
// nonce += 1
|
|
93
|
+
for (let i = 0; i < 1000; i++) {
|
|
94
|
+
// contract , method, from, to, amount, (optional) nonce
|
|
95
|
+
|
|
96
|
+
nonce += 1
|
|
97
|
+
promises.push(chain.createTransaction(chain.nativeToken, 'transfer', [peernet.selectedAccount, '6zqut21djrRNJAniaTByovGhnBGs5h9wfkP35mzjZkEBZwnQVo', chain.utils.parseUnits('100').toString()], nonce))
|
|
98
|
+
}
|
|
99
|
+
promises = await Promise.allSettled(promises)
|
|
100
|
+
promises = await Promise.allSettled(promises.map(({value}) => value.wait))
|
|
101
|
+
balances = await chain.balances
|
|
102
|
+
console.log(`balance for ${Object.keys(balances)[0]}:${chain.utils.formatUnits(balances[Object.keys(balances)[0]]).toString()}`);
|
|
103
|
+
console.log(`balance for ${Object.keys(balances)[1]}:${chain.utils.formatUnits(balances[Object.keys(balances)[1]]).toString()}`);
|
|
104
|
+
// }, 10000);
|
|
105
|
+
|
|
106
|
+
// job()
|
|
107
|
+
// }, 5000);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// setTimeout(function () {
|
|
111
|
+
// start = new Date().getTime()
|
|
112
|
+
// console.log(peernet.connections);
|
|
113
|
+
// }, 10000);
|
|
114
|
+
try {
|
|
115
|
+
job()
|
|
116
|
+
} catch (e) {
|
|
117
|
+
console.warn(e);
|
|
118
|
+
}
|
|
119
|
+
return peernet
|
|
120
|
+
})()
|
package/test/contracts/token.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
const test = require('tape')
|
|
2
|
-
|
|
3
|
-
const Token = require('./../../dist/token');
|
|
4
|
-
|
|
5
|
-
class TestToken extends Token {
|
|
6
|
-
constructor() {
|
|
7
|
-
super('token', 'TKN')
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// const token = new TestToken()
|
|
13
|
-
|
|
14
|
-
test("can't access private", tape => {
|
|
15
|
-
tape.plan(3)
|
|
16
|
-
token.holders = 5
|
|
17
|
-
token.balances[0] = 100
|
|
18
|
-
token.symbol = 'TTT'
|
|
19
|
-
console.log(token.symbol);
|
|
20
|
-
tape.ok(token.symbol === 'TKN', 'symbol')
|
|
21
|
-
tape.ok(Object.keys(token.balances).length === 0, 'balances')
|
|
22
|
-
tape.ok(token.holders === 0, 'holders')
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
// test("transfer", tape => {
|
|
26
|
-
// tape.plan(1)
|
|
27
|
-
// console.log(token.balances);
|
|
28
|
-
// try {
|
|
29
|
-
// token.transfer('0', '1', 100)
|
|
30
|
-
// } catch (e) {
|
|
31
|
-
// console.log(e);
|
|
32
|
-
// } finally {
|
|
33
|
-
//
|
|
34
|
-
// }
|
|
35
|
-
// console.log(token.balances);
|
|
36
|
-
//
|
|
37
|
-
// tape.ok(token.balances[1] === 100)
|
|
38
|
-
// })
|
|
39
|
-
|
|
40
|
-
// console.log(new NativeToken());
|
|
1
|
+
const test = require('tape')
|
|
2
|
+
|
|
3
|
+
const Token = require('./../../dist/token');
|
|
4
|
+
|
|
5
|
+
class TestToken extends Token {
|
|
6
|
+
constructor() {
|
|
7
|
+
super('token', 'TKN')
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
// const token = new TestToken()
|
|
13
|
+
|
|
14
|
+
test("can't access private", tape => {
|
|
15
|
+
tape.plan(3)
|
|
16
|
+
token.holders = 5
|
|
17
|
+
token.balances[0] = 100
|
|
18
|
+
token.symbol = 'TTT'
|
|
19
|
+
console.log(token.symbol);
|
|
20
|
+
tape.ok(token.symbol === 'TKN', 'symbol')
|
|
21
|
+
tape.ok(Object.keys(token.balances).length === 0, 'balances')
|
|
22
|
+
tape.ok(token.holders === 0, 'holders')
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
// test("transfer", tape => {
|
|
26
|
+
// tape.plan(1)
|
|
27
|
+
// console.log(token.balances);
|
|
28
|
+
// try {
|
|
29
|
+
// token.transfer('0', '1', 100)
|
|
30
|
+
// } catch (e) {
|
|
31
|
+
// console.log(e);
|
|
32
|
+
// } finally {
|
|
33
|
+
//
|
|
34
|
+
// }
|
|
35
|
+
// console.log(token.balances);
|
|
36
|
+
//
|
|
37
|
+
// tape.ok(token.balances[1] === 100)
|
|
38
|
+
// })
|
|
39
|
+
|
|
40
|
+
// console.log(new NativeToken());
|
package/test/create-genesis.js
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
console.log('run');
|
|
3
|
-
|
|
4
|
-
(async () => {
|
|
5
|
-
console.log('run');
|
|
6
|
-
const {promisify} = require('util')
|
|
7
|
-
const read = promisify(require('fs').readFile)
|
|
8
|
-
const write = promisify(require('fs').writeFile)
|
|
9
|
-
const {join} = require('path')
|
|
10
|
-
console.log('t');
|
|
11
|
-
const Chain = require('./../dist/chain');
|
|
12
|
-
console.log(Chain);
|
|
13
|
-
const Node = require('./../dist/node');
|
|
14
|
-
console.log(Node);
|
|
15
|
-
console.log(Chain);
|
|
16
|
-
const node = await new Node()
|
|
17
|
-
console.log(node);
|
|
18
|
-
const chain = await new Chain()
|
|
19
|
-
console.log(chain);
|
|
20
|
-
const createMessage = async (src, params = []) => {
|
|
21
|
-
const contract = await read(src)
|
|
22
|
-
return chain.createContractMessage(peernet.id, `return ${contract.toString().replace(/export{([A-Z])\w+ as default}/g, '')}`, params)
|
|
23
|
-
}
|
|
24
|
-
const factory = await createMessage('./dist/contracts/factory.js')
|
|
25
|
-
console.log(factory);
|
|
26
|
-
if (!await contractStore.has(factory.hash)) {
|
|
27
|
-
await contractStore.put(factory.hash, factory.encoded)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const nativeToken = await createMessage('./dist/contracts/nativeToken.js')
|
|
31
|
-
if (!await contractStore.has(nativeToken.hash)) {
|
|
32
|
-
await contractStore.put(nativeToken.hash, nativeToken.encoded)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const validators = await createMessage('./dist/contracts/validators.js', [nativeToken.hash])
|
|
37
|
-
|
|
38
|
-
if (!await contractStore.has(validators.hash)) {
|
|
39
|
-
await contractStore.put(validators.hash, validators.encoded)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const nameService = await createMessage('./dist/contracts/nameService.js', [factory.hash, nativeToken.hash, validators.hash, BigNumber.from('1000')])
|
|
44
|
-
|
|
45
|
-
if (!await contractStore.has(nameService.hash)) {
|
|
46
|
-
await contractStore.put(nameService.hash, nameService.encoded)
|
|
47
|
-
}
|
|
48
|
-
const addresses = {
|
|
49
|
-
contractFactory: factory.hash,
|
|
50
|
-
nativeToken: nativeToken.hash,
|
|
51
|
-
nameService: nameService.hash,
|
|
52
|
-
validators: validators.hash
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const bytecodes = {
|
|
58
|
-
contractFactory: await factory.toString(),
|
|
59
|
-
nativeToken: await nativeToken.toString(),
|
|
60
|
-
nameService: await nameService.toString(),
|
|
61
|
-
validators: await validators.toString()
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
await write(join(process.cwd(), 'src/addresses.json'), JSON.stringify(addresses, null, '\t'))
|
|
65
|
-
await write(join(process.cwd(), 'src/bytecodes.json'), JSON.stringify(bytecodes, null, '\t'))
|
|
66
|
-
})()
|
|
1
|
+
|
|
2
|
+
console.log('run');
|
|
3
|
+
|
|
4
|
+
(async () => {
|
|
5
|
+
console.log('run');
|
|
6
|
+
const {promisify} = require('util')
|
|
7
|
+
const read = promisify(require('fs').readFile)
|
|
8
|
+
const write = promisify(require('fs').writeFile)
|
|
9
|
+
const {join} = require('path')
|
|
10
|
+
console.log('t');
|
|
11
|
+
const Chain = require('./../dist/chain');
|
|
12
|
+
console.log(Chain);
|
|
13
|
+
const Node = require('./../dist/node');
|
|
14
|
+
console.log(Node);
|
|
15
|
+
console.log(Chain);
|
|
16
|
+
const node = await new Node()
|
|
17
|
+
console.log(node);
|
|
18
|
+
const chain = await new Chain()
|
|
19
|
+
console.log(chain);
|
|
20
|
+
const createMessage = async (src, params = []) => {
|
|
21
|
+
const contract = await read(src)
|
|
22
|
+
return chain.createContractMessage(peernet.id, `return ${contract.toString().replace(/export{([A-Z])\w+ as default}/g, '')}`, params)
|
|
23
|
+
}
|
|
24
|
+
const factory = await createMessage('./dist/contracts/factory.js')
|
|
25
|
+
console.log(factory);
|
|
26
|
+
if (!await contractStore.has(factory.hash)) {
|
|
27
|
+
await contractStore.put(factory.hash, factory.encoded)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const nativeToken = await createMessage('./dist/contracts/nativeToken.js')
|
|
31
|
+
if (!await contractStore.has(nativeToken.hash)) {
|
|
32
|
+
await contractStore.put(nativeToken.hash, nativeToken.encoded)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
const validators = await createMessage('./dist/contracts/validators.js', [nativeToken.hash])
|
|
37
|
+
|
|
38
|
+
if (!await contractStore.has(validators.hash)) {
|
|
39
|
+
await contractStore.put(validators.hash, validators.encoded)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
const nameService = await createMessage('./dist/contracts/nameService.js', [factory.hash, nativeToken.hash, validators.hash, BigNumber.from('1000')])
|
|
44
|
+
|
|
45
|
+
if (!await contractStore.has(nameService.hash)) {
|
|
46
|
+
await contractStore.put(nameService.hash, nameService.encoded)
|
|
47
|
+
}
|
|
48
|
+
const addresses = {
|
|
49
|
+
contractFactory: factory.hash,
|
|
50
|
+
nativeToken: nativeToken.hash,
|
|
51
|
+
nameService: nameService.hash,
|
|
52
|
+
validators: validators.hash
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
const bytecodes = {
|
|
58
|
+
contractFactory: await factory.toString(),
|
|
59
|
+
nativeToken: await nativeToken.toString(),
|
|
60
|
+
nameService: await nameService.toString(),
|
|
61
|
+
validators: await validators.toString()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
await write(join(process.cwd(), 'src/addresses.json'), JSON.stringify(addresses, null, '\t'))
|
|
65
|
+
await write(join(process.cwd(), 'src/bytecodes.json'), JSON.stringify(bytecodes, null, '\t'))
|
|
66
|
+
})()
|
package/tsconfig.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
|
|
3
|
-
"esModuleInterop": true,
|
|
4
|
-
'allowSyntheticDefaultImports': true,
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"outDir": "./dist",
|
|
7
|
-
"esModuleInterop": true,
|
|
8
|
-
'allowSyntheticDefaultImports': true,
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
"target": "es11"
|
|
11
|
-
},
|
|
12
|
-
"include": [
|
|
13
|
-
"./src/**/*"
|
|
14
|
-
]
|
|
1
|
+
export default {
|
|
2
|
+
|
|
3
|
+
"esModuleInterop": true,
|
|
4
|
+
'allowSyntheticDefaultImports': true,
|
|
5
|
+
"compilerOptions": {
|
|
6
|
+
"outDir": "./dist",
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
'allowSyntheticDefaultImports': true,
|
|
9
|
+
"allowJs": true,
|
|
10
|
+
"target": "es11"
|
|
11
|
+
},
|
|
12
|
+
"include": [
|
|
13
|
+
"./src/**/*"
|
|
14
|
+
]
|
|
15
15
|
}
|
package/workers/block-worker.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { BlockMessage } from './../../messages/src/messages.js'
|
|
2
|
-
import { formatBytes, BigNumber } from './../../utils/src/utils.js'
|
|
3
|
-
|
|
4
|
-
import EasyWorker from '@vandeurenglenn/easy-worker'
|
|
5
|
-
|
|
6
|
-
const worker = new EasyWorker()
|
|
7
|
-
|
|
8
|
-
globalThis.BigNumber = BigNumber
|
|
9
|
-
|
|
10
|
-
globalThis.peernet = globalThis.peernet || {}
|
|
11
|
-
globalThis.contracts = {}
|
|
12
|
-
|
|
13
|
-
const run = async (blocks) => {
|
|
14
|
-
blocks = await Promise.all(blocks.map(block => new BlockMessage(block)))
|
|
15
|
-
blocks = blocks.sort((a, b) => a.decoded.timestamp - b.decoded.timestamp)
|
|
16
|
-
|
|
17
|
-
blocks = await Promise.all(blocks.map(block => new Promise(async (resolve, reject) => {
|
|
18
|
-
// todo: tx worker or nah?
|
|
19
|
-
const size = block.encoded.length || block.encoded.byteLength
|
|
20
|
-
console.log(`loaded block: ${await block.hash} @${block.decoded.index} ${formatBytes(size)}`);
|
|
21
|
-
resolve(block)
|
|
22
|
-
})))
|
|
23
|
-
return blocks
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const tasks = async blocks => {
|
|
27
|
-
globalThis.peernet.codecs = {
|
|
28
|
-
'block-message': {
|
|
29
|
-
codec: parseInt('626d', 16),
|
|
30
|
-
hashAlg: 'keccak-256'
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
blocks = await run(blocks)
|
|
35
|
-
worker.postMessage(blocks)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
worker.onmessage(data => tasks(data))
|
|
40
|
-
|
|
1
|
+
import { BlockMessage } from './../../messages/src/messages.js'
|
|
2
|
+
import { formatBytes, BigNumber } from './../../utils/src/utils.js'
|
|
3
|
+
|
|
4
|
+
import EasyWorker from '@vandeurenglenn/easy-worker'
|
|
5
|
+
|
|
6
|
+
const worker = new EasyWorker()
|
|
7
|
+
|
|
8
|
+
globalThis.BigNumber = BigNumber
|
|
9
|
+
|
|
10
|
+
globalThis.peernet = globalThis.peernet || {}
|
|
11
|
+
globalThis.contracts = {}
|
|
12
|
+
|
|
13
|
+
const run = async (blocks) => {
|
|
14
|
+
blocks = await Promise.all(blocks.map(block => new BlockMessage(block)))
|
|
15
|
+
blocks = blocks.sort((a, b) => a.decoded.timestamp - b.decoded.timestamp)
|
|
16
|
+
|
|
17
|
+
blocks = await Promise.all(blocks.map(block => new Promise(async (resolve, reject) => {
|
|
18
|
+
// todo: tx worker or nah?
|
|
19
|
+
const size = block.encoded.length || block.encoded.byteLength
|
|
20
|
+
console.log(`loaded block: ${await block.hash} @${block.decoded.index} ${formatBytes(size)}`);
|
|
21
|
+
resolve(block)
|
|
22
|
+
})))
|
|
23
|
+
return blocks
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const tasks = async blocks => {
|
|
27
|
+
globalThis.peernet.codecs = {
|
|
28
|
+
'block-message': {
|
|
29
|
+
codec: parseInt('626d', 16),
|
|
30
|
+
hashAlg: 'keccak-256'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
blocks = await run(blocks)
|
|
35
|
+
worker.postMessage(blocks)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
worker.onmessage(data => tasks(data))
|
|
40
|
+
|