tempo.ts 0.10.5 → 0.11.1

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 (203) hide show
  1. package/CHANGELOG.md +36 -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/account.d.ts.map +1 -1
  8. package/dist/viem/Actions/account.js +1 -1
  9. package/dist/viem/Actions/account.js.map +1 -1
  10. package/dist/viem/Actions/amm.d.ts +1 -1
  11. package/dist/viem/Actions/amm.d.ts.map +1 -1
  12. package/dist/viem/Actions/amm.js +1 -2
  13. package/dist/viem/Actions/amm.js.map +1 -1
  14. package/dist/viem/Actions/dex.d.ts +0 -35
  15. package/dist/viem/Actions/dex.d.ts.map +1 -1
  16. package/dist/viem/Actions/dex.js +0 -43
  17. package/dist/viem/Actions/dex.js.map +1 -1
  18. package/dist/viem/Actions/fee.d.ts +1 -1
  19. package/dist/viem/Actions/fee.d.ts.map +1 -1
  20. package/dist/viem/Actions/fee.js +1 -1
  21. package/dist/viem/Actions/fee.js.map +1 -1
  22. package/dist/viem/Actions/nonce.d.ts.map +1 -1
  23. package/dist/viem/Actions/nonce.js +6 -4
  24. package/dist/viem/Actions/nonce.js.map +1 -1
  25. package/dist/viem/Actions/token.d.ts +1 -2
  26. package/dist/viem/Actions/token.d.ts.map +1 -1
  27. package/dist/viem/Actions/token.js +1 -2
  28. package/dist/viem/Actions/token.js.map +1 -1
  29. package/dist/viem/Chain.d.ts +34 -34
  30. package/dist/viem/Chain.d.ts.map +1 -1
  31. package/dist/viem/Chain.js +2 -0
  32. package/dist/viem/Chain.js.map +1 -1
  33. package/dist/viem/Decorator.d.ts +0 -27
  34. package/dist/viem/Decorator.d.ts.map +1 -1
  35. package/dist/viem/Decorator.js +0 -1
  36. package/dist/viem/Decorator.js.map +1 -1
  37. package/dist/viem/Formatters.d.ts.map +1 -1
  38. package/dist/viem/Formatters.js +5 -3
  39. package/dist/viem/Formatters.js.map +1 -1
  40. package/dist/viem/Transaction.d.ts +8 -5
  41. package/dist/viem/Transaction.d.ts.map +1 -1
  42. package/dist/viem/Transaction.js +13 -3
  43. package/dist/viem/Transaction.js.map +1 -1
  44. package/dist/viem/index.d.ts +10 -1
  45. package/dist/viem/index.d.ts.map +1 -1
  46. package/dist/viem/index.js +1 -1
  47. package/dist/viem/index.js.map +1 -1
  48. package/dist/viem/internal/types.d.ts +1 -1
  49. package/dist/viem/internal/types.d.ts.map +1 -1
  50. package/dist/wagmi/Actions/dex.d.ts +1 -45
  51. package/dist/wagmi/Actions/dex.d.ts.map +1 -1
  52. package/dist/wagmi/Actions/dex.js +0 -55
  53. package/dist/wagmi/Actions/dex.js.map +1 -1
  54. package/dist/wagmi/Connector.d.ts +1 -1
  55. package/dist/wagmi/Connector.d.ts.map +1 -1
  56. package/dist/wagmi/Connector.js +1 -2
  57. package/dist/wagmi/Connector.js.map +1 -1
  58. package/dist/wagmi/Hooks/dex.d.ts +3 -46
  59. package/dist/wagmi/Hooks/dex.d.ts.map +1 -1
  60. package/dist/wagmi/Hooks/dex.js +2 -54
  61. package/dist/wagmi/Hooks/dex.js.map +1 -1
  62. package/dist/wagmi/index.d.ts +1 -1
  63. package/dist/wagmi/index.d.ts.map +1 -1
  64. package/dist/wagmi/index.js +1 -1
  65. package/dist/wagmi/index.js.map +1 -1
  66. package/package.json +5 -13
  67. package/src/viem/Account.test.ts +1 -1
  68. package/src/viem/Account.ts +11 -2
  69. package/src/viem/Actions/account.ts +1 -1
  70. package/src/viem/Actions/amm.ts +1 -2
  71. package/src/viem/Actions/dex.test.ts +1 -195
  72. package/src/viem/Actions/dex.ts +0 -53
  73. package/src/viem/Actions/fee.test.ts +2 -2
  74. package/src/viem/Actions/fee.ts +1 -1
  75. package/src/viem/Actions/nonce.test.ts +27 -14
  76. package/src/viem/Actions/nonce.ts +6 -4
  77. package/src/viem/Actions/token.test.ts +18 -52
  78. package/src/viem/Actions/token.ts +1 -2
  79. package/src/viem/Chain.ts +3 -1
  80. package/src/viem/Decorator.ts +0 -30
  81. package/src/viem/Formatters.ts +9 -3
  82. package/src/viem/Transaction.ts +23 -7
  83. package/src/viem/e2e.test.ts +19 -0
  84. package/src/viem/index.ts +12 -1
  85. package/src/viem/internal/types.ts +1 -1
  86. package/src/wagmi/Actions/dex.test.ts +0 -26
  87. package/src/wagmi/Actions/dex.ts +1 -111
  88. package/src/wagmi/Actions/nonce.test.ts +8 -4
  89. package/src/wagmi/Actions/token.test.ts +2 -2
  90. package/src/wagmi/Connector.ts +1 -2
  91. package/src/wagmi/Hooks/dex.test.ts +0 -26
  92. package/src/wagmi/Hooks/dex.ts +1 -88
  93. package/src/wagmi/Hooks/nonce.test.ts +3 -3
  94. package/src/wagmi/index.ts +4 -1
  95. package/dist/ox/AuthorizationTempo.d.ts +0 -450
  96. package/dist/ox/AuthorizationTempo.d.ts.map +0 -1
  97. package/dist/ox/AuthorizationTempo.js +0 -433
  98. package/dist/ox/AuthorizationTempo.js.map +0 -1
  99. package/dist/ox/KeyAuthorization.d.ts +0 -356
  100. package/dist/ox/KeyAuthorization.d.ts.map +0 -1
  101. package/dist/ox/KeyAuthorization.js +0 -359
  102. package/dist/ox/KeyAuthorization.js.map +0 -1
  103. package/dist/ox/Order.d.ts +0 -92
  104. package/dist/ox/Order.d.ts.map +0 -1
  105. package/dist/ox/Order.js +0 -88
  106. package/dist/ox/Order.js.map +0 -1
  107. package/dist/ox/OrdersFilters.d.ts +0 -72
  108. package/dist/ox/OrdersFilters.d.ts.map +0 -1
  109. package/dist/ox/OrdersFilters.js +0 -100
  110. package/dist/ox/OrdersFilters.js.map +0 -1
  111. package/dist/ox/Pagination.d.ts +0 -128
  112. package/dist/ox/Pagination.d.ts.map +0 -1
  113. package/dist/ox/Pagination.js +0 -78
  114. package/dist/ox/Pagination.js.map +0 -1
  115. package/dist/ox/PoolId.d.ts +0 -18
  116. package/dist/ox/PoolId.d.ts.map +0 -1
  117. package/dist/ox/PoolId.js +0 -13
  118. package/dist/ox/PoolId.js.map +0 -1
  119. package/dist/ox/RpcSchema.d.ts +0 -32
  120. package/dist/ox/RpcSchema.d.ts.map +0 -1
  121. package/dist/ox/RpcSchema.js +0 -2
  122. package/dist/ox/RpcSchema.js.map +0 -1
  123. package/dist/ox/SignatureEnvelope.d.ts +0 -260
  124. package/dist/ox/SignatureEnvelope.d.ts.map +0 -1
  125. package/dist/ox/SignatureEnvelope.js +0 -477
  126. package/dist/ox/SignatureEnvelope.js.map +0 -1
  127. package/dist/ox/Tick.d.ts +0 -115
  128. package/dist/ox/Tick.d.ts.map +0 -1
  129. package/dist/ox/Tick.js +0 -127
  130. package/dist/ox/Tick.js.map +0 -1
  131. package/dist/ox/TokenId.d.ts +0 -25
  132. package/dist/ox/TokenId.d.ts.map +0 -1
  133. package/dist/ox/TokenId.js +0 -41
  134. package/dist/ox/TokenId.js.map +0 -1
  135. package/dist/ox/TokenRole.d.ts +0 -11
  136. package/dist/ox/TokenRole.d.ts.map +0 -1
  137. package/dist/ox/TokenRole.js +0 -22
  138. package/dist/ox/TokenRole.js.map +0 -1
  139. package/dist/ox/Transaction.d.ts +0 -201
  140. package/dist/ox/Transaction.d.ts.map +0 -1
  141. package/dist/ox/Transaction.js +0 -167
  142. package/dist/ox/Transaction.js.map +0 -1
  143. package/dist/ox/TransactionEnvelopeTempo.d.ts +0 -470
  144. package/dist/ox/TransactionEnvelopeTempo.d.ts.map +0 -1
  145. package/dist/ox/TransactionEnvelopeTempo.js +0 -547
  146. package/dist/ox/TransactionEnvelopeTempo.js.map +0 -1
  147. package/dist/ox/TransactionReceipt.d.ts +0 -155
  148. package/dist/ox/TransactionReceipt.d.ts.map +0 -1
  149. package/dist/ox/TransactionReceipt.js +0 -136
  150. package/dist/ox/TransactionReceipt.js.map +0 -1
  151. package/dist/ox/TransactionRequest.d.ts +0 -76
  152. package/dist/ox/TransactionRequest.d.ts.map +0 -1
  153. package/dist/ox/TransactionRequest.js +0 -93
  154. package/dist/ox/TransactionRequest.js.map +0 -1
  155. package/dist/ox/index.d.ts +0 -14
  156. package/dist/ox/index.d.ts.map +0 -1
  157. package/dist/ox/index.js +0 -14
  158. package/dist/ox/index.js.map +0 -1
  159. package/dist/prool/Instance.d.ts +0 -101
  160. package/dist/prool/Instance.d.ts.map +0 -1
  161. package/dist/prool/Instance.js +0 -136
  162. package/dist/prool/Instance.js.map +0 -1
  163. package/dist/prool/chain.json +0 -238
  164. package/dist/prool/index.d.ts +0 -2
  165. package/dist/prool/index.d.ts.map +0 -1
  166. package/dist/prool/index.js +0 -2
  167. package/dist/prool/index.js.map +0 -1
  168. package/src/ox/AuthorizationTempo.test.ts +0 -1256
  169. package/src/ox/AuthorizationTempo.ts +0 -648
  170. package/src/ox/KeyAuthorization.test.ts +0 -1332
  171. package/src/ox/KeyAuthorization.ts +0 -540
  172. package/src/ox/Order.test.ts +0 -78
  173. package/src/ox/Order.ts +0 -125
  174. package/src/ox/OrdersFilters.test.ts +0 -182
  175. package/src/ox/OrdersFilters.ts +0 -125
  176. package/src/ox/Pagination.test.ts +0 -162
  177. package/src/ox/Pagination.ts +0 -164
  178. package/src/ox/PoolId.test.ts +0 -33
  179. package/src/ox/PoolId.ts +0 -27
  180. package/src/ox/RpcSchema.ts +0 -35
  181. package/src/ox/SignatureEnvelope.test.ts +0 -1876
  182. package/src/ox/SignatureEnvelope.ts +0 -791
  183. package/src/ox/Tick.test.ts +0 -281
  184. package/src/ox/Tick.ts +0 -181
  185. package/src/ox/TokenId.test.ts +0 -40
  186. package/src/ox/TokenId.ts +0 -50
  187. package/src/ox/TokenRole.test.ts +0 -16
  188. package/src/ox/TokenRole.ts +0 -27
  189. package/src/ox/Transaction.test.ts +0 -523
  190. package/src/ox/Transaction.ts +0 -332
  191. package/src/ox/TransactionEnvelopeTempo.test.ts +0 -1352
  192. package/src/ox/TransactionEnvelopeTempo.ts +0 -905
  193. package/src/ox/TransactionReceipt.ts +0 -190
  194. package/src/ox/TransactionRequest.ts +0 -147
  195. package/src/ox/e2e.test.ts +0 -1393
  196. package/src/ox/index.ts +0 -13
  197. package/src/prool/Instance.test.ts +0 -43
  198. package/src/prool/Instance.ts +0 -247
  199. package/src/prool/chain.json +0 -238
  200. package/src/prool/index.ts +0 -1
  201. package/src/viem/Actions/__snapshots__/dex.test.ts.snap +0 -850
  202. package/src/wagmi/Actions/__snapshots__/dex.test.ts.snap +0 -310
  203. package/src/wagmi/Hooks/__snapshots__/dex.test.ts.snap +0 -457
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../src/ox/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
@@ -1,477 +0,0 @@
1
- import * as Errors from 'ox/Errors';
2
- import * as Hex from 'ox/Hex';
3
- import * as Json from 'ox/Json';
4
- import * as Signature from 'ox/Signature';
5
- /** Signature type identifiers for encoding/decoding */
6
- const serializedP256Type = '0x01';
7
- const serializedWebAuthnType = '0x02';
8
- const serializedKeychainType = '0x03';
9
- /** List of supported signature types. */
10
- export const types = ['secp256k1', 'p256', 'webAuthn'];
11
- /**
12
- * Asserts that a {@link SignatureEnvelope} is valid.
13
- *
14
- * @example
15
- * ```ts twoslash
16
- * import { SignatureEnvelope } from 'tempo.ts/ox'
17
- *
18
- * SignatureEnvelope.assert({
19
- * r: 0n,
20
- * s: 0n,
21
- * yParity: 0,
22
- * type: 'secp256k1',
23
- * })
24
- * ```
25
- *
26
- * @param envelope - The signature envelope to assert.
27
- * @throws {CoercionError} If the envelope type cannot be determined.
28
- */
29
- export function assert(envelope) {
30
- const type = getType(envelope);
31
- if (type === 'secp256k1') {
32
- const secp256k1 = envelope;
33
- Signature.assert(secp256k1.signature);
34
- return;
35
- }
36
- if (type === 'p256') {
37
- const p256 = envelope;
38
- const missing = [];
39
- if (typeof p256.signature?.r !== 'bigint')
40
- missing.push('signature.r');
41
- if (typeof p256.signature?.s !== 'bigint')
42
- missing.push('signature.s');
43
- if (typeof p256.prehash !== 'boolean')
44
- missing.push('prehash');
45
- if (!p256.publicKey)
46
- missing.push('publicKey');
47
- else {
48
- if (typeof p256.publicKey.x !== 'bigint')
49
- missing.push('publicKey.x');
50
- if (typeof p256.publicKey.y !== 'bigint')
51
- missing.push('publicKey.y');
52
- }
53
- if (missing.length > 0)
54
- throw new MissingPropertiesError({ envelope, missing, type: 'p256' });
55
- return;
56
- }
57
- if (type === 'webAuthn') {
58
- const webauthn = envelope;
59
- const missing = [];
60
- if (typeof webauthn.signature?.r !== 'bigint')
61
- missing.push('signature.r');
62
- if (typeof webauthn.signature?.s !== 'bigint')
63
- missing.push('signature.s');
64
- if (!webauthn.metadata)
65
- missing.push('metadata');
66
- else {
67
- if (!webauthn.metadata.authenticatorData)
68
- missing.push('metadata.authenticatorData');
69
- if (!webauthn.metadata.clientDataJSON)
70
- missing.push('metadata.clientDataJSON');
71
- }
72
- if (!webauthn.publicKey)
73
- missing.push('publicKey');
74
- else {
75
- if (typeof webauthn.publicKey.x !== 'bigint')
76
- missing.push('publicKey.x');
77
- if (typeof webauthn.publicKey.y !== 'bigint')
78
- missing.push('publicKey.y');
79
- }
80
- if (missing.length > 0)
81
- throw new MissingPropertiesError({ envelope, missing, type: 'webAuthn' });
82
- return;
83
- }
84
- if (type === 'keychain') {
85
- const keychain = envelope;
86
- assert(keychain.inner);
87
- return;
88
- }
89
- }
90
- /**
91
- * Deserializes a hex-encoded signature envelope into a typed signature object.
92
- *
93
- * For backward compatibility:
94
- * - 65 bytes: secp256k1 signature (no type identifier)
95
- * - 130 bytes: P256 signature (1 byte type + 129 bytes data)
96
- * - 129+ bytes: WebAuthn signature (1 byte type + variable data)
97
- *
98
- * @param serialized - The hex-encoded signature envelope to deserialize.
99
- * @returns The deserialized signature envelope.
100
- * @throws {CoercionError} If the serialized value cannot be coerced to a valid signature envelope.
101
- */
102
- export function deserialize(serialized) {
103
- const size = Hex.size(serialized);
104
- // Backward compatibility: 65 bytes means secp256k1 without type identifier
105
- if (size === 65) {
106
- const signature = Signature.fromHex(serialized);
107
- Signature.assert(signature);
108
- return { signature, type: 'secp256k1' };
109
- }
110
- // For all other lengths, first byte is the type identifier
111
- const typeId = Hex.slice(serialized, 0, 1);
112
- const data = Hex.slice(serialized, 1);
113
- const dataSize = Hex.size(data);
114
- if (typeId === serializedP256Type) {
115
- // P256: 32 (r) + 32 (s) + 32 (pubKeyX) + 32 (pubKeyY) + 1 (prehash) = 129 bytes
116
- if (dataSize !== 129)
117
- throw new InvalidSerializedError({
118
- reason: `Invalid P256 signature envelope size: expected 129 bytes, got ${dataSize} bytes`,
119
- serialized,
120
- });
121
- return {
122
- publicKey: {
123
- prefix: 4,
124
- x: Hex.toBigInt(Hex.slice(data, 64, 96)),
125
- y: Hex.toBigInt(Hex.slice(data, 96, 128)),
126
- },
127
- prehash: Hex.toNumber(Hex.slice(data, 128, 129)) !== 0,
128
- signature: {
129
- r: Hex.toBigInt(Hex.slice(data, 0, 32)),
130
- s: Hex.toBigInt(Hex.slice(data, 32, 64)),
131
- },
132
- type: 'p256',
133
- };
134
- }
135
- if (typeId === serializedWebAuthnType) {
136
- // WebAuthn: variable (webauthnData) + 32 (r) + 32 (s) + 32 (pubKeyX) + 32 (pubKeyY)
137
- // Minimum: 128 bytes (at least some authenticator data + signature components)
138
- if (dataSize < 128)
139
- throw new InvalidSerializedError({
140
- reason: `Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${dataSize} bytes`,
141
- serialized,
142
- });
143
- const webauthnDataSize = dataSize - 128;
144
- const webauthnData = Hex.slice(data, 0, webauthnDataSize);
145
- // Parse webauthnData into authenticatorData and clientDataJSON
146
- // According to the Rust code, it's authenticatorData || clientDataJSON
147
- // We need to find the split point (minimum authenticatorData is 37 bytes)
148
- let authenticatorData;
149
- let clientDataJSON;
150
- // Try to find the JSON start (clientDataJSON should start with '{')
151
- for (let split = 37; split < webauthnDataSize; split++) {
152
- const potentialJson = Hex.toString(Hex.slice(webauthnData, split));
153
- if (potentialJson.startsWith('{') && potentialJson.endsWith('}')) {
154
- try {
155
- JSON.parse(potentialJson);
156
- authenticatorData = Hex.slice(webauthnData, 0, split);
157
- clientDataJSON = potentialJson;
158
- break;
159
- }
160
- catch { }
161
- }
162
- }
163
- if (!authenticatorData || !clientDataJSON)
164
- throw new InvalidSerializedError({
165
- reason: 'Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON',
166
- serialized,
167
- });
168
- return {
169
- publicKey: {
170
- prefix: 4,
171
- x: Hex.toBigInt(Hex.slice(data, webauthnDataSize + 64, webauthnDataSize + 96)),
172
- y: Hex.toBigInt(Hex.slice(data, webauthnDataSize + 96, webauthnDataSize + 128)),
173
- },
174
- metadata: {
175
- authenticatorData,
176
- clientDataJSON,
177
- },
178
- signature: {
179
- r: Hex.toBigInt(Hex.slice(data, webauthnDataSize, webauthnDataSize + 32)),
180
- s: Hex.toBigInt(Hex.slice(data, webauthnDataSize + 32, webauthnDataSize + 64)),
181
- },
182
- type: 'webAuthn',
183
- };
184
- }
185
- if (typeId === serializedKeychainType) {
186
- const userAddress = Hex.slice(data, 0, 20);
187
- const inner = deserialize(Hex.slice(data, 20));
188
- return {
189
- userAddress,
190
- inner,
191
- type: 'keychain',
192
- };
193
- }
194
- throw new InvalidSerializedError({
195
- reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256) or ${serializedWebAuthnType} (WebAuthn)`,
196
- serialized,
197
- });
198
- }
199
- /**
200
- * Coerces a value to a signature envelope.
201
- *
202
- * Accepts either a serialized hex string or an existing signature envelope object.
203
- *
204
- * @param value - The value to coerce (either a hex string or signature envelope).
205
- * @returns The signature envelope.
206
- */
207
- export function from(value) {
208
- if (typeof value === 'string')
209
- return deserialize(value);
210
- if (typeof value === 'object' &&
211
- value !== null &&
212
- 'r' in value &&
213
- 's' in value &&
214
- 'yParity' in value)
215
- return { signature: value, type: 'secp256k1' };
216
- const type = getType(value);
217
- return { ...value, type };
218
- }
219
- /**
220
- * Converts an {@link SignatureEnvelopeRpc} to a {@link SignatureEnvelope}.
221
- *
222
- * @param envelope - The RPC signature envelope to convert.
223
- * @returns The signature envelope with bigint values.
224
- */
225
- export function fromRpc(envelope) {
226
- if (envelope.type === 'secp256k1')
227
- return {
228
- signature: Signature.fromRpc(envelope),
229
- type: 'secp256k1',
230
- };
231
- if (envelope.type === 'p256') {
232
- return {
233
- prehash: envelope.prehash,
234
- publicKey: {
235
- prefix: 4,
236
- x: Hex.toBigInt(envelope.pubKeyX),
237
- y: Hex.toBigInt(envelope.pubKeyY),
238
- },
239
- signature: {
240
- r: Hex.toBigInt(envelope.r),
241
- s: Hex.toBigInt(envelope.s),
242
- },
243
- type: 'p256',
244
- };
245
- }
246
- if (envelope.type === 'webAuthn') {
247
- const webauthnData = envelope.webauthnData;
248
- const webauthnDataSize = Hex.size(webauthnData);
249
- // Parse webauthnData into authenticatorData and clientDataJSON
250
- let authenticatorData;
251
- let clientDataJSON;
252
- // Try to find the JSON start (clientDataJSON should start with '{')
253
- for (let split = 37; split < webauthnDataSize; split++) {
254
- const potentialJson = Hex.toString(Hex.slice(webauthnData, split));
255
- if (potentialJson.startsWith('{') && potentialJson.endsWith('}')) {
256
- try {
257
- JSON.parse(potentialJson);
258
- authenticatorData = Hex.slice(webauthnData, 0, split);
259
- clientDataJSON = potentialJson;
260
- break;
261
- }
262
- catch { }
263
- }
264
- }
265
- if (!authenticatorData || !clientDataJSON)
266
- throw new InvalidSerializedError({
267
- reason: 'Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON',
268
- serialized: webauthnData,
269
- });
270
- return {
271
- metadata: {
272
- authenticatorData,
273
- clientDataJSON,
274
- },
275
- publicKey: {
276
- prefix: 4,
277
- x: Hex.toBigInt(envelope.pubKeyX),
278
- y: Hex.toBigInt(envelope.pubKeyY),
279
- },
280
- signature: {
281
- r: Hex.toBigInt(envelope.r),
282
- s: Hex.toBigInt(envelope.s),
283
- },
284
- type: 'webAuthn',
285
- };
286
- }
287
- if (envelope.type === 'keychain' ||
288
- ('userAddress' in envelope && 'signature' in envelope))
289
- return {
290
- type: 'keychain',
291
- userAddress: envelope.userAddress,
292
- inner: fromRpc(envelope.signature),
293
- };
294
- throw new CoercionError({ envelope });
295
- }
296
- /**
297
- * Determines the signature type of an envelope.
298
- *
299
- * @param envelope - The signature envelope to inspect.
300
- * @returns The signature type ('secp256k1', 'p256', or 'webAuthn').
301
- * @throws {CoercionError} If the envelope type cannot be determined.
302
- */
303
- export function getType(envelope) {
304
- if (typeof envelope !== 'object' || envelope === null)
305
- throw new CoercionError({ envelope });
306
- if ('type' in envelope && envelope.type)
307
- return envelope.type;
308
- // Detect secp256k1 signature (backwards compatibility: also support flat structure)
309
- if ('signature' in envelope &&
310
- !('publicKey' in envelope) &&
311
- typeof envelope.signature === 'object' &&
312
- envelope.signature !== null &&
313
- 'r' in envelope.signature &&
314
- 's' in envelope.signature &&
315
- 'yParity' in envelope.signature)
316
- return 'secp256k1';
317
- // Detect secp256k1 signature (flat structure)
318
- if ('r' in envelope && 's' in envelope && 'yParity' in envelope)
319
- return 'secp256k1';
320
- // Detect P256 signature
321
- if ('signature' in envelope &&
322
- 'prehash' in envelope &&
323
- 'publicKey' in envelope &&
324
- typeof envelope.prehash === 'boolean')
325
- return 'p256';
326
- // Detect WebAuthn signature
327
- if ('signature' in envelope &&
328
- 'metadata' in envelope &&
329
- 'publicKey' in envelope)
330
- return 'webAuthn';
331
- // Detect Keychain signature
332
- if ('userAddress' in envelope && 'inner' in envelope)
333
- return 'keychain';
334
- throw new CoercionError({
335
- envelope,
336
- });
337
- }
338
- /**
339
- * Serializes a signature envelope to a hex-encoded string.
340
- *
341
- * For backward compatibility:
342
- * - secp256k1: encoded WITHOUT type identifier (65 bytes)
343
- * - P256: encoded WITH type identifier prefix (130 bytes)
344
- * - WebAuthn: encoded WITH type identifier prefix (variable length)
345
- *
346
- * @param envelope - The signature envelope to serialize.
347
- * @returns The hex-encoded serialized signature.
348
- * @throws {CoercionError} If the envelope cannot be serialized.
349
- */
350
- export function serialize(envelope) {
351
- const type = getType(envelope);
352
- // Backward compatibility: no type identifier for secp256k1
353
- if (type === 'secp256k1') {
354
- const secp256k1 = envelope;
355
- return Signature.toHex(secp256k1.signature);
356
- }
357
- if (type === 'p256') {
358
- const p256 = envelope;
359
- // Format: 1 byte (type) + 32 (r) + 32 (s) + 32 (pubKeyX) + 32 (pubKeyY) + 1 (prehash)
360
- return Hex.concat(serializedP256Type, Hex.fromNumber(p256.signature.r, { size: 32 }), Hex.fromNumber(p256.signature.s, { size: 32 }), Hex.fromNumber(p256.publicKey.x, { size: 32 }), Hex.fromNumber(p256.publicKey.y, { size: 32 }), Hex.fromNumber(p256.prehash ? 1 : 0, { size: 1 }));
361
- }
362
- if (type === 'webAuthn') {
363
- const webauthn = envelope;
364
- // Format: 1 byte (type) + variable (authenticatorData || clientDataJSON) + 32 (r) + 32 (s) + 32 (pubKeyX) + 32 (pubKeyY)
365
- const webauthnData = Hex.concat(webauthn.metadata.authenticatorData, Hex.fromString(webauthn.metadata.clientDataJSON));
366
- return Hex.concat(serializedWebAuthnType, webauthnData, Hex.fromNumber(webauthn.signature.r, { size: 32 }), Hex.fromNumber(webauthn.signature.s, { size: 32 }), Hex.fromNumber(webauthn.publicKey.x, { size: 32 }), Hex.fromNumber(webauthn.publicKey.y, { size: 32 }));
367
- }
368
- if (type === 'keychain') {
369
- const keychain = envelope;
370
- return Hex.concat(serializedKeychainType, keychain.userAddress, serialize(keychain.inner));
371
- }
372
- throw new CoercionError({ envelope });
373
- }
374
- /**
375
- * Converts a {@link SignatureEnvelope} to an {@link SignatureEnvelopeRpc}.
376
- *
377
- * @param envelope - The signature envelope to convert.
378
- * @returns The RPC signature envelope with hex values.
379
- */
380
- export function toRpc(envelope) {
381
- const type = getType(envelope);
382
- if (type === 'secp256k1') {
383
- const secp256k1 = envelope;
384
- return {
385
- ...Signature.toRpc(secp256k1.signature),
386
- type: 'secp256k1',
387
- };
388
- }
389
- if (type === 'p256') {
390
- const p256 = envelope;
391
- return {
392
- prehash: p256.prehash,
393
- pubKeyX: Hex.fromNumber(p256.publicKey.x, { size: 32 }),
394
- pubKeyY: Hex.fromNumber(p256.publicKey.y, { size: 32 }),
395
- r: Hex.fromNumber(p256.signature.r, { size: 32 }),
396
- s: Hex.fromNumber(p256.signature.s, { size: 32 }),
397
- type: 'p256',
398
- };
399
- }
400
- if (type === 'webAuthn') {
401
- const webauthn = envelope;
402
- const webauthnData = Hex.concat(webauthn.metadata.authenticatorData, Hex.fromString(webauthn.metadata.clientDataJSON));
403
- return {
404
- pubKeyX: Hex.fromNumber(webauthn.publicKey.x, { size: 32 }),
405
- pubKeyY: Hex.fromNumber(webauthn.publicKey.y, { size: 32 }),
406
- r: Hex.fromNumber(webauthn.signature.r, { size: 32 }),
407
- s: Hex.fromNumber(webauthn.signature.s, { size: 32 }),
408
- type: 'webAuthn',
409
- webauthnData,
410
- };
411
- }
412
- if (type === 'keychain') {
413
- const keychain = envelope;
414
- return {
415
- type: 'keychain',
416
- userAddress: keychain.userAddress,
417
- signature: toRpc(keychain.inner),
418
- };
419
- }
420
- throw new CoercionError({ envelope });
421
- }
422
- /**
423
- * Validates a {@link SignatureEnvelope}. Returns `true` if the envelope is valid, `false` otherwise.
424
- *
425
- * @example
426
- * ```ts twoslash
427
- * import { SignatureEnvelope } from 'tempo.ts/ox'
428
- *
429
- * const valid = SignatureEnvelope.validate({
430
- * signature: { r: 0n, s: 0n, yParity: 0 },
431
- * type: 'secp256k1',
432
- * })
433
- * // @log: true
434
- * ```
435
- *
436
- * @param envelope - The signature envelope to validate.
437
- * @returns `true` if valid, `false` otherwise.
438
- */
439
- export function validate(envelope) {
440
- try {
441
- assert(envelope);
442
- return true;
443
- }
444
- catch {
445
- return false;
446
- }
447
- }
448
- /**
449
- * Error thrown when a signature envelope cannot be coerced to a valid type.
450
- */
451
- export class CoercionError extends Errors.BaseError {
452
- name = 'SignatureEnvelope.CoercionError';
453
- constructor({ envelope }) {
454
- super(`Unable to coerce value (\`${Json.stringify(envelope)}\`) to a valid signature envelope.`);
455
- }
456
- }
457
- /**
458
- * Error thrown when a signature envelope is missing required properties.
459
- */
460
- export class MissingPropertiesError extends Errors.BaseError {
461
- name = 'SignatureEnvelope.MissingPropertiesError';
462
- constructor({ envelope, missing, type, }) {
463
- super(`Signature envelope of type "${type}" is missing required properties: ${missing.map((m) => `\`${m}\``).join(', ')}.\n\nProvided: ${Json.stringify(envelope)}`);
464
- }
465
- }
466
- /**
467
- * Error thrown when a serialized signature envelope cannot be deserialized.
468
- */
469
- export class InvalidSerializedError extends Errors.BaseError {
470
- name = 'SignatureEnvelope.InvalidSerializedError';
471
- constructor({ reason, serialized, }) {
472
- super(`Unable to deserialize signature envelope: ${reason}`, {
473
- metaMessages: [`Serialized: ${serialized}`],
474
- });
475
- }
476
- }
477
- //# sourceMappingURL=SignatureEnvelope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignatureEnvelope.js","sourceRoot":"","sources":["../../src/ox/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
package/dist/ox/Tick.d.ts DELETED
@@ -1,115 +0,0 @@
1
- import * as Errors from 'ox/Errors';
2
- /**
3
- * Minimum allowed tick value.
4
- */
5
- export declare const minTick = -2000;
6
- /**
7
- * Maximum allowed tick value.
8
- */
9
- export declare const maxTick = 2000;
10
- /**
11
- * Price scaling factor (5 decimal places for 0.1 bps precision).
12
- *
13
- * @description
14
- * The DEX uses a tick-based pricing system where:
15
- * - Tick size: 0.1 bps (basis points)
16
- * - Price range: ±2% from 1.0 (ticks from -2000 to +2000)
17
- */
18
- export declare const priceScale = 100000;
19
- /**
20
- * Tick type.
21
- */
22
- export type Tick = number;
23
- /**
24
- * Converts a tick to a price string.
25
- *
26
- * @example
27
- * ```ts
28
- * import { Tick } from 'tempo.ts/viem'
29
- *
30
- * // Tick 0 = price of 1.0
31
- * const price1 = Tick.toPrice(0) // "1"
32
- *
33
- * // Tick 100 = price of 1.001 (0.1% higher)
34
- * const price2 = Tick.toPrice(100) // "1.001"
35
- *
36
- * // Tick -100 = price of 0.999 (0.1% lower)
37
- * const price3 = Tick.toPrice(-100) // "0.999"
38
- * ```
39
- *
40
- * @param tick - The tick value (range: -2000 to +2000).
41
- * @returns The price as a string with exact decimal representation.
42
- * @throws {TickOutOfBoundsError} If tick is out of bounds.
43
- */
44
- export declare function toPrice(tick: toPrice.Tick): toPrice.ReturnType;
45
- export declare namespace toPrice {
46
- type Tick = number;
47
- type ReturnType = string;
48
- }
49
- /**
50
- * Converts a price string to a tick.
51
- *
52
- * @example
53
- * ```ts
54
- * import { Tick } from 'tempo.ts/viem'
55
- *
56
- * // Price of 1.0 = tick 0
57
- * const tick1 = Tick.fromPrice('1.0') // 0
58
- * const tick2 = Tick.fromPrice('1.00000') // 0
59
- *
60
- * // Price of 1.001 = tick 100
61
- * const tick3 = Tick.fromPrice('1.001') // 100
62
- *
63
- * // Price of 0.999 = tick -100
64
- * const tick4 = Tick.fromPrice('0.999') // -100
65
- * ```
66
- *
67
- * @param price - The price as a string (e.g., "1.001", "0.999").
68
- * @returns The tick value.
69
- * @throws {InvalidPriceTypeError} If the price is not a string.
70
- * @throws {InvalidPriceFormatError} If the price format is invalid.
71
- * @throws {PriceOutOfBoundsError} If the resulting tick is out of bounds.
72
- */
73
- export declare function fromPrice(price: fromPrice.Price): fromPrice.ReturnType;
74
- export declare namespace fromPrice {
75
- type Price = string;
76
- type ReturnType = number;
77
- }
78
- /**
79
- * Error thrown when a tick value is out of the allowed bounds.
80
- */
81
- export declare class TickOutOfBoundsError extends Errors.BaseError {
82
- readonly name = "Tick.TickOutOfBoundsError";
83
- constructor(options: TickOutOfBoundsError.Options);
84
- }
85
- export declare namespace TickOutOfBoundsError {
86
- type Options = {
87
- tick: number;
88
- };
89
- }
90
- /**
91
- * Error thrown when a price string has an invalid format.
92
- */
93
- export declare class InvalidPriceFormatError extends Errors.BaseError {
94
- readonly name = "Tick.InvalidPriceFormatError";
95
- constructor(options: InvalidPriceFormatError.Options);
96
- }
97
- export declare namespace InvalidPriceFormatError {
98
- type Options = {
99
- price: string;
100
- };
101
- }
102
- /**
103
- * Error thrown when a price string results in an out-of-bounds tick.
104
- */
105
- export declare class PriceOutOfBoundsError extends Errors.BaseError {
106
- readonly name = "Tick.PriceOutOfBoundsError";
107
- constructor(options: PriceOutOfBoundsError.Options);
108
- }
109
- export declare namespace PriceOutOfBoundsError {
110
- type Options = {
111
- price: string;
112
- tick: number;
113
- };
114
- }
115
- //# sourceMappingURL=Tick.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tick.d.ts","sourceRoot":"","sources":["../../src/ox/Tick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,OAAO,QAAQ,CAAA;AAE5B;;GAEG;AACH,eAAO,MAAM,OAAO,OAAO,CAAA;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,SAAU,CAAA;AAEjC;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAa9D;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,IAAI,GAAG,MAAM,CAAA;IACzB,KAAY,UAAU,GAAG,MAAM,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAsBtE;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAY,KAAK,GAAG,MAAM,CAAA;IAC1B,KAAY,UAAU,GAAG,MAAM,CAAA;CAChC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,MAAM,CAAC,SAAS;IACxD,SAAkB,IAAI,+BAA8B;gBAExC,OAAO,EAAE,oBAAoB,CAAC,OAAO;CAKlD;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB,CAAC;IAC5C,KAAY,OAAO,GAAG;QACpB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,MAAM,CAAC,SAAS;IAC3D,SAAkB,IAAI,kCAAiC;gBAE3C,OAAO,EAAE,uBAAuB,CAAC,OAAO;CAKrD;AAED,MAAM,CAAC,OAAO,WAAW,uBAAuB,CAAC;IAC/C,KAAY,OAAO,GAAG;QACpB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,SAAS;IACzD,SAAkB,IAAI,gCAA+B;gBAEzC,OAAO,EAAE,qBAAqB,CAAC,OAAO;CAQnD;AAED,MAAM,CAAC,OAAO,WAAW,qBAAqB,CAAC;IAC7C,KAAY,OAAO,GAAG;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF"}