tempo.ts 0.1.3 → 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.
@@ -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;;QA2Jd;;WAEG;eACI,MAAM,GAAG,SAAS;QACzB;;WAEG;eACI,MAAM,GAAG,SAAS;;;oBApE3B,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;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;CACF"}
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"}
@@ -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 process = execa({ name });
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 process._internal.process;
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
- return await process.start(($) => $ `${binary} node --http --dev --no-consensus --engine.disable-precompile-cache --faucet.enabled ${toArgs({
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 process.stop();
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":"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"}
1
+ {"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../src/prool/Instance.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export * as Addresses from './Addresses.js';
4
4
  export * as Chain from './Chain.js';
5
5
  export * as Client from './Client.js';
6
6
  export { createTempoClient } from './Client.js';
7
- export { decorator as tempoActions } from './Decorator.js';
7
+ export { type Decorator as TempoActions, decorator as tempoActions, } from './Decorator.js';
8
8
  export * as Formatters from './Formatters.js';
9
9
  export * as Tick from './Tick.js';
10
10
  export * as TokenIds from './TokenIds.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viem/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viem/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EACL,KAAK,SAAS,IAAI,YAAY,EAC9B,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
@@ -4,7 +4,7 @@ export * as Addresses from './Addresses.js';
4
4
  export * as Chain from './Chain.js';
5
5
  export * as Client from './Client.js';
6
6
  export { createTempoClient } from './Client.js';
7
- export { decorator as tempoActions } from './Decorator.js';
7
+ export { decorator as tempoActions, } from './Decorator.js';
8
8
  export * as Formatters from './Formatters.js';
9
9
  export * as Tick from './Tick.js';
10
10
  export * as TokenIds from './TokenIds.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/viem/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/viem/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAEL,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tempo.ts",
3
3
  "type": "module",
4
- "version": "0.1.3",
4
+ "version": "0.1.5",
5
5
  "dependencies": {
6
6
  "ox": "~0.9.9"
7
7
  },
@@ -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 process = execa({ name })
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 process._internal.process
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
- return await process.start(
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
- $`${binary} node --http --dev --no-consensus --engine.disable-precompile-cache --faucet.enabled ${toArgs(
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 process.stop()
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
  */
package/src/viem/index.ts CHANGED
@@ -4,7 +4,10 @@ export * as Addresses from './Addresses.js'
4
4
  export * as Chain from './Chain.js'
5
5
  export * as Client from './Client.js'
6
6
  export { createTempoClient } from './Client.js'
7
- export { decorator as tempoActions } from './Decorator.js'
7
+ export {
8
+ type Decorator as TempoActions,
9
+ decorator as tempoActions,
10
+ } from './Decorator.js'
8
11
  export * as Formatters from './Formatters.js'
9
12
  export * as Tick from './Tick.js'
10
13
  export * as TokenIds from './TokenIds.js'