ox 0.9.16 → 0.10.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 (216) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +4 -4
  3. package/TxEnvelope/package.json +6 -0
  4. package/TxEnvelopeEip1559/package.json +6 -0
  5. package/TxEnvelopeEip2930/package.json +6 -0
  6. package/TxEnvelopeEip4844/package.json +6 -0
  7. package/TxEnvelopeEip7702/package.json +6 -0
  8. package/TxEnvelopeLegacy/package.json +6 -0
  9. package/_cjs/core/{TransactionEnvelope.js → TxEnvelope.js} +1 -1
  10. package/_cjs/core/TxEnvelope.js.map +1 -0
  11. package/_cjs/core/{TransactionEnvelopeEip1559.js → TxEnvelopeEip1559.js} +2 -2
  12. package/_cjs/core/TxEnvelopeEip1559.js.map +1 -0
  13. package/_cjs/core/{TransactionEnvelopeEip2930.js → TxEnvelopeEip2930.js} +2 -2
  14. package/_cjs/core/TxEnvelopeEip2930.js.map +1 -0
  15. package/_cjs/core/{TransactionEnvelopeEip4844.js → TxEnvelopeEip4844.js} +4 -4
  16. package/_cjs/core/TxEnvelopeEip4844.js.map +1 -0
  17. package/_cjs/core/{TransactionEnvelopeEip7702.js → TxEnvelopeEip7702.js} +4 -4
  18. package/_cjs/core/TxEnvelopeEip7702.js.map +1 -0
  19. package/_cjs/core/{TransactionEnvelopeLegacy.js → TxEnvelopeLegacy.js} +2 -2
  20. package/_cjs/core/TxEnvelopeLegacy.js.map +1 -0
  21. package/_cjs/core/WebAuthnP256.js +1 -1
  22. package/_cjs/core/WebAuthnP256.js.map +1 -1
  23. package/_cjs/erc8021/Attribution.js +36 -6
  24. package/_cjs/erc8021/Attribution.js.map +1 -1
  25. package/_cjs/index.docs.js +1 -0
  26. package/_cjs/index.docs.js.map +1 -1
  27. package/_cjs/index.js +7 -7
  28. package/_cjs/index.js.map +1 -1
  29. package/_cjs/tempo/AuthorizationTempo.js +101 -0
  30. package/_cjs/tempo/AuthorizationTempo.js.map +1 -0
  31. package/_cjs/tempo/KeyAuthorization.js +123 -0
  32. package/_cjs/tempo/KeyAuthorization.js.map +1 -0
  33. package/_cjs/tempo/PoolId.js +10 -0
  34. package/_cjs/tempo/PoolId.js.map +1 -0
  35. package/_cjs/tempo/SignatureEnvelope.js +394 -0
  36. package/_cjs/tempo/SignatureEnvelope.js.map +1 -0
  37. package/_cjs/tempo/Tick.js +77 -0
  38. package/_cjs/tempo/Tick.js.map +1 -0
  39. package/_cjs/tempo/TokenId.js +28 -0
  40. package/_cjs/tempo/TokenId.js.map +1 -0
  41. package/_cjs/tempo/TokenRole.js +26 -0
  42. package/_cjs/tempo/TokenRole.js.map +1 -0
  43. package/_cjs/tempo/Transaction.js +80 -0
  44. package/_cjs/tempo/Transaction.js.map +1 -0
  45. package/_cjs/tempo/TransactionReceipt.js +26 -0
  46. package/_cjs/tempo/TransactionReceipt.js.map +1 -0
  47. package/_cjs/tempo/TransactionRequest.js +53 -0
  48. package/_cjs/tempo/TransactionRequest.js.map +1 -0
  49. package/_cjs/tempo/TxEnvelopeTempo.js +267 -0
  50. package/_cjs/tempo/TxEnvelopeTempo.js.map +1 -0
  51. package/_cjs/tempo/index.js +15 -0
  52. package/_cjs/tempo/index.js.map +1 -0
  53. package/_cjs/version.js +1 -1
  54. package/_esm/core/Blobs.js +8 -8
  55. package/_esm/core/{TransactionEnvelope.js → TxEnvelope.js} +11 -11
  56. package/_esm/core/TxEnvelope.js.map +1 -0
  57. package/_esm/core/{TransactionEnvelopeEip1559.js → TxEnvelopeEip1559.js} +42 -42
  58. package/_esm/core/TxEnvelopeEip1559.js.map +1 -0
  59. package/_esm/core/{TransactionEnvelopeEip2930.js → TxEnvelopeEip2930.js} +43 -43
  60. package/_esm/core/TxEnvelopeEip2930.js.map +1 -0
  61. package/_esm/core/{TransactionEnvelopeEip4844.js → TxEnvelopeEip4844.js} +42 -42
  62. package/_esm/core/TxEnvelopeEip4844.js.map +1 -0
  63. package/_esm/core/{TransactionEnvelopeEip7702.js → TxEnvelopeEip7702.js} +40 -40
  64. package/_esm/core/TxEnvelopeEip7702.js.map +1 -0
  65. package/_esm/core/{TransactionEnvelopeLegacy.js → TxEnvelopeLegacy.js} +42 -42
  66. package/_esm/core/TxEnvelopeLegacy.js.map +1 -0
  67. package/_esm/core/WebAuthnP256.js +1 -1
  68. package/_esm/core/WebAuthnP256.js.map +1 -1
  69. package/_esm/erc8021/Attribution.js +58 -13
  70. package/_esm/erc8021/Attribution.js.map +1 -1
  71. package/_esm/index.docs.js +1 -0
  72. package/_esm/index.docs.js.map +1 -1
  73. package/_esm/index.js +192 -192
  74. package/_esm/index.js.map +1 -1
  75. package/_esm/tempo/AuthorizationTempo.js +664 -0
  76. package/_esm/tempo/AuthorizationTempo.js.map +1 -0
  77. package/_esm/tempo/KeyAuthorization.js +426 -0
  78. package/_esm/tempo/KeyAuthorization.js.map +1 -0
  79. package/_esm/tempo/PoolId.js +28 -0
  80. package/_esm/tempo/PoolId.js.map +1 -0
  81. package/_esm/tempo/SignatureEnvelope.js +660 -0
  82. package/_esm/tempo/SignatureEnvelope.js.map +1 -0
  83. package/_esm/tempo/Tick.js +147 -0
  84. package/_esm/tempo/Tick.js.map +1 -0
  85. package/_esm/tempo/TokenId.js +71 -0
  86. package/_esm/tempo/TokenId.js.map +1 -0
  87. package/_esm/tempo/TokenRole.js +40 -0
  88. package/_esm/tempo/TokenRole.js.map +1 -0
  89. package/_esm/tempo/Transaction.js +167 -0
  90. package/_esm/tempo/Transaction.js.map +1 -0
  91. package/_esm/tempo/TransactionReceipt.js +138 -0
  92. package/_esm/tempo/TransactionReceipt.js.map +1 -0
  93. package/_esm/tempo/TransactionRequest.js +99 -0
  94. package/_esm/tempo/TransactionRequest.js.map +1 -0
  95. package/_esm/tempo/TxEnvelopeTempo.js +607 -0
  96. package/_esm/tempo/TxEnvelopeTempo.js.map +1 -0
  97. package/_esm/tempo/index.js +298 -0
  98. package/_esm/tempo/index.js.map +1 -0
  99. package/_esm/version.js +1 -1
  100. package/_types/core/Blobs.d.ts +8 -8
  101. package/_types/core/{TransactionEnvelope.d.ts → TxEnvelope.d.ts} +11 -11
  102. package/_types/core/TxEnvelope.d.ts.map +1 -0
  103. package/_types/core/{TransactionEnvelopeEip1559.d.ts → TxEnvelopeEip1559.d.ts} +54 -54
  104. package/_types/core/TxEnvelopeEip1559.d.ts.map +1 -0
  105. package/_types/core/{TransactionEnvelopeEip2930.d.ts → TxEnvelopeEip2930.d.ts} +55 -55
  106. package/_types/core/TxEnvelopeEip2930.d.ts.map +1 -0
  107. package/_types/core/{TransactionEnvelopeEip4844.d.ts → TxEnvelopeEip4844.d.ts} +54 -54
  108. package/_types/core/TxEnvelopeEip4844.d.ts.map +1 -0
  109. package/_types/core/{TransactionEnvelopeEip7702.d.ts → TxEnvelopeEip7702.d.ts} +49 -49
  110. package/_types/core/TxEnvelopeEip7702.d.ts.map +1 -0
  111. package/_types/core/{TransactionEnvelopeLegacy.d.ts → TxEnvelopeLegacy.d.ts} +54 -54
  112. package/_types/core/TxEnvelopeLegacy.d.ts.map +1 -0
  113. package/_types/core/WebAuthnP256.d.ts +1 -1
  114. package/_types/core/WebAuthnP256.d.ts.map +1 -1
  115. package/_types/erc8021/Attribution.d.ts +20 -6
  116. package/_types/erc8021/Attribution.d.ts.map +1 -1
  117. package/_types/index.d.ts +192 -192
  118. package/_types/index.d.ts.map +1 -1
  119. package/_types/index.docs.d.ts +1 -0
  120. package/_types/index.docs.d.ts.map +1 -1
  121. package/_types/tempo/AuthorizationTempo.d.ts +688 -0
  122. package/_types/tempo/AuthorizationTempo.d.ts.map +1 -0
  123. package/_types/tempo/KeyAuthorization.d.ts +437 -0
  124. package/_types/tempo/KeyAuthorization.d.ts.map +1 -0
  125. package/_types/tempo/PoolId.d.ts +33 -0
  126. package/_types/tempo/PoolId.d.ts.map +1 -0
  127. package/_types/tempo/SignatureEnvelope.d.ts +438 -0
  128. package/_types/tempo/SignatureEnvelope.d.ts.map +1 -0
  129. package/_types/tempo/Tick.d.ts +120 -0
  130. package/_types/tempo/Tick.d.ts.map +1 -0
  131. package/_types/tempo/TokenId.d.ts +55 -0
  132. package/_types/tempo/TokenId.d.ts.map +1 -0
  133. package/_types/tempo/TokenRole.d.ts +29 -0
  134. package/_types/tempo/TokenRole.d.ts.map +1 -0
  135. package/_types/tempo/Transaction.d.ts +208 -0
  136. package/_types/tempo/Transaction.d.ts.map +1 -0
  137. package/_types/tempo/TransactionReceipt.d.ts +165 -0
  138. package/_types/tempo/TransactionReceipt.d.ts.map +1 -0
  139. package/_types/tempo/TransactionRequest.d.ts +89 -0
  140. package/_types/tempo/TransactionRequest.d.ts.map +1 -0
  141. package/_types/tempo/TxEnvelopeTempo.d.ts +551 -0
  142. package/_types/tempo/TxEnvelopeTempo.d.ts.map +1 -0
  143. package/_types/tempo/index.d.ts +300 -0
  144. package/_types/tempo/index.d.ts.map +1 -0
  145. package/_types/version.d.ts +1 -1
  146. package/core/Blobs.ts +8 -8
  147. package/core/{TransactionEnvelope.ts → TxEnvelope.ts} +10 -10
  148. package/core/{TransactionEnvelopeEip1559.ts → TxEnvelopeEip1559.ts} +60 -69
  149. package/core/{TransactionEnvelopeEip2930.ts → TxEnvelopeEip2930.ts} +61 -72
  150. package/core/{TransactionEnvelopeEip4844.ts → TxEnvelopeEip4844.ts} +62 -71
  151. package/core/{TransactionEnvelopeEip7702.ts → TxEnvelopeEip7702.ts} +58 -67
  152. package/core/{TransactionEnvelopeLegacy.ts → TxEnvelopeLegacy.ts} +59 -68
  153. package/core/WebAuthnP256.ts +3 -1
  154. package/erc8021/Attribution.ts +77 -15
  155. package/index.docs.ts +1 -0
  156. package/index.ts +192 -195
  157. package/package.json +91 -31
  158. package/tempo/AuthorizationTempo/package.json +6 -0
  159. package/tempo/AuthorizationTempo.test.ts +1293 -0
  160. package/tempo/AuthorizationTempo.ts +884 -0
  161. package/tempo/KeyAuthorization/package.json +6 -0
  162. package/tempo/KeyAuthorization.test.ts +1373 -0
  163. package/tempo/KeyAuthorization.ts +622 -0
  164. package/tempo/PoolId/package.json +6 -0
  165. package/tempo/PoolId.test.ts +33 -0
  166. package/tempo/PoolId.ts +42 -0
  167. package/tempo/SignatureEnvelope/package.json +6 -0
  168. package/tempo/SignatureEnvelope.test.ts +1877 -0
  169. package/tempo/SignatureEnvelope.ts +973 -0
  170. package/tempo/Tick/package.json +6 -0
  171. package/tempo/Tick.test.ts +281 -0
  172. package/tempo/Tick.ts +186 -0
  173. package/tempo/TokenId/package.json +6 -0
  174. package/tempo/TokenId.test.ts +40 -0
  175. package/tempo/TokenId.ts +80 -0
  176. package/tempo/TokenRole/package.json +6 -0
  177. package/tempo/TokenRole.test.ts +16 -0
  178. package/tempo/TokenRole.ts +45 -0
  179. package/tempo/Transaction/package.json +6 -0
  180. package/tempo/Transaction.test.ts +523 -0
  181. package/tempo/Transaction.ts +339 -0
  182. package/tempo/TransactionReceipt/package.json +6 -0
  183. package/tempo/TransactionReceipt.ts +200 -0
  184. package/tempo/TransactionRequest/package.json +6 -0
  185. package/tempo/TransactionRequest.ts +160 -0
  186. package/tempo/TxEnvelopeTempo/package.json +6 -0
  187. package/tempo/TxEnvelopeTempo.test.ts +1371 -0
  188. package/tempo/TxEnvelopeTempo.ts +972 -0
  189. package/tempo/e2e.test.ts +1387 -0
  190. package/tempo/index.ts +308 -0
  191. package/tempo/package.json +6 -0
  192. package/version.ts +1 -1
  193. package/TransactionEnvelope/package.json +0 -6
  194. package/TransactionEnvelopeEip1559/package.json +0 -6
  195. package/TransactionEnvelopeEip2930/package.json +0 -6
  196. package/TransactionEnvelopeEip4844/package.json +0 -6
  197. package/TransactionEnvelopeEip7702/package.json +0 -6
  198. package/TransactionEnvelopeLegacy/package.json +0 -6
  199. package/_cjs/core/TransactionEnvelope.js.map +0 -1
  200. package/_cjs/core/TransactionEnvelopeEip1559.js.map +0 -1
  201. package/_cjs/core/TransactionEnvelopeEip2930.js.map +0 -1
  202. package/_cjs/core/TransactionEnvelopeEip4844.js.map +0 -1
  203. package/_cjs/core/TransactionEnvelopeEip7702.js.map +0 -1
  204. package/_cjs/core/TransactionEnvelopeLegacy.js.map +0 -1
  205. package/_esm/core/TransactionEnvelope.js.map +0 -1
  206. package/_esm/core/TransactionEnvelopeEip1559.js.map +0 -1
  207. package/_esm/core/TransactionEnvelopeEip2930.js.map +0 -1
  208. package/_esm/core/TransactionEnvelopeEip4844.js.map +0 -1
  209. package/_esm/core/TransactionEnvelopeEip7702.js.map +0 -1
  210. package/_esm/core/TransactionEnvelopeLegacy.js.map +0 -1
  211. package/_types/core/TransactionEnvelope.d.ts.map +0 -1
  212. package/_types/core/TransactionEnvelopeEip1559.d.ts.map +0 -1
  213. package/_types/core/TransactionEnvelopeEip2930.d.ts.map +0 -1
  214. package/_types/core/TransactionEnvelopeEip4844.d.ts.map +0 -1
  215. package/_types/core/TransactionEnvelopeEip7702.d.ts.map +0 -1
  216. package/_types/core/TransactionEnvelopeLegacy.d.ts.map +0 -1
