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,450 +0,0 @@
1
- import type * as Address from 'ox/Address';
2
- import type * as Errors from 'ox/Errors';
3
- import * as Hash from 'ox/Hash';
4
- import * as Hex from 'ox/Hex';
5
- import * as Rlp from 'ox/Rlp';
6
- import type { Compute } from '../internal/types.js';
7
- import * as SignatureEnvelope from './SignatureEnvelope.js';
8
- /** Root type for an AA Authorization. */
9
- export type AuthorizationTempo<signed extends boolean = boolean, bigintType = bigint, numberType = number> = Compute<{
10
- /** Address of the contract to set as code for the Authority. */
11
- address: Address.Address;
12
- /** Chain ID to authorize. */
13
- chainId: numberType;
14
- /** Nonce of the Authority to authorize. */
15
- nonce: bigintType;
16
- } & (signed extends true ? {
17
- signature: SignatureEnvelope.SignatureEnvelope<bigintType, numberType>;
18
- } : {
19
- signature?: SignatureEnvelope.SignatureEnvelope<bigintType, numberType> | undefined;
20
- })>;
21
- /** RPC representation of an {@link ox#AuthorizationTempo.AuthorizationTempo}. */
22
- export type Rpc = Omit<AuthorizationTempo<false, Hex.Hex, Hex.Hex>, 'signature'> & {
23
- signature: SignatureEnvelope.SignatureEnvelopeRpc;
24
- };
25
- /** List of {@link ox#AuthorizationTempo.AuthorizationTempo}. */
26
- export type List<signed extends boolean = boolean, bigintType = bigint, numberType = number> = Compute<readonly AuthorizationTempo<signed, bigintType, numberType>[]>;
27
- /** RPC representation of a list of AA Authorizations. */
28
- export type ListRpc = readonly Rpc[];
29
- /** Signed representation of a list of AA Authorizations. */
30
- export type ListSigned<bigintType = bigint, numberType = number> = List<true, bigintType, numberType>;
31
- /** Signed representation of an AA Authorization. */
32
- export type Signed<bigintType = bigint, numberType = number> = AuthorizationTempo<true, bigintType, numberType>;
33
- /** Tuple representation of an AA Authorization. */
34
- export type Tuple<signed extends boolean = boolean> = signed extends true ? readonly [
35
- chainId: Hex.Hex,
36
- address: Hex.Hex,
37
- nonce: Hex.Hex,
38
- signature: Hex.Hex
39
- ] : readonly [chainId: Hex.Hex, address: Hex.Hex, nonce: Hex.Hex];
40
- /** Tuple representation of a signed {@link ox#AuthorizationTempo.AuthorizationTempo}. */
41
- export type TupleSigned = Tuple<true>;
42
- /** Tuple representation of a list of {@link ox#AuthorizationTempo.AuthorizationTempo}. */
43
- export type TupleList<signed extends boolean = boolean> = readonly Tuple<signed>[];
44
- /** Tuple representation of a list of signed {@link ox#AuthorizationTempo.AuthorizationTempo}. */
45
- export type TupleListSigned = TupleList<true>;
46
- /**
47
- * Converts an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization object into a typed {@link ox#AuthorizationTempo.AuthorizationTempo}.
48
- *
49
- * @example
50
- * An AA Authorization can be instantiated from an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple in object format.
51
- *
52
- * ```ts twoslash
53
- * import { AuthorizationTempo } from 'ox'
54
- *
55
- * const authorization = AuthorizationTempo.from({
56
- * address: '0x1234567890abcdef1234567890abcdef12345678',
57
- * chainId: 1,
58
- * nonce: 69n,
59
- * })
60
- * ```
61
- *
62
- * @example
63
- * ### Attaching Signatures
64
- *
65
- * A {@link ox#SignatureEnvelope.SignatureEnvelope} can be attached with the `signature` option. The example below demonstrates signing
66
- * an AA Authorization with {@link ox#Secp256k1.(sign:function)}.
67
- *
68
- * ```ts twoslash
69
- * import { AuthorizationTempo, Secp256k1 } from 'ox'
70
- *
71
- * const authorization = AuthorizationTempo.from({
72
- * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
73
- * chainId: 1,
74
- * nonce: 40n,
75
- * })
76
- *
77
- * const signature = Secp256k1.sign({
78
- * payload: AuthorizationTempo.getSignPayload(authorization),
79
- * privateKey: '0x...',
80
- * })
81
- *
82
- * const authorization_signed = AuthorizationTempo.from(authorization, { signature }) // [!code focus]
83
- * ```
84
- *
85
- * @param authorization - An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple in object format.
86
- * @param options - AA Authorization options.
87
- * @returns The {@link ox#AuthorizationTempo.AuthorizationTempo}.
88
- */
89
- export declare function from<const authorization extends AuthorizationTempo | Rpc, const signature extends SignatureEnvelope.SignatureEnvelope | undefined = undefined>(authorization: authorization | AuthorizationTempo, options?: from.Options<signature>): from.ReturnType<authorization, signature>;
90
- export declare namespace from {
91
- type Options<signature extends SignatureEnvelope.SignatureEnvelope | undefined = SignatureEnvelope.SignatureEnvelope | undefined> = {
92
- /** The {@link ox#SignatureEnvelope.SignatureEnvelope} to attach to the AA Authorization. */
93
- signature?: signature | SignatureEnvelope.SignatureEnvelope | undefined;
94
- };
95
- type ReturnType<authorization extends AuthorizationTempo | Rpc = AuthorizationTempo, signature extends SignatureEnvelope.SignatureEnvelope | undefined = SignatureEnvelope.SignatureEnvelope | undefined> = Compute<authorization extends Rpc ? Signed : authorization & (signature extends SignatureEnvelope.SignatureEnvelope ? {
96
- signature: SignatureEnvelope.from.ReturnValue<signature>;
97
- } : {})>;
98
- type ErrorType = Errors.GlobalErrorType;
99
- }
100
- /**
101
- * Converts an {@link ox#AuthorizationTempo.Rpc} to an {@link ox#AuthorizationTempo.AuthorizationTempo}.
102
- *
103
- * @example
104
- * ```ts twoslash
105
- * import { AuthorizationTempo } from 'ox'
106
- *
107
- * const authorization = AuthorizationTempo.fromRpc({
108
- * address: '0x0000000000000000000000000000000000000000',
109
- * chainId: '0x1',
110
- * nonce: '0x1',
111
- * signature: {
112
- * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
113
- * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
114
- * yParity: '0x0',
115
- * },
116
- * })
117
- * ```
118
- *
119
- * @param authorization - The RPC-formatted AA Authorization.
120
- * @returns A signed {@link ox#AuthorizationTempo.AuthorizationTempo}.
121
- */
122
- export declare function fromRpc(authorization: Rpc): Signed;
123
- export declare namespace fromRpc {
124
- type ErrorType = Errors.GlobalErrorType;
125
- }
126
- /**
127
- * Converts an {@link ox#AuthorizationTempo.ListRpc} to an {@link ox#AuthorizationTempo.List}.
128
- *
129
- * @example
130
- * ```ts twoslash
131
- * import { AuthorizationTempo } from 'ox'
132
- *
133
- * const authorizationList = AuthorizationTempo.fromRpcList([{
134
- * address: '0x0000000000000000000000000000000000000000',
135
- * chainId: '0x1',
136
- * nonce: '0x1',
137
- * signature: {
138
- * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
139
- * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
140
- * yParity: '0x0',
141
- * },
142
- * }])
143
- * ```
144
- *
145
- * @param authorizationList - The RPC-formatted AA Authorization list.
146
- * @returns A signed {@link ox#AuthorizationTempo.List}.
147
- */
148
- export declare function fromRpcList(authorizationList: ListRpc): ListSigned;
149
- export declare namespace fromRpcList {
150
- type ErrorType = Errors.GlobalErrorType;
151
- }
152
- /**
153
- * Converts an {@link ox#AuthorizationTempo.Tuple} to an {@link ox#AuthorizationTempo.AuthorizationTempo}.
154
- *
155
- * @example
156
- * ```ts twoslash
157
- * import { AuthorizationTempo } from 'ox'
158
- *
159
- * const authorization = AuthorizationTempo.fromTuple([
160
- * '0x1',
161
- * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
162
- * '0x3'
163
- * ])
164
- * // @log: {
165
- * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
166
- * // @log: chainId: 1,
167
- * // @log: nonce: 3n
168
- * // @log: }
169
- * ```
170
- *
171
- * @example
172
- * It is also possible to append a serialized SignatureEnvelope to the end of an AA Authorization tuple.
173
- *
174
- * ```ts twoslash
175
- * import { AuthorizationTempo } from 'ox'
176
- *
177
- * const authorization = AuthorizationTempo.fromTuple([
178
- * '0x1',
179
- * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
180
- * '0x3',
181
- * '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
182
- * ])
183
- * // @log: {
184
- * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
185
- * // @log: chainId: 1,
186
- * // @log: nonce: 3n
187
- * // @log: signature: {
188
- * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
189
- * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
190
- * // @log: yParity: 0,
191
- * // @log: },
192
- * // @log: }
193
- * ```
194
- *
195
- * @param tuple - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple.
196
- * @returns The {@link ox#AuthorizationTempo.AuthorizationTempo}.
197
- */
198
- export declare function fromTuple<const tuple extends Tuple>(tuple: tuple): fromTuple.ReturnType<tuple>;
199
- export declare namespace fromTuple {
200
- type ReturnType<authorization extends Tuple = Tuple> = Compute<AuthorizationTempo<authorization extends Tuple<true> ? true : false>>;
201
- type ErrorType = Errors.GlobalErrorType;
202
- }
203
- /**
204
- * Converts an {@link ox#AuthorizationTempo.TupleList} to an {@link ox#AuthorizationTempo.List}.
205
- *
206
- * @example
207
- * ```ts twoslash
208
- * import { AuthorizationTempo } from 'ox'
209
- *
210
- * const authorizationList = AuthorizationTempo.fromTupleList([
211
- * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3'],
212
- * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14'],
213
- * ])
214
- * // @log: [
215
- * // @log: {
216
- * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
217
- * // @log: chainId: 1,
218
- * // @log: nonce: 3n,
219
- * // @log: },
220
- * // @log: {
221
- * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
222
- * // @log: chainId: 3,
223
- * // @log: nonce: 20n,
224
- * // @log: },
225
- * // @log: ]
226
- * ```
227
- *
228
- * @example
229
- * It is also possible to append a serialized SignatureEnvelope to the end of an AA Authorization tuple.
230
- *
231
- * ```ts twoslash
232
- * import { AuthorizationTempo } from 'ox'
233
- *
234
- * const authorizationList = AuthorizationTempo.fromTupleList([
235
- * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3', '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
236
- * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14', '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
237
- * ])
238
- * // @log: [
239
- * // @log: {
240
- * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
241
- * // @log: chainId: 1,
242
- * // @log: nonce: 3n,
243
- * // @log: signature: {
244
- * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
245
- * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
246
- * // @log: yParity: 0,
247
- * // @log: },
248
- * // @log: },
249
- * // @log: {
250
- * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
251
- * // @log: chainId: 3,
252
- * // @log: nonce: 20n,
253
- * // @log: signature: {
254
- * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
255
- * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
256
- * // @log: yParity: 0,
257
- * // @log: },
258
- * // @log: },
259
- * // @log: ]
260
- * ```
261
- *
262
- * @param tupleList - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple list.
263
- * @returns An {@link ox#AuthorizationTempo.List}.
264
- */
265
- export declare function fromTupleList<const tupleList extends TupleList>(tupleList: tupleList): fromTupleList.ReturnType<tupleList>;
266
- export declare namespace fromTupleList {
267
- type ReturnType<tupleList extends TupleList> = Compute<TupleList<tupleList extends TupleList<true> ? true : false>>;
268
- type ErrorType = Errors.GlobalErrorType;
269
- }
270
- /**
271
- * 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]))`.
272
- *
273
- * @example
274
- * The example below demonstrates computing the sign payload for an {@link ox#AuthorizationTempo.AuthorizationTempo}. This payload
275
- * can then be passed to signing functions like {@link ox#Secp256k1.(sign:function)}.
276
- *
277
- * ```ts twoslash
278
- * import { AuthorizationTempo, Secp256k1 } from 'ox'
279
- *
280
- * const authorization = AuthorizationTempo.from({
281
- * address: '0x1234567890abcdef1234567890abcdef12345678',
282
- * chainId: 1,
283
- * nonce: 69n,
284
- * })
285
- *
286
- * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
287
- *
288
- * const signature = Secp256k1.sign({
289
- * payload,
290
- * privateKey: '0x...',
291
- * })
292
- * ```
293
- *
294
- * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
295
- * @returns The sign payload.
296
- */
297
- export declare function getSignPayload(authorization: AuthorizationTempo): Hex.Hex;
298
- export declare namespace getSignPayload {
299
- type ErrorType = hash.ErrorType | Errors.GlobalErrorType;
300
- }
301
- /**
302
- * 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]))`.
303
- *
304
- * @example
305
- * ```ts twoslash
306
- * import { AuthorizationTempo } from 'ox'
307
- *
308
- * const authorization = AuthorizationTempo.from({
309
- * address: '0x1234567890abcdef1234567890abcdef12345678',
310
- * chainId: 1,
311
- * nonce: 69n,
312
- * })
313
- *
314
- * const hash = AuthorizationTempo.hash(authorization) // [!code focus]
315
- * ```
316
- *
317
- * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
318
- * @returns The hash.
319
- */
320
- export declare function hash(authorization: AuthorizationTempo, options?: hash.Options): Hex.Hex;
321
- export declare namespace hash {
322
- type ErrorType = toTuple.ErrorType | Hash.keccak256.ErrorType | Hex.concat.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
323
- type Options = {
324
- /** Whether to hash this authorization for signing. @default false */
325
- presign?: boolean | undefined;
326
- };
327
- }
328
- /**
329
- * Converts an {@link ox#AuthorizationTempo.AuthorizationTempo} to an {@link ox#AuthorizationTempo.Rpc}.
330
- *
331
- * @example
332
- * ```ts twoslash
333
- * import { AuthorizationTempo } from 'ox'
334
- *
335
- * const authorization = AuthorizationTempo.toRpc({
336
- * address: '0x0000000000000000000000000000000000000000',
337
- * chainId: 1,
338
- * nonce: 1n,
339
- * signature: {
340
- * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
341
- * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
342
- * yParity: 0,
343
- * },
344
- * })
345
- * ```
346
- *
347
- * @param authorization - An AA Authorization.
348
- * @returns An RPC-formatted AA Authorization.
349
- */
350
- export declare function toRpc(authorization: Signed): Rpc;
351
- export declare namespace toRpc {
352
- type ErrorType = Errors.GlobalErrorType;
353
- }
354
- /**
355
- * Converts an {@link ox#AuthorizationTempo.List} to an {@link ox#AuthorizationTempo.ListRpc}.
356
- *
357
- * @example
358
- * ```ts twoslash
359
- * import { AuthorizationTempo } from 'ox'
360
- *
361
- * const authorization = AuthorizationTempo.toRpcList([{
362
- * address: '0x0000000000000000000000000000000000000000',
363
- * chainId: 1,
364
- * nonce: 1n,
365
- * signature: {
366
- * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
367
- * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
368
- * yParity: 0,
369
- * },
370
- * }])
371
- * ```
372
- *
373
- * @param authorizationList - An AA Authorization List.
374
- * @returns An RPC-formatted AA Authorization List.
375
- */
376
- export declare function toRpcList(authorizationList: ListSigned): ListRpc;
377
- export declare namespace toRpcList {
378
- type ErrorType = Errors.GlobalErrorType;
379
- }
380
- /**
381
- * Converts an {@link ox#AuthorizationTempo.AuthorizationTempo} to an {@link ox#AuthorizationTempo.Tuple}.
382
- *
383
- * @example
384
- * ```ts twoslash
385
- * import { AuthorizationTempo } from 'ox'
386
- *
387
- * const authorization = AuthorizationTempo.from({
388
- * address: '0x1234567890abcdef1234567890abcdef12345678',
389
- * chainId: 1,
390
- * nonce: 69n,
391
- * })
392
- *
393
- * const tuple = AuthorizationTempo.toTuple(authorization) // [!code focus]
394
- * // @log: [
395
- * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
396
- * // @log: chainId: 1,
397
- * // @log: nonce: 69n,
398
- * // @log: ]
399
- * ```
400
- *
401
- * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
402
- * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple.
403
- */
404
- export declare function toTuple<const authorization extends AuthorizationTempo>(authorization: authorization): toTuple.ReturnType<authorization>;
405
- export declare namespace toTuple {
406
- type ReturnType<authorization extends AuthorizationTempo = AuthorizationTempo> = Compute<Tuple<authorization extends AuthorizationTempo<true> ? true : false>>;
407
- type ErrorType = Errors.GlobalErrorType;
408
- }
409
- /**
410
- * Converts an {@link ox#AuthorizationTempo.List} to an {@link ox#AuthorizationTempo.TupleList}.
411
- *
412
- * @example
413
- * ```ts twoslash
414
- * import { AuthorizationTempo } from 'ox'
415
- *
416
- * const authorization_1 = AuthorizationTempo.from({
417
- * address: '0x1234567890abcdef1234567890abcdef12345678',
418
- * chainId: 1,
419
- * nonce: 69n,
420
- * })
421
- * const authorization_2 = AuthorizationTempo.from({
422
- * address: '0x1234567890abcdef1234567890abcdef12345678',
423
- * chainId: 3,
424
- * nonce: 20n,
425
- * })
426
- *
427
- * const tuple = AuthorizationTempo.toTupleList([authorization_1, authorization_2]) // [!code focus]
428
- * // @log: [
429
- * // @log: [
430
- * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
431
- * // @log: chainId: 1,
432
- * // @log: nonce: 69n,
433
- * // @log: ],
434
- * // @log: [
435
- * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
436
- * // @log: chainId: 3,
437
- * // @log: nonce: 20n,
438
- * // @log: ],
439
- * // @log: ]
440
- * ```
441
- *
442
- * @param list - An {@link ox#AuthorizationTempo.List}.
443
- * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple list.
444
- */
445
- export declare function toTupleList<const list extends readonly AuthorizationTempo<true>[] | readonly AuthorizationTempo<false>[]>(list?: list | undefined): toTupleList.ReturnType<list>;
446
- export declare namespace toTupleList {
447
- type ReturnType<list extends readonly AuthorizationTempo<true>[] | readonly AuthorizationTempo<false>[]> = Compute<TupleList<list extends readonly AuthorizationTempo<true>[] ? true : false>>;
448
- type ErrorType = Errors.GlobalErrorType;
449
- }
450
- //# sourceMappingURL=AuthorizationTempo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthorizationTempo.d.ts","sourceRoot":"","sources":["../../src/ox/AuthorizationTempo.ts"],"names":[],"mappings":"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"}