tempo.ts 0.1.4 → 0.1.5
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/dist/prool/Instance.d.ts
CHANGED
|
@@ -75,6 +75,11 @@ export declare namespace tempo {
|
|
|
75
75
|
*/
|
|
76
76
|
privateKey?: string | undefined;
|
|
77
77
|
} | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Rust log level configuration (sets RUST_LOG environment variable).
|
|
80
|
+
* Can be a log level or a custom filter string.
|
|
81
|
+
*/
|
|
82
|
+
log?: 'trace' | 'debug' | 'info' | 'warn' | 'error' | (string & {}) | boolean | undefined;
|
|
78
83
|
/**
|
|
79
84
|
* Host the server will listen on.
|
|
80
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/prool/Instance.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK;;
|
|
1
|
+
{"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/prool/Instance.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK;;QAkLd;;WAEG;eACI,MAAM,GAAG,SAAS;QACzB;;WAEG;eACI,MAAM,GAAG,SAAS;;;oBAjF3B,CAAA;AAEF,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAY,UAAU,GAAG;QACvB;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B;;WAEG;QACH,OAAO,CAAC,EACJ;YACE;;eAEG;YACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC7B;;eAEG;YACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC7B;;eAEG;YACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAC9B,GACD,SAAS,CAAA;QACb;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B;;WAEG;QACH,GAAG,CAAC,EACA;YACE;;eAEG;YACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAC/B,GACD,SAAS,CAAA;QACb;;WAEG;QACH,MAAM,CAAC,EACH;YACE;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC5B;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC3B;;eAEG;YACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAChC,GACD,SAAS,CAAA;QACb;;;WAGG;QACH,GAAG,CAAC,EACA,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,CAAC,MAAM,GAAG,EAAE,CAAC,GACb,OAAO,GACP,SAAS,CAAA;QACb;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;CACF"}
|
package/dist/prool/Instance.js
CHANGED
|
@@ -15,18 +15,18 @@ import { execa } from 'prool/processes';
|
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
17
|
export const tempo = defineInstance((parameters = {}) => {
|
|
18
|
-
const { binary = 'tempo', builder, chain = path.resolve(import.meta.dirname, './internal/chain.json'), dev, faucet, ...args } = parameters;
|
|
18
|
+
const { binary = 'tempo', builder, chain = path.resolve(import.meta.dirname, './internal/chain.json'), dev, faucet, log = process.env.RUST_LOG, ...args } = parameters;
|
|
19
19
|
const { deadline = 3, gaslimit = 3000000000, maxTasks = 8 } = builder ?? {};
|
|
20
20
|
const { blockTime = '1sec' } = dev ?? {};
|
|
21
21
|
const { address = '0x20c0000000000000000000000000000000000001', amount = 1000000000000000, privateKey = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80', } = faucet ?? {};
|
|
22
22
|
const name = 'tempo';
|
|
23
|
-
const
|
|
23
|
+
const process_ = execa({ name });
|
|
24
24
|
const tmp = `./tmp/${crypto.randomUUID()}`;
|
|
25
25
|
return {
|
|
26
26
|
_internal: {
|
|
27
27
|
args,
|
|
28
28
|
get process() {
|
|
29
|
-
return
|
|
29
|
+
return process_._internal.process;
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
32
|
host: args.host ?? 'localhost',
|
|
@@ -38,7 +38,10 @@ export const tempo = defineInstance((parameters = {}) => {
|
|
|
38
38
|
}
|
|
39
39
|
catch { }
|
|
40
40
|
fs.mkdirSync(tmp, { recursive: true });
|
|
41
|
-
|
|
41
|
+
const env = {};
|
|
42
|
+
if (log && typeof log !== 'boolean')
|
|
43
|
+
env.RUST_LOG = log;
|
|
44
|
+
return await process_.start(($) => $(Object.keys(env).length > 0 ? { env } : {}) `${binary} node --http --dev --no-consensus --engine.disable-precompile-cache --faucet.enabled ${toArgs({
|
|
42
45
|
...args,
|
|
43
46
|
builder: {
|
|
44
47
|
deadline,
|
|
@@ -59,6 +62,7 @@ export const tempo = defineInstance((parameters = {}) => {
|
|
|
59
62
|
http: {
|
|
60
63
|
api: 'all',
|
|
61
64
|
addr: '0.0.0.0',
|
|
65
|
+
corsdomain: '*',
|
|
62
66
|
port: port,
|
|
63
67
|
},
|
|
64
68
|
ws: {
|
|
@@ -72,6 +76,8 @@ export const tempo = defineInstance((parameters = {}) => {
|
|
|
72
76
|
resolver({ process, reject, resolve }) {
|
|
73
77
|
process.stdout.on('data', (data) => {
|
|
74
78
|
const message = data.toString();
|
|
79
|
+
if (log)
|
|
80
|
+
console.log(message);
|
|
75
81
|
if (message.includes('shutting down'))
|
|
76
82
|
reject(message);
|
|
77
83
|
if (message.includes('RPC HTTP server started'))
|
|
@@ -79,6 +85,8 @@ export const tempo = defineInstance((parameters = {}) => {
|
|
|
79
85
|
});
|
|
80
86
|
process.stderr.on('data', (data) => {
|
|
81
87
|
const message = data.toString();
|
|
88
|
+
if (log)
|
|
89
|
+
console.error(message);
|
|
82
90
|
reject(message);
|
|
83
91
|
});
|
|
84
92
|
},
|
|
@@ -89,7 +97,7 @@ export const tempo = defineInstance((parameters = {}) => {
|
|
|
89
97
|
fs.rmSync(tmp, { recursive: true });
|
|
90
98
|
}
|
|
91
99
|
catch { }
|
|
92
|
-
await
|
|
100
|
+
await process_.stop();
|
|
93
101
|
},
|
|
94
102
|
};
|
|
95
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../src/prool/Instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,aAA+B,EAAE,EAAE,EAAE;IACxE,MAAM,EACJ,MAAM,GAAG,OAAO,EAChB,OAAO,EACP,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAClE,GAAG,EACH,MAAM,EACN,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;IACd,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAC3E,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;IACxC,MAAM,EACJ,OAAO,GAAG,4CAA4C,EACtD,MAAM,GAAG,gBAAgB,EACzB,UAAU,GAAG,oEAAoE,GAClF,GAAG,MAAM,IAAI,EAAE,CAAA;IAEhB,MAAM,IAAI,GAAG,OAAO,CAAA;IACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../src/prool/Instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,aAA+B,EAAE,EAAE,EAAE;IACxE,MAAM,EACJ,MAAM,GAAG,OAAO,EAChB,OAAO,EACP,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAClE,GAAG,EACH,MAAM,EACN,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAC1B,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;IACd,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAC3E,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;IACxC,MAAM,EACJ,OAAO,GAAG,4CAA4C,EACtD,MAAM,GAAG,gBAAgB,EACzB,UAAU,GAAG,oEAAoE,GAClF,GAAG,MAAM,IAAI,EAAE,CAAA;IAEhB,MAAM,IAAI,GAAG,OAAO,CAAA;IACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEhC,MAAM,GAAG,GAAG,SAAS,MAAM,CAAC,UAAU,EAAE,EAAE,CAAA;IAE1C,OAAO;QACL,SAAS,EAAE;YACT,IAAI;YACJ,IAAI,OAAO;gBACT,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAA;YACnC,CAAC;SACF;QACD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,WAAW;QAC9B,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO;YACvC,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAEtC,MAAM,GAAG,GAA2B,EAAE,CAAA;YACtC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,SAAS;gBAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAA;YAEvD,OAAO,MAAM,QAAQ,CAAC,KAAK,CACzB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CACC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAA,GAAG,MAAM,wFAAwF,MAAM,CACtG;gBACE,GAAG,IAAI;gBACP,OAAO,EAAE;oBACP,QAAQ;oBACR,QAAQ;oBACR,QAAQ;iBACT;gBACD,KAAK;gBACL,OAAO,EAAE,GAAG,GAAG,OAAO;gBACtB,GAAG,EAAE;oBACH,SAAS;iBACV;gBACD,MAAM,EAAE;oBACN,OAAO;oBACP,MAAM;oBACN,UAAU;iBACX;gBACD,IAAI,EAAE,IAAK,GAAG,EAAE;gBAChB,IAAI,EAAE;oBACJ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,IAAK;iBACZ;gBACD,EAAE,EAAE;oBACF,IAAI,EAAE,IAAK,GAAG,EAAE;iBACjB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,IAAK,GAAG,EAAE;iBACjB;aACF,CACF,EAAE,EACL;gBACE,GAAG,OAAO;gBACV,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;oBACnC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;wBAC/B,IAAI,GAAG;4BAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;wBAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;4BAAE,MAAM,CAAC,OAAO,CAAC,CAAA;wBACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;4BAAE,OAAO,EAAE,CAAA;oBAC5D,CAAC,CAAC,CAAA;oBACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;wBAC/B,IAAI,GAAG;4BAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;wBAC/B,MAAM,CAAC,OAAO,CAAC,CAAA;oBACjB,CAAC,CAAC,CAAA;gBACJ,CAAC;aACF,CACF,CAAA;QACH,CAAC;QACD,KAAK,CAAC,IAAI;YACR,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACvB,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
package/src/prool/Instance.ts
CHANGED
|
@@ -22,6 +22,7 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
22
22
|
chain = path.resolve(import.meta.dirname, './internal/chain.json'),
|
|
23
23
|
dev,
|
|
24
24
|
faucet,
|
|
25
|
+
log = process.env.RUST_LOG,
|
|
25
26
|
...args
|
|
26
27
|
} = parameters
|
|
27
28
|
const { deadline = 3, gaslimit = 3000000000, maxTasks = 8 } = builder ?? {}
|
|
@@ -33,7 +34,7 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
33
34
|
} = faucet ?? {}
|
|
34
35
|
|
|
35
36
|
const name = 'tempo'
|
|
36
|
-
const
|
|
37
|
+
const process_ = execa({ name })
|
|
37
38
|
|
|
38
39
|
const tmp = `./tmp/${crypto.randomUUID()}`
|
|
39
40
|
|
|
@@ -41,7 +42,7 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
41
42
|
_internal: {
|
|
42
43
|
args,
|
|
43
44
|
get process() {
|
|
44
|
-
return
|
|
45
|
+
return process_._internal.process
|
|
45
46
|
},
|
|
46
47
|
},
|
|
47
48
|
host: args.host ?? 'localhost',
|
|
@@ -52,9 +53,15 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
52
53
|
fs.rmSync(tmp, { recursive: true })
|
|
53
54
|
} catch {}
|
|
54
55
|
fs.mkdirSync(tmp, { recursive: true })
|
|
55
|
-
|
|
56
|
+
|
|
57
|
+
const env: Record<string, string> = {}
|
|
58
|
+
if (log && typeof log !== 'boolean') env.RUST_LOG = log
|
|
59
|
+
|
|
60
|
+
return await process_.start(
|
|
56
61
|
($) =>
|
|
57
|
-
|
|
62
|
+
$(
|
|
63
|
+
Object.keys(env).length > 0 ? { env } : {},
|
|
64
|
+
)`${binary} node --http --dev --no-consensus --engine.disable-precompile-cache --faucet.enabled ${toArgs(
|
|
58
65
|
{
|
|
59
66
|
...args,
|
|
60
67
|
builder: {
|
|
@@ -76,6 +83,7 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
76
83
|
http: {
|
|
77
84
|
api: 'all',
|
|
78
85
|
addr: '0.0.0.0',
|
|
86
|
+
corsdomain: '*',
|
|
79
87
|
port: port!,
|
|
80
88
|
},
|
|
81
89
|
ws: {
|
|
@@ -91,11 +99,13 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
91
99
|
resolver({ process, reject, resolve }) {
|
|
92
100
|
process.stdout.on('data', (data) => {
|
|
93
101
|
const message = data.toString()
|
|
102
|
+
if (log) console.log(message)
|
|
94
103
|
if (message.includes('shutting down')) reject(message)
|
|
95
104
|
if (message.includes('RPC HTTP server started')) resolve()
|
|
96
105
|
})
|
|
97
106
|
process.stderr.on('data', (data) => {
|
|
98
107
|
const message = data.toString()
|
|
108
|
+
if (log) console.error(message)
|
|
99
109
|
reject(message)
|
|
100
110
|
})
|
|
101
111
|
},
|
|
@@ -106,7 +116,7 @@ export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
|
|
|
106
116
|
try {
|
|
107
117
|
fs.rmSync(tmp, { recursive: true })
|
|
108
118
|
} catch {}
|
|
109
|
-
await
|
|
119
|
+
await process_.stop()
|
|
110
120
|
},
|
|
111
121
|
}
|
|
112
122
|
})
|
|
@@ -170,6 +180,19 @@ export declare namespace tempo {
|
|
|
170
180
|
privateKey?: string | undefined
|
|
171
181
|
}
|
|
172
182
|
| undefined
|
|
183
|
+
/**
|
|
184
|
+
* Rust log level configuration (sets RUST_LOG environment variable).
|
|
185
|
+
* Can be a log level or a custom filter string.
|
|
186
|
+
*/
|
|
187
|
+
log?:
|
|
188
|
+
| 'trace'
|
|
189
|
+
| 'debug'
|
|
190
|
+
| 'info'
|
|
191
|
+
| 'warn'
|
|
192
|
+
| 'error'
|
|
193
|
+
| (string & {})
|
|
194
|
+
| boolean
|
|
195
|
+
| undefined
|
|
173
196
|
/**
|
|
174
197
|
* Host the server will listen on.
|
|
175
198
|
*/
|