@@ -0,0 +1,688 @@
1
+ import type * as Address from '../core/Address.js';
2
+ import type * as Errors from '../core/Errors.js';
3
+ import * as Hash from '../core/Hash.js';
4
+ import * as Hex from '../core/Hex.js';
5
+ import type { Compute } from '../core/internal/types.js';
6
+ import * as Rlp from '../core/Rlp.js';
7
+ import * as SignatureEnvelope from './SignatureEnvelope.js';
8
+ /**
9
+ * Root type for a Tempo Authorization.
10
+ *
11
+ * Tempo extends EIP-7702 to support secp256k1, P256, and WebAuthn signature types,
12
+ * enabling passkey-based account delegation.
13
+ *
14
+ * [Tempo Authorization Specification](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#tempo-authorization-list)
15
+ */
16
+ export type AuthorizationTempo<signed extends boolean = boolean, bigintType = bigint, numberType = number> = Compute<{
17
+ /** Address of the contract to set as code for the Authority. */
18
+ address: Address.Address;
19
+ /** Chain ID to authorize. */
20
+ chainId: numberType;
21
+ /** Nonce of the Authority to authorize. */
22
+ nonce: bigintType;
23
+ } & (signed extends true ? {
24
+ signature: SignatureEnvelope.SignatureEnvelope<bigintType, numberType>;
25
+ } : {
26
+ signature?: SignatureEnvelope.SignatureEnvelope<bigintType, numberType> | undefined;
27
+ })>;
28
+ /** RPC representation of an {@link ox#AuthorizationTempo.AuthorizationTempo}. */
29
+ export type Rpc = Omit<AuthorizationTempo<false, Hex.Hex, Hex.Hex>, 'signature'> & {
30
+ signature: SignatureEnvelope.SignatureEnvelopeRpc;
31
+ };
32
+ /** List of {@link ox#AuthorizationTempo.AuthorizationTempo}. */
33
+ export type List<signed extends boolean = boolean, bigintType = bigint, numberType = number> = Compute<readonly AuthorizationTempo<signed, bigintType, numberType>[]>;
34
+ /** RPC representation of a list of AA Authorizations. */
35
+ export type ListRpc = readonly Rpc[];
36
+ /** Signed representation of a list of AA Authorizations. */
37
+ export type ListSigned<bigintType = bigint, numberType = number> = List<true, bigintType, numberType>;
38
+ /** Signed representation of an AA Authorization. */
39
+ export type Signed<bigintType = bigint, numberType = number> = AuthorizationTempo<true, bigintType, numberType>;
40
+ /** Tuple representation of an AA Authorization. */
41
+ export type Tuple<signed extends boolean = boolean> = signed extends true ? readonly [
42
+ chainId: Hex.Hex,
43
+ address: Hex.Hex,
44
+ nonce: Hex.Hex,
45
+ signature: Hex.Hex
46
+ ] : readonly [chainId: Hex.Hex, address: Hex.Hex, nonce: Hex.Hex];
47
+ /** Tuple representation of a signed {@link ox#AuthorizationTempo.AuthorizationTempo}. */
48
+ export type TupleSigned = Tuple<true>;
49
+ /** Tuple representation of a list of {@link ox#AuthorizationTempo.AuthorizationTempo}. */
50
+ export type TupleList<signed extends boolean = boolean> = readonly Tuple<signed>[];
51
+ /** Tuple representation of a list of signed {@link ox#AuthorizationTempo.AuthorizationTempo}. */
52
+ export type TupleListSigned = TupleList<true>;
53
+ /**
54
+ * Converts an EIP-7702 Authorization object into a typed {@link ox#AuthorizationTempo.AuthorizationTempo}.
55
+ *
56
+ * Tempo extends EIP-7702 to support secp256k1, P256, and WebAuthn signature types.
57
+ *
58
+ * [Tempo Authorization Specification](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#tempo-authorization-list)
59
+ *
60
+ * @example
61
+ * An Authorization can be instantiated from an EIP-7702 Authorization tuple in object format.
62
+ *
63
+ * ```ts twoslash
64
+ * import { AuthorizationTempo } from 'ox/tempo'
65
+ *
66
+ * const authorization = AuthorizationTempo.from({
67
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
68
+ * chainId: 1,
69
+ * nonce: 69n,
70
+ * })
71
+ * ```
72
+ *
73
+ * @example
74
+ * ### Attaching Signatures (Secp256k1)
75
+ *
76
+ * Standard Ethereum ECDSA signature using the secp256k1 curve.
77
+ *
78
+ * ```ts twoslash
79
+ * import { Secp256k1 } from 'ox'
80
+ * import { AuthorizationTempo } from 'ox/tempo'
81
+ *
82
+ * const privateKey = Secp256k1.randomPrivateKey()
83
+ *
84
+ * const authorization = AuthorizationTempo.from({
85
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
86
+ * chainId: 1,
87
+ * nonce: 40n,
88
+ * })
89
+ *
90
+ * const signature = Secp256k1.sign({
91
+ * payload: AuthorizationTempo.getSignPayload(authorization),
92
+ * privateKey,
93
+ * })
94
+ *
95
+ * const authorization_signed = AuthorizationTempo.from(
96
+ * authorization,
97
+ * { signature }, // [!code focus]
98
+ * )
99
+ * ```
100
+ *
101
+ * @example
102
+ * ### Attaching Signatures (P256)
103
+ *
104
+ * ECDSA signature using the P-256 (secp256r1) curve. Requires embedding the
105
+ * public key and a `prehash` flag indicating whether the payload was hashed
106
+ * before signing.
107
+ *
108
+ * ```ts twoslash
109
+ * import { P256 } from 'ox'
110
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
111
+ *
112
+ * const { privateKey, publicKey } = P256.createKeyPair()
113
+ *
114
+ * const authorization = AuthorizationTempo.from({
115
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
116
+ * chainId: 1,
117
+ * nonce: 40n,
118
+ * })
119
+ *
120
+ * const signature = P256.sign({
121
+ * payload: AuthorizationTempo.getSignPayload(authorization),
122
+ * privateKey,
123
+ * })
124
+ * const signatureEnvelope = SignatureEnvelope.from({
125
+ * signature,
126
+ * publicKey,
127
+ * prehash: false,
128
+ * })
129
+ *
130
+ * const authorization_signed = AuthorizationTempo.from(
131
+ * authorization,
132
+ * { signature: signatureEnvelope }, // [!code focus]
133
+ * )
134
+ * ```
135
+ *
136
+ * @example
137
+ * ### Attaching Signatures (P256 WebCrypto)
138
+ *
139
+ * When using WebCrypto keys, `prehash` must be `true` since WebCrypto always
140
+ * hashes the payload internally before signing.
141
+ *
142
+ * ```ts twoslash
143
+ * // @noErrors
144
+ * import { WebCryptoP256 } from 'ox'
145
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
146
+ *
147
+ * const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
148
+ *
149
+ * const authorization = AuthorizationTempo.from({
150
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
151
+ * chainId: 1,
152
+ * nonce: 40n,
153
+ * })
154
+ *
155
+ * const signature = await WebCryptoP256.sign({
156
+ * payload: AuthorizationTempo.getSignPayload(authorization),
157
+ * privateKey,
158
+ * })
159
+ * const signatureEnvelope = SignatureEnvelope.from({
160
+ * signature,
161
+ * publicKey,
162
+ * prehash: true,
163
+ * })
164
+ *
165
+ * const authorization_signed = AuthorizationTempo.from(
166
+ * authorization,
167
+ * { signature: signatureEnvelope }, // [!code focus]
168
+ * )
169
+ * ```
170
+ *
171
+ * @example
172
+ * ### Attaching Signatures (WebAuthn)
173
+ *
174
+ * Passkey-based signature using WebAuthn. Includes authenticator metadata
175
+ * (authenticatorData and clientDataJSON) along with the P-256 signature and
176
+ * public key.
177
+ *
178
+ * ```ts twoslash
179
+ * // @noErrors
180
+ * import { WebAuthnP256 } from 'ox'
181
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
182
+ *
183
+ * const credential = await WebAuthnP256.createCredential({ name: 'Example' })
184
+ *
185
+ * const authorization = AuthorizationTempo.from({
186
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
187
+ * chainId: 1,
188
+ * nonce: 40n,
189
+ * })
190
+ *
191
+ * const { metadata, signature } = await WebAuthnP256.sign({
192
+ * challenge: AuthorizationTempo.getSignPayload(authorization),
193
+ * credentialId: credential.id,
194
+ * })
195
+ * const signatureEnvelope = SignatureEnvelope.from({
196
+ * signature,
197
+ * publicKey: credential.publicKey,
198
+ * metadata,
199
+ * })
200
+ *
201
+ * const authorization_signed = AuthorizationTempo.from(
202
+ * authorization,
203
+ * { signature: signatureEnvelope }, // [!code focus]
204
+ * )
205
+ * ```
206
+ *
207
+ * @param authorization - An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple in object format.
208
+ * @param options - AA Authorization options.
209
+ * @returns The {@link ox#AuthorizationTempo.AuthorizationTempo}.
210
+ */
211
+ export declare function from<const authorization extends AuthorizationTempo | Rpc, const signature extends SignatureEnvelope.from.Value | undefined = undefined>(authorization: authorization | AuthorizationTempo, options?: from.Options<signature>): from.ReturnType<authorization, signature>;
212
+ export declare namespace from {
213
+ type Options<signature extends SignatureEnvelope.from.Value | undefined = SignatureEnvelope.from.Value | undefined> = {
214
+ /** The {@link ox#SignatureEnvelope.SignatureEnvelope} to attach to the AA Authorization. */
215
+ signature?: signature | SignatureEnvelope.SignatureEnvelope | undefined;
216
+ };
217
+ type ReturnType<authorization extends AuthorizationTempo | Rpc = AuthorizationTempo, signature extends SignatureEnvelope.from.Value | undefined = SignatureEnvelope.from.Value | undefined> = Compute<authorization extends Rpc ? Signed : authorization & (signature extends SignatureEnvelope.from.Value ? {
218
+ signature: SignatureEnvelope.from.ReturnValue<signature>;
219
+ } : {})>;
220
+ type ErrorType = Errors.GlobalErrorType;
221
+ }
222
+ /**
223
+ * Converts an {@link ox#AuthorizationTempo.Rpc} to an {@link ox#AuthorizationTempo.AuthorizationTempo}.
224
+ *
225
+ * @example
226
+ * ```ts twoslash
227
+ * import { AuthorizationTempo } from 'ox/tempo'
228
+ *
229
+ * const authorization = AuthorizationTempo.fromRpc({
230
+ * address: '0x0000000000000000000000000000000000000000',
231
+ * chainId: '0x1',
232
+ * nonce: '0x1',
233
+ * signature: {
234
+ * type: 'secp256k1',
235
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
236
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
237
+ * yParity: '0x0',
238
+ * },
239
+ * })
240
+ * ```
241
+ *
242
+ * @param authorization - The RPC-formatted AA Authorization.
243
+ * @returns A signed {@link ox#AuthorizationTempo.AuthorizationTempo}.
244
+ */
245
+ export declare function fromRpc(authorization: Rpc): Signed;
246
+ export declare namespace fromRpc {
247
+ type ErrorType = Errors.GlobalErrorType;
248
+ }
249
+ /**
250
+ * Converts an {@link ox#AuthorizationTempo.ListRpc} to an {@link ox#AuthorizationTempo.List}.
251
+ *
252
+ * @example
253
+ * ```ts twoslash
254
+ * import { AuthorizationTempo } from 'ox/tempo'
255
+ *
256
+ * const authorizationList = AuthorizationTempo.fromRpcList([{
257
+ * address: '0x0000000000000000000000000000000000000000',
258
+ * chainId: '0x1',
259
+ * nonce: '0x1',
260
+ * signature: {
261
+ * type: 'secp256k1',
262
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
263
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
264
+ * yParity: '0x0',
265
+ * },
266
+ * }])
267
+ * ```
268
+ *
269
+ * @param authorizationList - The RPC-formatted AA Authorization list.
270
+ * @returns A signed {@link ox#AuthorizationTempo.List}.
271
+ */
272
+ export declare function fromRpcList(authorizationList: ListRpc): ListSigned;
273
+ export declare namespace fromRpcList {
274
+ type ErrorType = Errors.GlobalErrorType;
275
+ }
276
+ /**
277
+ * Converts an {@link ox#AuthorizationTempo.Tuple} to an {@link ox#AuthorizationTempo.AuthorizationTempo}.
278
+ *
279
+ * @example
280
+ * ```ts twoslash
281
+ * import { AuthorizationTempo } from 'ox/tempo'
282
+ *
283
+ * const authorization = AuthorizationTempo.fromTuple([
284
+ * '0x1',
285
+ * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
286
+ * '0x3'
287
+ * ])
288
+ * // @log: {
289
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
290
+ * // @log: chainId: 1,
291
+ * // @log: nonce: 3n
292
+ * // @log: }
293
+ * ```
294
+ *
295
+ * @example
296
+ * It is also possible to append a serialized SignatureEnvelope to the end of an AA Authorization tuple.
297
+ *
298
+ * ```ts twoslash
299
+ * import { AuthorizationTempo } from 'ox/tempo'
300
+ *
301
+ * const authorization = AuthorizationTempo.fromTuple([
302
+ * '0x1',
303
+ * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
304
+ * '0x3',
305
+ * '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
306
+ * ])
307
+ * // @log: {
308
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
309
+ * // @log: chainId: 1,
310
+ * // @log: nonce: 3n
311
+ * // @log: signature: {
312
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
313
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
314
+ * // @log: yParity: 0,
315
+ * // @log: },
316
+ * // @log: }
317
+ * ```
318
+ *
319
+ * @param tuple - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple.
320
+ * @returns The {@link ox#AuthorizationTempo.AuthorizationTempo}.
321
+ */
322
+ export declare function fromTuple<const tuple extends Tuple>(tuple: tuple): fromTuple.ReturnType<tuple>;
323
+ export declare namespace fromTuple {
324
+ type ReturnType<authorization extends Tuple = Tuple> = Compute<AuthorizationTempo<authorization extends Tuple<true> ? true : false>>;
325
+ type ErrorType = Errors.GlobalErrorType;
326
+ }
327
+ /**
328
+ * Converts an {@link ox#AuthorizationTempo.TupleList} to an {@link ox#AuthorizationTempo.List}.
329
+ *
330
+ * @example
331
+ * ```ts twoslash
332
+ * import { AuthorizationTempo } from 'ox/tempo'
333
+ *
334
+ * const authorizationList = AuthorizationTempo.fromTupleList([
335
+ * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3'],
336
+ * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14'],
337
+ * ])
338
+ * // @log: [
339
+ * // @log: {
340
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
341
+ * // @log: chainId: 1,
342
+ * // @log: nonce: 3n,
343
+ * // @log: },
344
+ * // @log: {
345
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
346
+ * // @log: chainId: 3,
347
+ * // @log: nonce: 20n,
348
+ * // @log: },
349
+ * // @log: ]
350
+ * ```
351
+ *
352
+ * @example
353
+ * It is also possible to append a serialized SignatureEnvelope to the end of an AA Authorization tuple.
354
+ *
355
+ * ```ts twoslash
356
+ * import { AuthorizationTempo } from 'ox/tempo'
357
+ *
358
+ * const authorizationList = AuthorizationTempo.fromTupleList([
359
+ * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3', '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
360
+ * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14', '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
361
+ * ])
362
+ * // @log: [
363
+ * // @log: {
364
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
365
+ * // @log: chainId: 1,
366
+ * // @log: nonce: 3n,
367
+ * // @log: signature: {
368
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
369
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
370
+ * // @log: yParity: 0,
371
+ * // @log: },
372
+ * // @log: },
373
+ * // @log: {
374
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
375
+ * // @log: chainId: 3,
376
+ * // @log: nonce: 20n,
377
+ * // @log: signature: {
378
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
379
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
380
+ * // @log: yParity: 0,
381
+ * // @log: },
382
+ * // @log: },
383
+ * // @log: ]
384
+ * ```
385
+ *
386
+ * @param tupleList - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple list.
387
+ * @returns An {@link ox#AuthorizationTempo.List}.
388
+ */
389
+ export declare function fromTupleList<const tupleList extends TupleList>(tupleList: tupleList): fromTupleList.ReturnType<tupleList>;
390
+ export declare namespace fromTupleList {
391
+ type ReturnType<tupleList extends TupleList> = Compute<TupleList<tupleList extends TupleList<true> ? true : false>>;
392
+ type ErrorType = Errors.GlobalErrorType;
393
+ }
394
+ /**
395
+ * Computes the sign payload for an {@link ox#AuthorizationTempo.AuthorizationTempo} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
396
+ *
397
+ * @example
398
+ * ### Secp256k1
399
+ *
400
+ * Standard Ethereum ECDSA signature using the secp256k1 curve.
401
+ *
402
+ * ```ts twoslash
403
+ * import { Secp256k1 } from 'ox'
404
+ * import { AuthorizationTempo } from 'ox/tempo'
405
+ *
406
+ * const privateKey = Secp256k1.randomPrivateKey()
407
+ *
408
+ * const authorization = AuthorizationTempo.from({
409
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
410
+ * chainId: 1,
411
+ * nonce: 69n,
412
+ * })
413
+ *
414
+ * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
415
+ *
416
+ * const signature = Secp256k1.sign({ payload, privateKey })
417
+ * const authorization_signed = AuthorizationTempo.from(
418
+ * authorization,
419
+ * { signature }
420
+ * )
421
+ * ```
422
+ *
423
+ * @example
424
+ * ### P256
425
+ *
426
+ * ECDSA signature using the P-256 (secp256r1) curve. Requires embedding the
427
+ * public key and a `prehash` flag indicating whether the payload was hashed
428
+ * before signing.
429
+ *
430
+ * ```ts twoslash
431
+ * import { P256 } from 'ox'
432
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
433
+ *
434
+ * const { privateKey, publicKey } = P256.createKeyPair()
435
+ *
436
+ * const authorization = AuthorizationTempo.from({
437
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
438
+ * chainId: 1,
439
+ * nonce: 69n,
440
+ * })
441
+ *
442
+ * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
443
+ *
444
+ * const signature = P256.sign({ payload, privateKey })
445
+ * const signatureEnvelope = SignatureEnvelope.from({
446
+ * prehash: false,
447
+ * publicKey,
448
+ * signature,
449
+ * })
450
+ * const authorization_signed = AuthorizationTempo.from(
451
+ * authorization,
452
+ * { signature: signatureEnvelope }
453
+ * )
454
+ * ```
455
+ *
456
+ * @example
457
+ * ### P256 (WebCrypto)
458
+ *
459
+ * When using WebCrypto keys, `prehash` must be `true` since WebCrypto always
460
+ * hashes the payload internally before signing.
461
+ *
462
+ * ```ts twoslash
463
+ * // @noErrors
464
+ * import { WebCryptoP256 } from 'ox'
465
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
466
+ *
467
+ * const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
468
+ *
469
+ * const authorization = AuthorizationTempo.from({
470
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
471
+ * chainId: 1,
472
+ * nonce: 69n,
473
+ * })
474
+ *
475
+ * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
476
+ *
477
+ * const signature = await WebCryptoP256.sign({ payload, privateKey })
478
+ * const signatureEnvelope = SignatureEnvelope.from({
479
+ * prehash: true,
480
+ * publicKey,
481
+ * signature,
482
+ * })
483
+ * const authorization_signed = AuthorizationTempo.from(
484
+ * authorization,
485
+ * { signature: signatureEnvelope }
486
+ * )
487
+ * ```
488
+ *
489
+ * @example
490
+ * ### WebAuthn
491
+ *
492
+ * Passkey-based signature using WebAuthn. Includes authenticator metadata
493
+ * (authenticatorData and clientDataJSON) along with the P-256 signature and
494
+ * public key.
495
+ *
496
+ * ```ts twoslash
497
+ * // @noErrors
498
+ * import { WebAuthnP256 } from 'ox'
499
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
500
+ *
501
+ * const credential = await WebAuthnP256.createCredential({ name: 'Example' })
502
+ *
503
+ * const authorization = AuthorizationTempo.from({
504
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
505
+ * chainId: 1,
506
+ * nonce: 69n,
507
+ * })
508
+ *
509
+ * const challenge = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
510
+ *
511
+ * const { metadata, signature } = await WebAuthnP256.sign({
512
+ * challenge,
513
+ * credentialId: credential.id,
514
+ * })
515
+ * const signatureEnvelope = SignatureEnvelope.from({
516
+ * signature,
517
+ * publicKey: credential.publicKey,
518
+ * metadata,
519
+ * })
520
+ * const authorization_signed = AuthorizationTempo.from(
521
+ * authorization,
522
+ * { signature: signatureEnvelope }
523
+ * )
524
+ * ```
525
+ *
526
+ * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
527
+ * @returns The sign payload.
528
+ */
529
+ export declare function getSignPayload(authorization: AuthorizationTempo): Hex.Hex;
530
+ export declare namespace getSignPayload {
531
+ type ErrorType = hash.ErrorType | Errors.GlobalErrorType;
532
+ }
533
+ /**
534
+ * Computes the hash for an {@link ox#AuthorizationTempo.AuthorizationTempo} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
535
+ *
536
+ * @example
537
+ * ```ts twoslash
538
+ * import { AuthorizationTempo } from 'ox/tempo'
539
+ *
540
+ * const authorization = AuthorizationTempo.from({
541
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
542
+ * chainId: 1,
543
+ * nonce: 69n,
544
+ * })
545
+ *
546
+ * const hash = AuthorizationTempo.hash(authorization) // [!code focus]
547
+ * ```
548
+ *
549
+ * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
550
+ * @returns The hash.
551
+ */
552
+ export declare function hash(authorization: AuthorizationTempo, options?: hash.Options): Hex.Hex;
553
+ export declare namespace hash {
554
+ type ErrorType = toTuple.ErrorType | Hash.keccak256.ErrorType | Hex.concat.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
555
+ type Options = {
556
+ /** Whether to hash this authorization for signing. @default false */
557
+ presign?: boolean | undefined;
558
+ };
559
+ }
560
+ /**
561
+ * Converts an {@link ox#AuthorizationTempo.AuthorizationTempo} to an {@link ox#AuthorizationTempo.Rpc}.
562
+ *
563
+ * @example
564
+ * ```ts twoslash
565
+ * import { AuthorizationTempo } from 'ox/tempo'
566
+ *
567
+ * const authorization = AuthorizationTempo.toRpc({
568
+ * address: '0x0000000000000000000000000000000000000000',
569
+ * chainId: 1,
570
+ * nonce: 1n,
571
+ * signature: {
572
+ * type: 'secp256k1',
573
+ * signature: {
574
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
575
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
576
+ * yParity: 0,
577
+ * },
578
+ * },
579
+ * })
580
+ * ```
581
+ *
582
+ * @param authorization - An AA Authorization.
583
+ * @returns An RPC-formatted AA Authorization.
584
+ */
585
+ export declare function toRpc(authorization: Signed): Rpc;
586
+ export declare namespace toRpc {
587
+ type ErrorType = Errors.GlobalErrorType;
588
+ }
589
+ /**
590
+ * Converts an {@link ox#AuthorizationTempo.List} to an {@link ox#AuthorizationTempo.ListRpc}.
591
+ *
592
+ * @example
593
+ * ```ts twoslash
594
+ * import { AuthorizationTempo } from 'ox/tempo'
595
+ *
596
+ * const authorization = AuthorizationTempo.toRpcList([{
597
+ * address: '0x0000000000000000000000000000000000000000',
598
+ * chainId: 1,
599
+ * nonce: 1n,
600
+ * signature: {
601
+ * type: 'secp256k1',
602
+ * signature: {
603
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
604
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
605
+ * yParity: 0,
606
+ * },
607
+ * },
608
+ * }])
609
+ * ```
610
+ *
611
+ * @param authorizationList - An AA Authorization List.
612
+ * @returns An RPC-formatted AA Authorization List.
613
+ */
614
+ export declare function toRpcList(authorizationList: ListSigned): ListRpc;
615
+ export declare namespace toRpcList {
616
+ type ErrorType = Errors.GlobalErrorType;
617
+ }
618
+ /**
619
+ * Converts an {@link ox#AuthorizationTempo.AuthorizationTempo} to an {@link ox#AuthorizationTempo.Tuple}.
620
+ *
621
+ * @example
622
+ * ```ts twoslash
623
+ * import { AuthorizationTempo } from 'ox/tempo'
624
+ *
625
+ * const authorization = AuthorizationTempo.from({
626
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
627
+ * chainId: 1,
628
+ * nonce: 69n,
629
+ * })
630
+ *
631
+ * const tuple = AuthorizationTempo.toTuple(authorization) // [!code focus]
632
+ * // @log: [
633
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
634
+ * // @log: chainId: 1,
635
+ * // @log: nonce: 69n,
636
+ * // @log: ]
637
+ * ```
638
+ *
639
+ * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
640
+ * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple.
641
+ */
642
+ export declare function toTuple<const authorization extends AuthorizationTempo>(authorization: authorization): toTuple.ReturnType<authorization>;
643
+ export declare namespace toTuple {
644
+ type ReturnType<authorization extends AuthorizationTempo = AuthorizationTempo> = Compute<Tuple<authorization extends AuthorizationTempo<true> ? true : false>>;
645
+ type ErrorType = Errors.GlobalErrorType;
646
+ }
647
+ /**
648
+ * Converts an {@link ox#AuthorizationTempo.List} to an {@link ox#AuthorizationTempo.TupleList}.
649
+ *
650
+ * @example
651
+ * ```ts twoslash
652
+ * import { AuthorizationTempo } from 'ox/tempo'
653
+ *
654
+ * const authorization_1 = AuthorizationTempo.from({
655
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
656
+ * chainId: 1,
657
+ * nonce: 69n,
658
+ * })
659
+ * const authorization_2 = AuthorizationTempo.from({
660
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
661
+ * chainId: 3,
662
+ * nonce: 20n,
663
+ * })
664
+ *
665
+ * const tuple = AuthorizationTempo.toTupleList([authorization_1, authorization_2]) // [!code focus]
666
+ * // @log: [
667
+ * // @log: [
668
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
669
+ * // @log: chainId: 1,
670
+ * // @log: nonce: 69n,
671
+ * // @log: ],
672
+ * // @log: [
673
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
674
+ * // @log: chainId: 3,
675
+ * // @log: nonce: 20n,
676
+ * // @log: ],
677
+ * // @log: ]
678
+ * ```
679
+ *
680
+ * @param list - An {@link ox#AuthorizationTempo.List}.
681
+ * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple list.
682
+ */
683
+ export declare function toTupleList<const list extends readonly AuthorizationTempo<true>[] | readonly AuthorizationTempo<false>[]>(list?: list | undefined): toTupleList.ReturnType<list>;
684
+ export declare namespace toTupleList {
685
+ type ReturnType<list extends readonly AuthorizationTempo<true>[] | readonly AuthorizationTempo<false>[]> = Compute<TupleList<list extends readonly AuthorizationTempo<true>[] ? true : false>>;
686
+ type ErrorType = Errors.GlobalErrorType;
687
+ }
688
+ //# sourceMappingURL=AuthorizationTempo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthorizationTempo.d.ts","sourceRoot":"","sources":["../../tempo/AuthorizationTempo.ts"],"names":[],"mappings":"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"}