tempo.ts 0.10.5 → 0.11.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 (224) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +0 -41
  3. package/dist/viem/Account.d.ts +8 -3
  4. package/dist/viem/Account.d.ts.map +1 -1
  5. package/dist/viem/Account.js +9 -2
  6. package/dist/viem/Account.js.map +1 -1
  7. package/dist/viem/Actions/amm.d.ts +1 -1
  8. package/dist/viem/Actions/amm.d.ts.map +1 -1
  9. package/dist/viem/Actions/amm.js +1 -2
  10. package/dist/viem/Actions/amm.js.map +1 -1
  11. package/dist/viem/Actions/dex.d.ts +0 -35
  12. package/dist/viem/Actions/dex.d.ts.map +1 -1
  13. package/dist/viem/Actions/dex.js +0 -43
  14. package/dist/viem/Actions/dex.js.map +1 -1
  15. package/dist/viem/Actions/fee.d.ts +1 -1
  16. package/dist/viem/Actions/fee.d.ts.map +1 -1
  17. package/dist/viem/Actions/fee.js +1 -1
  18. package/dist/viem/Actions/fee.js.map +1 -1
  19. package/dist/viem/Actions/nonce.d.ts.map +1 -1
  20. package/dist/viem/Actions/nonce.js +6 -4
  21. package/dist/viem/Actions/nonce.js.map +1 -1
  22. package/dist/viem/Actions/token.d.ts +1 -2
  23. package/dist/viem/Actions/token.d.ts.map +1 -1
  24. package/dist/viem/Actions/token.js +1 -2
  25. package/dist/viem/Actions/token.js.map +1 -1
  26. package/dist/viem/Chain.d.ts +34 -34
  27. package/dist/viem/Chain.d.ts.map +1 -1
  28. package/dist/viem/Chain.js +2 -0
  29. package/dist/viem/Chain.js.map +1 -1
  30. package/dist/viem/Formatters.d.ts.map +1 -1
  31. package/dist/viem/Formatters.js +5 -3
  32. package/dist/viem/Formatters.js.map +1 -1
  33. package/dist/viem/Transaction.d.ts +8 -5
  34. package/dist/viem/Transaction.d.ts.map +1 -1
  35. package/dist/viem/Transaction.js +13 -3
  36. package/dist/viem/Transaction.js.map +1 -1
  37. package/dist/viem/internal/types.d.ts +1 -1
  38. package/dist/viem/internal/types.d.ts.map +1 -1
  39. package/dist/wagmi/Actions/dex.d.ts +1 -45
  40. package/dist/wagmi/Actions/dex.d.ts.map +1 -1
  41. package/dist/wagmi/Actions/dex.js +0 -55
  42. package/dist/wagmi/Actions/dex.js.map +1 -1
  43. package/dist/wagmi/Connector.d.ts +1 -1
  44. package/dist/wagmi/Connector.d.ts.map +1 -1
  45. package/dist/wagmi/Connector.js +1 -2
  46. package/dist/wagmi/Connector.js.map +1 -1
  47. package/dist/wagmi/Hooks/dex.d.ts +3 -46
  48. package/dist/wagmi/Hooks/dex.d.ts.map +1 -1
  49. package/dist/wagmi/Hooks/dex.js +2 -54
  50. package/dist/wagmi/Hooks/dex.js.map +1 -1
  51. package/dist/wagmi/index.d.ts +1 -1
  52. package/dist/wagmi/index.d.ts.map +1 -1
  53. package/dist/wagmi/index.js +1 -1
  54. package/dist/wagmi/index.js.map +1 -1
  55. package/package.json +5 -23
  56. package/src/viem/Account.test.ts +1 -1
  57. package/src/viem/Account.ts +11 -2
  58. package/src/viem/Actions/account.ts +1 -1
  59. package/src/viem/Actions/amm.ts +1 -2
  60. package/src/viem/Actions/dex.test.ts +1 -195
  61. package/src/viem/Actions/dex.ts +0 -53
  62. package/src/viem/Actions/fee.test.ts +2 -2
  63. package/src/viem/Actions/fee.ts +1 -1
  64. package/src/viem/Actions/nonce.test.ts +27 -14
  65. package/src/viem/Actions/nonce.ts +6 -4
  66. package/src/viem/Actions/token.test.ts +18 -52
  67. package/src/viem/Actions/token.ts +1 -2
  68. package/src/viem/Chain.ts +3 -1
  69. package/src/viem/Decorator.ts +0 -30
  70. package/src/viem/Formatters.ts +9 -3
  71. package/src/viem/Transaction.ts +23 -7
  72. package/src/viem/e2e.test.ts +19 -0
  73. package/src/viem/index.ts +12 -1
  74. package/src/viem/internal/types.ts +1 -1
  75. package/src/wagmi/Actions/dex.test.ts +0 -26
  76. package/src/wagmi/Actions/dex.ts +1 -111
  77. package/src/wagmi/Actions/nonce.test.ts +8 -4
  78. package/src/wagmi/Actions/token.test.ts +2 -2
  79. package/src/wagmi/Connector.ts +1 -2
  80. package/src/wagmi/Hooks/dex.test.ts +0 -26
  81. package/src/wagmi/Hooks/dex.ts +1 -88
  82. package/src/wagmi/Hooks/nonce.test.ts +3 -3
  83. package/src/wagmi/index.ts +4 -1
  84. package/dist/chains.d.ts +0 -73
  85. package/dist/chains.d.ts.map +0 -1
  86. package/dist/chains.js +0 -51
  87. package/dist/chains.js.map +0 -1
  88. package/dist/ox/AuthorizationTempo.d.ts +0 -450
  89. package/dist/ox/AuthorizationTempo.d.ts.map +0 -1
  90. package/dist/ox/AuthorizationTempo.js +0 -433
  91. package/dist/ox/AuthorizationTempo.js.map +0 -1
  92. package/dist/ox/KeyAuthorization.d.ts +0 -356
  93. package/dist/ox/KeyAuthorization.d.ts.map +0 -1
  94. package/dist/ox/KeyAuthorization.js +0 -359
  95. package/dist/ox/KeyAuthorization.js.map +0 -1
  96. package/dist/ox/Order.d.ts +0 -92
  97. package/dist/ox/Order.d.ts.map +0 -1
  98. package/dist/ox/Order.js +0 -88
  99. package/dist/ox/Order.js.map +0 -1
  100. package/dist/ox/OrdersFilters.d.ts +0 -72
  101. package/dist/ox/OrdersFilters.d.ts.map +0 -1
  102. package/dist/ox/OrdersFilters.js +0 -100
  103. package/dist/ox/OrdersFilters.js.map +0 -1
  104. package/dist/ox/Pagination.d.ts +0 -128
  105. package/dist/ox/Pagination.d.ts.map +0 -1
  106. package/dist/ox/Pagination.js +0 -78
  107. package/dist/ox/Pagination.js.map +0 -1
  108. package/dist/ox/PoolId.d.ts +0 -18
  109. package/dist/ox/PoolId.d.ts.map +0 -1
  110. package/dist/ox/PoolId.js +0 -13
  111. package/dist/ox/PoolId.js.map +0 -1
  112. package/dist/ox/RpcSchema.d.ts +0 -32
  113. package/dist/ox/RpcSchema.d.ts.map +0 -1
  114. package/dist/ox/RpcSchema.js +0 -2
  115. package/dist/ox/RpcSchema.js.map +0 -1
  116. package/dist/ox/SignatureEnvelope.d.ts +0 -260
  117. package/dist/ox/SignatureEnvelope.d.ts.map +0 -1
  118. package/dist/ox/SignatureEnvelope.js +0 -477
  119. package/dist/ox/SignatureEnvelope.js.map +0 -1
  120. package/dist/ox/Tick.d.ts +0 -115
  121. package/dist/ox/Tick.d.ts.map +0 -1
  122. package/dist/ox/Tick.js +0 -127
  123. package/dist/ox/Tick.js.map +0 -1
  124. package/dist/ox/TokenId.d.ts +0 -25
  125. package/dist/ox/TokenId.d.ts.map +0 -1
  126. package/dist/ox/TokenId.js +0 -41
  127. package/dist/ox/TokenId.js.map +0 -1
  128. package/dist/ox/TokenRole.d.ts +0 -11
  129. package/dist/ox/TokenRole.d.ts.map +0 -1
  130. package/dist/ox/TokenRole.js +0 -22
  131. package/dist/ox/TokenRole.js.map +0 -1
  132. package/dist/ox/Transaction.d.ts +0 -201
  133. package/dist/ox/Transaction.d.ts.map +0 -1
  134. package/dist/ox/Transaction.js +0 -167
  135. package/dist/ox/Transaction.js.map +0 -1
  136. package/dist/ox/TransactionEnvelopeTempo.d.ts +0 -470
  137. package/dist/ox/TransactionEnvelopeTempo.d.ts.map +0 -1
  138. package/dist/ox/TransactionEnvelopeTempo.js +0 -547
  139. package/dist/ox/TransactionEnvelopeTempo.js.map +0 -1
  140. package/dist/ox/TransactionReceipt.d.ts +0 -155
  141. package/dist/ox/TransactionReceipt.d.ts.map +0 -1
  142. package/dist/ox/TransactionReceipt.js +0 -136
  143. package/dist/ox/TransactionReceipt.js.map +0 -1
  144. package/dist/ox/TransactionRequest.d.ts +0 -76
  145. package/dist/ox/TransactionRequest.d.ts.map +0 -1
  146. package/dist/ox/TransactionRequest.js +0 -93
  147. package/dist/ox/TransactionRequest.js.map +0 -1
  148. package/dist/ox/index.d.ts +0 -14
  149. package/dist/ox/index.d.ts.map +0 -1
  150. package/dist/ox/index.js +0 -14
  151. package/dist/ox/index.js.map +0 -1
  152. package/dist/prool/Instance.d.ts +0 -101
  153. package/dist/prool/Instance.d.ts.map +0 -1
  154. package/dist/prool/Instance.js +0 -136
  155. package/dist/prool/Instance.js.map +0 -1
  156. package/dist/prool/chain.json +0 -238
  157. package/dist/prool/index.d.ts +0 -2
  158. package/dist/prool/index.d.ts.map +0 -1
  159. package/dist/prool/index.js +0 -2
  160. package/dist/prool/index.js.map +0 -1
  161. package/dist/viem/Actions/account.d.ts +0 -40
  162. package/dist/viem/Actions/account.d.ts.map +0 -1
  163. package/dist/viem/Actions/account.js +0 -86
  164. package/dist/viem/Actions/account.js.map +0 -1
  165. package/dist/viem/Actions/index.d.ts +0 -10
  166. package/dist/viem/Actions/index.d.ts.map +0 -1
  167. package/dist/viem/Actions/index.js +0 -10
  168. package/dist/viem/Actions/index.js.map +0 -1
  169. package/dist/viem/Decorator.d.ts +0 -2810
  170. package/dist/viem/Decorator.d.ts.map +0 -1
  171. package/dist/viem/Decorator.js +0 -138
  172. package/dist/viem/Decorator.js.map +0 -1
  173. package/dist/viem/P256.d.ts +0 -2
  174. package/dist/viem/P256.d.ts.map +0 -1
  175. package/dist/viem/P256.js +0 -2
  176. package/dist/viem/P256.js.map +0 -1
  177. package/dist/viem/Secp256k1.d.ts +0 -2
  178. package/dist/viem/Secp256k1.d.ts.map +0 -1
  179. package/dist/viem/Secp256k1.js +0 -2
  180. package/dist/viem/Secp256k1.js.map +0 -1
  181. package/dist/viem/TokenIds.d.ts +0 -2
  182. package/dist/viem/TokenIds.d.ts.map +0 -1
  183. package/dist/viem/TokenIds.js +0 -2
  184. package/dist/viem/TokenIds.js.map +0 -1
  185. package/dist/viem/index.d.ts +0 -17
  186. package/dist/viem/index.d.ts.map +0 -1
  187. package/dist/viem/index.js +0 -17
  188. package/dist/viem/index.js.map +0 -1
  189. package/src/ox/AuthorizationTempo.test.ts +0 -1256
  190. package/src/ox/AuthorizationTempo.ts +0 -648
  191. package/src/ox/KeyAuthorization.test.ts +0 -1332
  192. package/src/ox/KeyAuthorization.ts +0 -540
  193. package/src/ox/Order.test.ts +0 -78
  194. package/src/ox/Order.ts +0 -125
  195. package/src/ox/OrdersFilters.test.ts +0 -182
  196. package/src/ox/OrdersFilters.ts +0 -125
  197. package/src/ox/Pagination.test.ts +0 -162
  198. package/src/ox/Pagination.ts +0 -164
  199. package/src/ox/PoolId.test.ts +0 -33
  200. package/src/ox/PoolId.ts +0 -27
  201. package/src/ox/RpcSchema.ts +0 -35
  202. package/src/ox/SignatureEnvelope.test.ts +0 -1876
  203. package/src/ox/SignatureEnvelope.ts +0 -791
  204. package/src/ox/Tick.test.ts +0 -281
  205. package/src/ox/Tick.ts +0 -181
  206. package/src/ox/TokenId.test.ts +0 -40
  207. package/src/ox/TokenId.ts +0 -50
  208. package/src/ox/TokenRole.test.ts +0 -16
  209. package/src/ox/TokenRole.ts +0 -27
  210. package/src/ox/Transaction.test.ts +0 -523
  211. package/src/ox/Transaction.ts +0 -332
  212. package/src/ox/TransactionEnvelopeTempo.test.ts +0 -1352
  213. package/src/ox/TransactionEnvelopeTempo.ts +0 -905
  214. package/src/ox/TransactionReceipt.ts +0 -190
  215. package/src/ox/TransactionRequest.ts +0 -147
  216. package/src/ox/e2e.test.ts +0 -1393
  217. package/src/ox/index.ts +0 -13
  218. package/src/prool/Instance.test.ts +0 -43
  219. package/src/prool/Instance.ts +0 -247
  220. package/src/prool/chain.json +0 -238
  221. package/src/prool/index.ts +0 -1
  222. package/src/viem/Actions/__snapshots__/dex.test.ts.snap +0 -850
  223. package/src/wagmi/Actions/__snapshots__/dex.test.ts.snap +0 -310
  224. package/src/wagmi/Hooks/__snapshots__/dex.test.ts.snap +0 -457
package/src/ox/index.ts DELETED
@@ -1,13 +0,0 @@
1
- export * as AuthorizationTempo from './AuthorizationTempo.js'
2
- export * as KeyAuthorization from './KeyAuthorization.js'
3
- export * as Order from './Order.js'
4
- export * as OrdersFilters from './OrdersFilters.js'
5
- export * as Pagination from './Pagination.js'
6
- export * as PoolId from './PoolId.js'
7
- export * as RpcSchema from './RpcSchema.js'
8
- export * as SignatureEnvelope from './SignatureEnvelope.js'
9
- export * as Tick from './Tick.js'
10
- export * as TokenId from './TokenId.js'
11
- export * as TokenRole from './TokenRole.js'
12
- export * as Transaction from './Transaction.js'
13
- export * as TransactionEnvelopeTempo from './TransactionEnvelopeTempo.js'
@@ -1,43 +0,0 @@
1
- import type { Instance as prool_Instance } from 'prool/instances'
2
- import { Instance } from 'tempo.ts/prool'
3
- import { afterEach, describe, expect, test } from 'vitest'
4
-
5
- const instances: prool_Instance[] = []
6
-
7
- const tempo = (parameters: Instance.tempo.Parameters = {}) => {
8
- const instance = Instance.tempo({ ...parameters, port: 8888 })
9
- instances.push(instance)
10
- return instance
11
- }
12
-
13
- afterEach(async () => {
14
- for (const instance of instances) await instance.stop().catch(() => {})
15
- })
16
-
17
- describe('tempo', () => {
18
- test('default', async () => {
19
- const messages: string[] = []
20
- const stdouts: string[] = []
21
-
22
- const instance = tempo()
23
-
24
- instance.on('message', (m) => messages.push(m))
25
- instance.on('stdout', (m) => stdouts.push(m))
26
-
27
- expect(instance.messages.get()).toMatchInlineSnapshot('[]')
28
-
29
- await instance.start()
30
- expect(instance.status).toEqual('started')
31
-
32
- expect(messages.join('')).toBeDefined()
33
- expect(stdouts.join('')).toBeDefined()
34
- expect(instance.messages.get().join('')).toBeDefined()
35
-
36
- await instance.stop()
37
- expect(instance.status).toEqual('stopped')
38
-
39
- expect(messages.join('')).toBeDefined()
40
- expect(stdouts.join('')).toBeDefined()
41
- expect(instance.messages.get()).toMatchInlineSnapshot('[]')
42
- })
43
- })
@@ -1,247 +0,0 @@
1
- import * as cp from 'node:child_process'
2
- import * as path from 'node:path'
3
- import { setTimeout } from 'node:timers/promises'
4
- import { toArgs } from 'prool'
5
- import { defineInstance } from 'prool/instances'
6
- import { execa } from 'prool/processes'
7
-
8
- let pulled = false
9
-
10
- /**
11
- * Defines a Tempo instance.
12
- *
13
- * @example
14
- * ```ts
15
- * const instance = tempo()
16
- * await instance.start()
17
- * // ...
18
- * await instance.stop()
19
- * ```
20
- */
21
- export const tempo = defineInstance((parameters: tempo.Parameters = {}) => {
22
- const {
23
- builder,
24
- containerName = `tempo.${crypto.randomUUID()}`,
25
- chain = path.resolve(import.meta.dirname, './chain.json'),
26
- image = 'ghcr.io/tempoxyz/tempo',
27
- dev,
28
- log: log_,
29
- faucet,
30
- tag = 'latest',
31
- ...args
32
- } = parameters
33
- const { deadline = 3, gaslimit = 3000000000, maxTasks = 8 } = builder ?? {}
34
- const { blockTime = '1sec' } = dev ?? {}
35
- const {
36
- addresses = ['0x20c0000000000000000000000000000000000001'],
37
- amount = '1000000000000',
38
- privateKey = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
39
- } = faucet ?? {}
40
-
41
- const log = (() => {
42
- try {
43
- return JSON.parse(log_ as string)
44
- } catch {
45
- return log_
46
- }
47
- })()
48
-
49
- const name = 'tempo'
50
- const process_ = execa({ name })
51
-
52
- return {
53
- _internal: {
54
- args,
55
- get process() {
56
- return process_._internal.process
57
- },
58
- },
59
- host: args.host ?? 'localhost',
60
- name,
61
- port: args.port ?? 8545,
62
- async start({ port = args.port }, options) {
63
- if (!pulled) {
64
- cp.spawnSync('docker', [
65
- 'pull',
66
- `${image}:${tag}`,
67
- '--platform',
68
- 'linux/x86_64',
69
- ])
70
- pulled = true
71
- }
72
-
73
- const rustLog = log && typeof log !== 'boolean' ? log : ''
74
-
75
- return await process_.start(
76
- ($) =>
77
- $`docker run \
78
- --name ${containerName} \
79
- --network host \
80
- --platform linux/x86_64 \
81
- --add-host host.docker.internal:host-gateway \
82
- --add-host localhost:host-gateway \
83
- -v ${chain}:/chain.json \
84
- -p ${port!}:${port!} \
85
- -e RUST_LOG=${rustLog} \
86
- ${image}:${tag} \
87
- node \
88
- --dev \
89
- --engine.disable-precompile-cache \
90
- --engine.legacy-state-root \
91
- --faucet.enabled \
92
- --faucet.address ${addresses.join(' ')} \
93
- --http \
94
- ${toArgs({
95
- ...args,
96
- builder: {
97
- deadline,
98
- gaslimit,
99
- maxTasks,
100
- },
101
- chain: '/chain.json',
102
- datadir: '/data',
103
- dev: {
104
- blockTime,
105
- },
106
- faucet: {
107
- amount,
108
- privateKey,
109
- },
110
- http: {
111
- api: 'all',
112
- addr: '0.0.0.0',
113
- corsdomain: '*',
114
- port: port!,
115
- },
116
- port: port! + 10,
117
- txpool: {
118
- pendingMaxCount: '10000000000000',
119
- basefeeMaxCount: '10000000000000',
120
- queuedMaxCount: '10000000000000',
121
- pendingMaxSize: '10000',
122
- basefeeMaxSize: '10000',
123
- queuedMaxSize: '10000',
124
- maxAccountSlots: '500000',
125
- },
126
- ws: {
127
- port: port! + 20,
128
- },
129
- authrpc: {
130
- port: port! + 30,
131
- },
132
- })}`,
133
- {
134
- ...options,
135
- resolver({ process, reject, resolve }) {
136
- process.stdout.on('data', (data) => {
137
- const message = data.toString()
138
- if (log) console.log(message)
139
- if (message.includes('shutting down')) reject(message)
140
- if (message.includes('RPC HTTP server started'))
141
- setTimeout(2000).then(resolve)
142
- })
143
- process.stderr.on('data', (data) => {
144
- const message = data.toString()
145
- if (log) console.error(message)
146
- reject(message)
147
- })
148
- },
149
- },
150
- )
151
- },
152
- async stop() {
153
- cp.spawnSync('docker', ['rm', '-f', containerName])
154
- },
155
- }
156
- })
157
-
158
- export declare namespace tempo {
159
- export type Parameters = {
160
- /**
161
- * Builder options.
162
- */
163
- builder?:
164
- | {
165
- /**
166
- * The deadline for when the payload builder job should resolve.
167
- */
168
- deadline?: number | undefined
169
- /**
170
- * Target gas limit for built blocks.
171
- */
172
- gaslimit?: bigint | undefined
173
- /**
174
- * Maximum number of tasks to spawn for building a payload.
175
- */
176
- maxTasks?: number | undefined
177
- }
178
- | undefined
179
- /**
180
- * Chain this node is running.
181
- */
182
- chain?: string | undefined
183
- /**
184
- * Name of the container.
185
- */
186
- containerName?: string | undefined
187
- /**
188
- * Development options.
189
- */
190
- dev?:
191
- | {
192
- /**
193
- * Interval between blocks.
194
- */
195
- blockTime?: string | undefined
196
- }
197
- | undefined
198
- /**
199
- * Faucet options.
200
- */
201
- faucet?:
202
- | {
203
- /**
204
- * Target token addresses for the faucet to be funding with
205
- */
206
- addresses?: string[] | undefined
207
- /**
208
- * Amount for each faucet funding transaction
209
- */
210
- amount?: bigint | undefined
211
- /**
212
- * Faucet funding mnemonic
213
- */
214
- privateKey?: string | undefined
215
- }
216
- | undefined
217
- /**
218
- * Docker image to use.
219
- */
220
- image?: string | undefined
221
- /**
222
- * Rust log level configuration (sets RUST_LOG environment variable).
223
- * Can be a log level or a custom filter string.
224
- */
225
- log?:
226
- | 'trace'
227
- | 'debug'
228
- | 'info'
229
- | 'warn'
230
- | 'error'
231
- | (string & {})
232
- | boolean
233
- | undefined
234
- /**
235
- * Host the server will listen on.
236
- */
237
- host?: string | undefined
238
- /**
239
- * Port the server will listen on.
240
- */
241
- port?: number | undefined
242
- /**
243
- * Tag of the image to use.
244
- */
245
- tag?: string | undefined
246
- }
247
- }