viem 3.0.0-next.12 → 3.0.0-next.13

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 (185) hide show
  1. package/dist/chains/definitions/creditCoin3Devnet.d.ts +6 -0
  2. package/dist/chains/definitions/creditCoin3Devnet.d.ts.map +1 -1
  3. package/dist/chains/definitions/creditCoin3Devnet.js +6 -0
  4. package/dist/chains/definitions/creditCoin3Devnet.js.map +1 -1
  5. package/dist/chains/definitions/creditCoin3Mainnet.d.ts +5 -1
  6. package/dist/chains/definitions/creditCoin3Mainnet.d.ts.map +1 -1
  7. package/dist/chains/definitions/creditCoin3Mainnet.js +4 -0
  8. package/dist/chains/definitions/creditCoin3Mainnet.js.map +1 -1
  9. package/dist/chains/definitions/creditCoin3Testnet.d.ts +5 -1
  10. package/dist/chains/definitions/creditCoin3Testnet.d.ts.map +1 -1
  11. package/dist/chains/definitions/creditCoin3Testnet.js +4 -0
  12. package/dist/chains/definitions/creditCoin3Testnet.js.map +1 -1
  13. package/dist/chains/definitions/crymad.d.ts +25 -0
  14. package/dist/chains/definitions/crymad.d.ts.map +1 -0
  15. package/dist/chains/definitions/crymad.js +23 -0
  16. package/dist/chains/definitions/crymad.js.map +1 -0
  17. package/dist/chains/definitions/crymadL2.d.ts +26 -0
  18. package/dist/chains/definitions/crymadL2.d.ts.map +1 -0
  19. package/dist/chains/definitions/crymadL2.js +24 -0
  20. package/dist/chains/definitions/crymadL2.js.map +1 -0
  21. package/dist/chains/definitions/kortana.d.ts +18 -0
  22. package/dist/chains/definitions/kortana.d.ts.map +1 -0
  23. package/dist/chains/definitions/kortana.js +16 -0
  24. package/dist/chains/definitions/kortana.js.map +1 -0
  25. package/dist/chains/index.d.ts +3 -0
  26. package/dist/chains/index.d.ts.map +1 -1
  27. package/dist/chains/index.js +3 -0
  28. package/dist/chains/index.js.map +1 -1
  29. package/dist/core/actions/wallet/sendCalls.d.ts.map +1 -1
  30. package/dist/core/actions/wallet/sendCalls.js +1 -0
  31. package/dist/core/actions/wallet/sendCalls.js.map +1 -1
  32. package/dist/erc4337/actions/userOperation/waitForReceipt.js +1 -1
  33. package/dist/erc4337/actions/userOperation/waitForReceipt.js.map +1 -1
  34. package/dist/node/transports/ipc.d.ts.map +1 -1
  35. package/dist/node/transports/ipc.js +20 -2
  36. package/dist/node/transports/ipc.js.map +1 -1
  37. package/dist/tempo/Abis.d.ts +778 -174
  38. package/dist/tempo/Abis.d.ts.map +1 -1
  39. package/dist/tempo/Abis.js +178 -37
  40. package/dist/tempo/Abis.js.map +1 -1
  41. package/dist/tempo/Capabilities.d.ts +7 -13
  42. package/dist/tempo/Capabilities.d.ts.map +1 -1
  43. package/dist/tempo/Client.d.ts +0 -5
  44. package/dist/tempo/Client.d.ts.map +1 -1
  45. package/dist/tempo/Client.js +3 -10
  46. package/dist/tempo/Client.js.map +1 -1
  47. package/dist/tempo/ExecutionError.d.ts +81 -0
  48. package/dist/tempo/ExecutionError.d.ts.map +1 -0
  49. package/dist/tempo/ExecutionError.js +309 -0
  50. package/dist/tempo/ExecutionError.js.map +1 -0
  51. package/dist/tempo/Relay.d.ts +303 -0
  52. package/dist/tempo/Relay.d.ts.map +1 -0
  53. package/dist/tempo/Relay.js +170 -0
  54. package/dist/tempo/Relay.js.map +1 -0
  55. package/dist/tempo/Selectors.d.ts +16 -5
  56. package/dist/tempo/Selectors.d.ts.map +1 -1
  57. package/dist/tempo/Selectors.js +16 -5
  58. package/dist/tempo/Selectors.js.map +1 -1
  59. package/dist/tempo/Transport.d.ts +11 -11
  60. package/dist/tempo/Transport.d.ts.map +1 -1
  61. package/dist/tempo/Transport.js +22 -51
  62. package/dist/tempo/Transport.js.map +1 -1
  63. package/dist/tempo/actions/token/burn.d.ts +38 -9
  64. package/dist/tempo/actions/token/burn.d.ts.map +1 -1
  65. package/dist/tempo/actions/token/burn.js +12 -5
  66. package/dist/tempo/actions/token/burn.js.map +1 -1
  67. package/dist/tempo/actions/token/burnSync.d.ts +2 -0
  68. package/dist/tempo/actions/token/burnSync.d.ts.map +1 -1
  69. package/dist/tempo/chainConfig.d.ts +4 -5
  70. package/dist/tempo/chainConfig.d.ts.map +1 -1
  71. package/dist/tempo/chainConfig.js +6 -1
  72. package/dist/tempo/chainConfig.js.map +1 -1
  73. package/dist/tempo/index.d.ts +5 -3
  74. package/dist/tempo/index.d.ts.map +1 -1
  75. package/dist/tempo/index.js +5 -3
  76. package/dist/tempo/index.js.map +1 -1
  77. package/dist/tempo/internal/relay/cache.d.ts +9 -0
  78. package/dist/tempo/internal/relay/cache.d.ts.map +1 -0
  79. package/dist/tempo/internal/relay/cache.js +72 -0
  80. package/dist/tempo/internal/relay/cache.js.map +1 -0
  81. package/dist/tempo/internal/relay/deadline.d.ts +4 -0
  82. package/dist/tempo/internal/relay/deadline.d.ts.map +1 -0
  83. package/dist/tempo/internal/relay/deadline.js +34 -0
  84. package/dist/tempo/internal/relay/deadline.js.map +1 -0
  85. package/dist/tempo/internal/relay/error.d.ts +47 -0
  86. package/dist/tempo/internal/relay/error.d.ts.map +1 -0
  87. package/dist/tempo/internal/relay/error.js +101 -0
  88. package/dist/tempo/internal/relay/error.js.map +1 -0
  89. package/dist/tempo/internal/relay/feePayer.d.ts +70 -0
  90. package/dist/tempo/internal/relay/feePayer.d.ts.map +1 -0
  91. package/dist/tempo/internal/relay/feePayer.js +442 -0
  92. package/dist/tempo/internal/relay/feePayer.js.map +1 -0
  93. package/dist/tempo/internal/relay/feeToken.d.ts +38 -0
  94. package/dist/tempo/internal/relay/feeToken.d.ts.map +1 -0
  95. package/dist/tempo/internal/relay/feeToken.js +143 -0
  96. package/dist/tempo/internal/relay/feeToken.js.map +1 -0
  97. package/dist/tempo/internal/relay/multisig.d.ts +4 -0
  98. package/dist/tempo/internal/relay/multisig.d.ts.map +1 -0
  99. package/dist/tempo/{Multisig.js → internal/relay/multisig.js} +134 -126
  100. package/dist/tempo/internal/relay/multisig.js.map +1 -0
  101. package/dist/tempo/internal/relay/plugin.d.ts +5 -0
  102. package/dist/tempo/internal/relay/plugin.d.ts.map +1 -0
  103. package/dist/tempo/internal/relay/plugin.js +10 -0
  104. package/dist/tempo/internal/relay/plugin.js.map +1 -0
  105. package/dist/tempo/internal/relay/preflight.d.ts +17 -0
  106. package/dist/tempo/internal/relay/preflight.d.ts.map +1 -0
  107. package/dist/tempo/internal/relay/preflight.js +53 -0
  108. package/dist/tempo/internal/relay/preflight.js.map +1 -0
  109. package/dist/tempo/internal/relay/request.d.ts +16 -0
  110. package/dist/tempo/internal/relay/request.d.ts.map +1 -0
  111. package/dist/tempo/internal/relay/request.js +327 -0
  112. package/dist/tempo/internal/relay/request.js.map +1 -0
  113. package/dist/tempo/internal/relay/simulate.d.ts +62 -0
  114. package/dist/tempo/internal/relay/simulate.d.ts.map +1 -0
  115. package/dist/tempo/internal/relay/simulate.js +284 -0
  116. package/dist/tempo/internal/relay/simulate.js.map +1 -0
  117. package/dist/tempo/internal/relay/utils.d.ts +346 -0
  118. package/dist/tempo/internal/relay/utils.d.ts.map +1 -0
  119. package/dist/tempo/internal/relay/utils.js +185 -0
  120. package/dist/tempo/internal/relay/utils.js.map +1 -0
  121. package/dist/tempo/internal/relay/virtualAddress.d.ts +9 -0
  122. package/dist/tempo/internal/relay/virtualAddress.d.ts.map +1 -0
  123. package/dist/tempo/internal/relay/virtualAddress.js +73 -0
  124. package/dist/tempo/internal/relay/virtualAddress.js.map +1 -0
  125. package/dist/tempo/internal/relay.d.ts +4 -0
  126. package/dist/tempo/internal/relay.d.ts.map +1 -0
  127. package/dist/tempo/internal/relay.js +132 -0
  128. package/dist/tempo/internal/relay.js.map +1 -0
  129. package/dist/tokens/definitions/ousd.d.ts +26 -0
  130. package/dist/tokens/definitions/ousd.d.ts.map +1 -0
  131. package/dist/tokens/definitions/ousd.js +26 -0
  132. package/dist/tokens/definitions/ousd.js.map +1 -0
  133. package/dist/tokens/index.d.ts +2 -0
  134. package/dist/tokens/index.d.ts.map +1 -1
  135. package/dist/tokens/index.js +2 -0
  136. package/dist/tokens/index.js.map +1 -1
  137. package/dist/tokens/sets.d.ts +33 -0
  138. package/dist/tokens/sets.d.ts.map +1 -1
  139. package/dist/tokens/sets.js +4 -1
  140. package/dist/tokens/sets.js.map +1 -1
  141. package/dist/version.d.ts +1 -1
  142. package/dist/version.js +1 -1
  143. package/package.json +1 -1
  144. package/src/chains/definitions/creditCoin3Devnet.ts +6 -0
  145. package/src/chains/definitions/creditCoin3Mainnet.ts +4 -0
  146. package/src/chains/definitions/creditCoin3Testnet.ts +4 -0
  147. package/src/chains/definitions/crymad.ts +23 -0
  148. package/src/chains/definitions/crymadL2.ts +24 -0
  149. package/src/chains/definitions/kortana.ts +16 -0
  150. package/src/chains/index.ts +3 -0
  151. package/src/core/actions/wallet/sendCalls.ts +1 -0
  152. package/src/erc4337/actions/userOperation/waitForReceipt.ts +1 -1
  153. package/src/node/transports/ipc.ts +17 -2
  154. package/src/tempo/Abis.ts +179 -37
  155. package/src/tempo/Account.ts +1 -1
  156. package/src/tempo/Capabilities.ts +7 -15
  157. package/src/tempo/Client.ts +3 -23
  158. package/src/tempo/ExecutionError.ts +428 -0
  159. package/src/tempo/Relay.ts +430 -0
  160. package/src/tempo/Selectors.ts +25 -11
  161. package/src/tempo/Transport.ts +71 -41
  162. package/src/tempo/actions/token/burn.ts +21 -9
  163. package/src/tempo/actions/token/burnSync.ts +2 -0
  164. package/src/tempo/chainConfig.ts +9 -6
  165. package/src/tempo/index.ts +7 -4
  166. package/src/tempo/internal/relay/cache.ts +82 -0
  167. package/src/tempo/internal/relay/deadline.ts +45 -0
  168. package/src/tempo/internal/relay/error.ts +129 -0
  169. package/src/tempo/internal/relay/feePayer.ts +693 -0
  170. package/src/tempo/internal/relay/feeToken.ts +190 -0
  171. package/src/tempo/{Multisig.ts → internal/relay/multisig.ts} +165 -193
  172. package/src/tempo/internal/relay/plugin.ts +13 -0
  173. package/src/tempo/internal/relay/preflight.ts +83 -0
  174. package/src/tempo/internal/relay/request.ts +401 -0
  175. package/src/tempo/internal/relay/simulate.ts +394 -0
  176. package/src/tempo/internal/relay/utils.ts +213 -0
  177. package/src/tempo/internal/relay/virtualAddress.ts +95 -0
  178. package/src/tempo/internal/relay.ts +149 -0
  179. package/src/tokens/definitions/ousd.ts +26 -0
  180. package/src/tokens/index.ts +2 -0
  181. package/src/tokens/sets.ts +4 -1
  182. package/src/version.ts +1 -1
  183. package/dist/tempo/Multisig.d.ts +0 -39
  184. package/dist/tempo/Multisig.d.ts.map +0 -1
  185. package/dist/tempo/Multisig.js.map +0 -1
@@ -0,0 +1,303 @@
1
+ import type { Address } from 'abitype';
2
+ import type { Local as LocalAccount } from '../core/Account.js';
3
+ import type { Client as Client_ } from '../core/Client.js';
4
+ import type * as Transport from '../core/Transport.js';
5
+ import * as Sponsorship from './internal/relay/feePayer.js';
6
+ import type * as Store from './Store.js';
7
+ type EIP1193RequestOptions = NonNullable<Parameters<Transport.RequestFn>[1]>;
8
+ /**
9
+ * Creates a relay with RPC and Fetch handlers backed by a client or chain resolver.
10
+ *
11
+ * Pass a chain-configured `client` for a single chain, or `getClient` for multiple
12
+ * chains. Plugins may resolve the chain before forwarding to the selected client.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { Client, http } from 'viem'
17
+ * import { tempo } from 'viem/chains'
18
+ * import { Relay } from 'viem/tempo'
19
+ *
20
+ * const relay = Relay.create({
21
+ * client: Client.create({ chain: tempo, transport: http() }),
22
+ * })
23
+ * export default { fetch: relay.fetch }
24
+ * ```
25
+ *
26
+ * @param options - Client selection and relay plugins.
27
+ * @returns RPC and Fetch handlers sharing the same plugins.
28
+ */
29
+ export declare function create<const chainId extends number>(options: handleRequest.Options & {
30
+ client: Client & {
31
+ chain: {
32
+ id: chainId;
33
+ };
34
+ };
35
+ getClient?: never;
36
+ }): create.ReturnType<chainId>;
37
+ export declare function create<const chainId extends number = number>(options: handleRequest.Options & {
38
+ client?: never;
39
+ getClient: (options: {
40
+ chainId: chainId;
41
+ }) => Client;
42
+ }): create.ReturnType<chainId>;
43
+ export declare function create<getClient extends (options: never) => Client>(options: handleRequest.Options & {
44
+ client?: never;
45
+ getClient: getClient;
46
+ }): create.ReturnType<Parameters<getClient>[0] extends {
47
+ chainId: infer chainId extends number;
48
+ } ? chainId : number>;
49
+ export declare namespace create {
50
+ /** Client selection and middleware for a relay. */
51
+ type Options<chainId extends number = number> = handleRequest.Options & ({
52
+ /** Chain-configured client used for every forwarded request. */
53
+ client: Client & {
54
+ chain: {
55
+ id: chainId;
56
+ };
57
+ };
58
+ getClient?: never;
59
+ } | {
60
+ client?: never;
61
+ /** Resolves the client after plugins have selected the request's chain. */
62
+ getClient: (options: {
63
+ chainId: chainId;
64
+ }) => Client & {
65
+ chain: {
66
+ id: number;
67
+ };
68
+ };
69
+ });
70
+ /** Optional chain selection and RPC request options. */
71
+ type RequestOptions<chainId extends number = number> = Omit<handleRequest.RequestOptions, 'chainId'> & {
72
+ chainId?: chainId | undefined;
73
+ };
74
+ /** Handlers sharing one composed relay pipeline. */
75
+ type ReturnType<chainId extends number = number> = {
76
+ /** Handles a POST JSON-RPC request, returning JSON or an empty 204 for notifications. */
77
+ fetch: {
78
+ (request: Request): Promise<Response>;
79
+ (request: Request, options?: RequestOptions<chainId> | undefined): Promise<Response>;
80
+ };
81
+ /** Handles a parsed RPC call and returns its result. */
82
+ request: (request: handleRequest.Request, options?: RequestOptions<chainId> | undefined) => Promise<unknown>;
83
+ };
84
+ }
85
+ /**
86
+ * Creates an RPC request handler by composing relay plugins around a downstream handler.
87
+ *
88
+ * Requests enter plugins in array order, and responses return in reverse order.
89
+ * Post-fill hooks run concurrently after middleware finishes. Middleware sees
90
+ * the downstream result before post-fill enrichment and signing.
91
+ * Without plugins, the downstream handler is returned unchanged. Plugins decide
92
+ * whether to forward, transform, or handle a request. Errors propagate unchanged
93
+ * unless a plugin handles them.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * import { http } from 'viem'
98
+ * import { Relay } from 'viem/tempo'
99
+ *
100
+ * const rpc = http('https://rpc.tempo.xyz').setup()
101
+ * const handle = Relay.handleRequest(rpc.request, {
102
+ * plugins: [
103
+ * {
104
+ * async handleRequest(context, next) {
105
+ * context.options.retryCount = 0
106
+ * await next()
107
+ * },
108
+ * },
109
+ * ],
110
+ * })
111
+ * const chainId = await handle({ method: 'eth_chainId' })
112
+ * // @log: '0x1079'
113
+ * ```
114
+ *
115
+ * @param next - Downstream RPC request handler, typically forwarding to the Tempo (Execution) RPC.
116
+ * @param options - Relay options.
117
+ * @returns The composed RPC request handler.
118
+ */
119
+ export declare function handleRequest(next: handleRequest.Handler, options?: handleRequest.Options): handleRequest.Handler;
120
+ export declare namespace handleRequest {
121
+ /** RPC request handler shared by relay plugins and the downstream execution RPC. */
122
+ type Handler = (request: Request, options?: RequestOptions | undefined) => Promise<unknown>;
123
+ /** Options for {@link handleRequest}. */
124
+ type Options = {
125
+ /** Plugins in request execution order. Defaults to an empty list. */
126
+ plugins?: readonly Plugin[] | undefined;
127
+ /** Fee-token candidates shared by all plugins, memoized per request and chain. */
128
+ resolveTokens?: ((chainId: number) => readonly Address[] | Promise<readonly Address[]>) | undefined;
129
+ /** Deadline in milliseconds for a plugin-handled fill, including callbacks. Defaults to 10,000. */
130
+ timeout?: number | undefined;
131
+ };
132
+ /** RPC request passed to a handler. */
133
+ type Request = {
134
+ /** RPC method name. */
135
+ method: string;
136
+ /** RPC method parameters. */
137
+ params?: readonly unknown[] | undefined;
138
+ };
139
+ /** Options for one handled request. */
140
+ type RequestOptions = EIP1193RequestOptions & {
141
+ /** Chain selected by the caller or resolved by a plugin. */
142
+ chainId?: number | undefined;
143
+ /** Response metadata collected by the Fetch adapter. */
144
+ response?: {
145
+ sponsorship_details?: Sponsorship.SponsorshipDetails | undefined;
146
+ } | undefined;
147
+ };
148
+ }
149
+ /** Hooks extending relay request processing and filled transaction responses. */
150
+ export type Plugin = {
151
+ /** Processes an RPC request. Await next(), then read or replace context.result. */
152
+ handleRequest?: ((context: Plugin.Context, next: () => Promise<void>) => Promise<unknown>) | undefined;
153
+ /** Runs concurrently after the final fill. Returns capability fields to merge. */
154
+ afterFill?: ((filled: Plugin.FillResult, context: Plugin.Context) => Promise<Plugin.Enrichment | undefined>) | undefined;
155
+ /** Signs the final fill concurrently with enrichment. Only one signer may be registered. */
156
+ signTransaction?: ((filled: Plugin.FillResult, context: Plugin.Context) => Promise<Plugin.Signature | undefined>) | undefined;
157
+ };
158
+ export declare namespace Plugin {
159
+ /** State and services isolated to one RPC invocation. */
160
+ type Context = {
161
+ /** Current RPC request. Changes are passed to next(). */
162
+ request: handleRequest.Request;
163
+ /** Downstream result, populated by next(). */
164
+ result: unknown;
165
+ /** Transport options and selected chain. */
166
+ options: handleRequest.RequestOptions;
167
+ /** Downstream client for the selected chain. */
168
+ readonly client: Client_;
169
+ /** Gets a downstream client for the selected or specified chain. */
170
+ getClient: (chainId?: number) => Client_;
171
+ /** Gets the shared token candidates for the selected or specified chain. */
172
+ resolveTokens: (chainId?: number) => Promise<readonly Address[]>;
173
+ /** Scopes a configured store to this invocation. */
174
+ getStore: (store: Store.Store | undefined) => Store.Store | undefined;
175
+ };
176
+ /** Immutable RPC fill supplied to post-fill hooks. */
177
+ type FillResult = {
178
+ readonly tx: Readonly<Record<string, unknown>>;
179
+ readonly capabilities?: Readonly<Record<string, unknown>> | undefined;
180
+ readonly sponsor?: unknown;
181
+ };
182
+ /** Additional response capabilities. Duplicate keys from hooks are rejected. */
183
+ type Enrichment = {
184
+ capabilities?: Record<string, unknown> | undefined;
185
+ };
186
+ /** Fee-payer signature in RPC format. */
187
+ type Signature = {
188
+ r: `0x${string}`;
189
+ s: `0x${string}`;
190
+ yParity: `0x${string}`;
191
+ };
192
+ }
193
+ declare const multisigBrand: unique symbol;
194
+ /**
195
+ * Coordinates native multisig approvals using shared atomic storage.
196
+ *
197
+ * Memory storage is process-local. Independent clients and multiple server
198
+ * instances must use the same persistent store to share pending approvals.
199
+ *
200
+ * @example
201
+ * ```ts
202
+ * import { http } from 'viem'
203
+ * import { Relay, Store, withRelay } from 'viem/tempo'
204
+ *
205
+ * const transport = withRelay(http(), {
206
+ * plugins: [Relay.multisig({ store: Store.memory() })],
207
+ * })
208
+ * ```
209
+ *
210
+ * @param options - Shared atomic storage.
211
+ * @returns A plugin that coordinates multisig requests and forwards other calls.
212
+ */
213
+ export declare function multisig(options: multisig.Options): multisig.ReturnType;
214
+ export declare namespace multisig {
215
+ /** Multisig coordination options. */
216
+ type Options = {
217
+ /** Store shared by multisig coordinators, with atomic compare-and-set support. */
218
+ store: Store.Atomic;
219
+ };
220
+ /** Middleware advertising native multisig coordination. */
221
+ type ReturnType = Plugin & {
222
+ readonly [multisigBrand]: true;
223
+ };
224
+ }
225
+ /**
226
+ * Sponsors transactions with a local account or an external fee-payer relay.
227
+ *
228
+ * Place multisig before this plugin and fee-token selection after it.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * import { Account } from 'viem'
233
+ * import { Relay } from 'viem/tempo'
234
+ * const plugin = Relay.feePayer({ account: Account.fromPrivateKey('0x...') })
235
+ * ```
236
+ * @param options - Sponsor account, policy, and display metadata.
237
+ * @returns A fee-payer relay plugin.
238
+ */
239
+ export declare function feePayer(options?: feePayer.Options): Plugin;
240
+ export declare namespace feePayer {
241
+ /** Fee sponsorship configuration. */
242
+ type Options = {
243
+ /** Local sponsor. Omit when requests use an external fee-payer URL. */
244
+ account?: LocalAccount | undefined;
245
+ /** Trusted external fee-payer URLs. Matches the normalized full URL, including path and query. Defaults to none. */
246
+ allowedFeePayers?: readonly string[] | undefined;
247
+ /** Sponsor's preferred fee token. Overrides the request token on sponsored fills. */
248
+ feeToken?: Address | undefined;
249
+ /** Allow HTTP and private external relay hosts in trusted development environments. @default false */
250
+ internal_allowUnsafeUrls?: boolean | undefined;
251
+ /** Display name returned in sponsor capabilities. */
252
+ name?: string | undefined;
253
+ /** Called after signing and before returning or broadcasting. A thrown error aborts sponsorship. */
254
+ onSponsored?: Sponsorship.sign.Options['onSponsored'] | undefined;
255
+ /** Sponsor display URL. */
256
+ url?: string | undefined;
257
+ /** Only `true` authorizes sponsorship. Rejected fills fall back to sender-paid transactions. */
258
+ validate?: Sponsorship.Validate | undefined;
259
+ };
260
+ /** Result of a sponsorship policy check. */
261
+ type Validation = Sponsorship.Validation;
262
+ /** Facts passed to the sponsorship callback. */
263
+ type SponsoredEvent = Sponsorship.SponsoredEvent;
264
+ }
265
+ /**
266
+ * Resolves fee tokens from user preferences, balances, and available fee AMM liquidity.
267
+ *
268
+ * @example
269
+ * ```ts
270
+ * import { Relay } from 'viem/tempo'
271
+ * const plugin = Relay.feeToken()
272
+ * ```
273
+ * @returns A fee-token relay plugin.
274
+ */
275
+ export declare function feeToken(): Plugin;
276
+ /**
277
+ * Adds balance changes, estimated fees, and execution errors to fill capabilities.
278
+ *
279
+ * Runs after transaction middleware to simulate the final filled result.
280
+ *
281
+ * @example
282
+ * ```ts
283
+ * import { Relay } from 'viem/tempo'
284
+ * const plugin = Relay.simulate()
285
+ * ```
286
+ * @param options - Optional metadata store.
287
+ * @returns A simulation relay plugin.
288
+ */
289
+ export declare function simulate(options?: simulate.Options): Plugin;
290
+ export declare namespace simulate {
291
+ /** Simulation configuration. */
292
+ type Options = {
293
+ /** Store for cached metadata. Omit to read metadata for each request. */
294
+ store?: Store.Store | undefined;
295
+ };
296
+ }
297
+ type Client = Pick<Client_, 'request'> & {
298
+ chain: {
299
+ id: number;
300
+ };
301
+ };
302
+ export {};
303
+ //# sourceMappingURL=Relay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Relay.d.ts","sourceRoot":"","sources":["../../src/tempo/Relay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ import * as RpcResponse from 'ox/RpcResponse';
2
+ import { ChainNotConfiguredError } from '../core/Client.js';
3
+ import * as Sponsorship from './internal/relay/feePayer.js';
4
+ import * as FeeToken from './internal/relay/feeToken.js';
5
+ import * as Multisig from './internal/relay/multisig.js';
6
+ import * as Request_ from './internal/relay/request.js';
7
+ import * as Simulate from './internal/relay/simulate.js';
8
+ import * as internal from './internal/relay.js';
9
+ export function create(options) {
10
+ if (Boolean(options.client) === Boolean(options.getClient))
11
+ throw new RpcResponse.InvalidParamsError({
12
+ message: 'Expected exactly one of client or getClient.',
13
+ });
14
+ const clientChainId = options.client?.chain?.id;
15
+ if (options.client &&
16
+ (!Number.isSafeInteger(clientChainId) ||
17
+ !clientChainId ||
18
+ clientChainId <= 0))
19
+ throw new RpcResponse.InvalidParamsError({
20
+ message: 'Expected a client with a configured chain.',
21
+ });
22
+ const getClient = (chainId) => {
23
+ try {
24
+ const client = options.client ?? options.getClient({ chainId });
25
+ if (client.chain.id !== chainId)
26
+ throw new RpcResponse.InvalidParamsError({
27
+ message: 'Conflicting chain ids.',
28
+ });
29
+ return client;
30
+ }
31
+ catch (error) {
32
+ if (error instanceof ChainNotConfiguredError)
33
+ throw new RpcResponse.InvalidParamsError({
34
+ message: error.shortMessage,
35
+ });
36
+ throw error;
37
+ }
38
+ };
39
+ const handle = Request_.compose(async (request, requestOptions) => {
40
+ const { chainId, response: _, ...rest } = requestOptions ?? {};
41
+ if (chainId === undefined)
42
+ throw new RpcResponse.InvalidParamsError({
43
+ message: 'A chain ID is required to resolve the downstream client.',
44
+ });
45
+ return getClient(chainId).request(request, rest);
46
+ }, options, getClient);
47
+ const request = (request, requestOptions) => {
48
+ const chainId = requestOptions?.chainId ?? clientChainId;
49
+ if (chainId !== undefined &&
50
+ (!Number.isSafeInteger(chainId) || chainId <= 0))
51
+ return Promise.reject(new RpcResponse.InvalidParamsError({
52
+ message: 'Expected a valid chain ID.',
53
+ }));
54
+ if (clientChainId !== undefined && chainId !== clientChainId)
55
+ return Promise.reject(new RpcResponse.InvalidParamsError({
56
+ message: 'Conflicting chain ids.',
57
+ }));
58
+ return handle(request, { ...requestOptions, chainId });
59
+ };
60
+ return {
61
+ request,
62
+ fetch: (request_, options = {}) => internal.fetch(request_, request, options),
63
+ };
64
+ }
65
+ /**
66
+ * Creates an RPC request handler by composing relay plugins around a downstream handler.
67
+ *
68
+ * Requests enter plugins in array order, and responses return in reverse order.
69
+ * Post-fill hooks run concurrently after middleware finishes. Middleware sees
70
+ * the downstream result before post-fill enrichment and signing.
71
+ * Without plugins, the downstream handler is returned unchanged. Plugins decide
72
+ * whether to forward, transform, or handle a request. Errors propagate unchanged
73
+ * unless a plugin handles them.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * import { http } from 'viem'
78
+ * import { Relay } from 'viem/tempo'
79
+ *
80
+ * const rpc = http('https://rpc.tempo.xyz').setup()
81
+ * const handle = Relay.handleRequest(rpc.request, {
82
+ * plugins: [
83
+ * {
84
+ * async handleRequest(context, next) {
85
+ * context.options.retryCount = 0
86
+ * await next()
87
+ * },
88
+ * },
89
+ * ],
90
+ * })
91
+ * const chainId = await handle({ method: 'eth_chainId' })
92
+ * // @log: '0x1079'
93
+ * ```
94
+ *
95
+ * @param next - Downstream RPC request handler, typically forwarding to the Tempo (Execution) RPC.
96
+ * @param options - Relay options.
97
+ * @returns The composed RPC request handler.
98
+ */
99
+ export function handleRequest(next, options = {}) {
100
+ return Request_.compose(next, options);
101
+ }
102
+ /**
103
+ * Coordinates native multisig approvals using shared atomic storage.
104
+ *
105
+ * Memory storage is process-local. Independent clients and multiple server
106
+ * instances must use the same persistent store to share pending approvals.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * import { http } from 'viem'
111
+ * import { Relay, Store, withRelay } from 'viem/tempo'
112
+ *
113
+ * const transport = withRelay(http(), {
114
+ * plugins: [Relay.multisig({ store: Store.memory() })],
115
+ * })
116
+ * ```
117
+ *
118
+ * @param options - Shared atomic storage.
119
+ * @returns A plugin that coordinates multisig requests and forwards other calls.
120
+ */
121
+ export function multisig(options) {
122
+ return Multisig.create(options);
123
+ }
124
+ /**
125
+ * Sponsors transactions with a local account or an external fee-payer relay.
126
+ *
127
+ * Place multisig before this plugin and fee-token selection after it.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * import { Account } from 'viem'
132
+ * import { Relay } from 'viem/tempo'
133
+ * const plugin = Relay.feePayer({ account: Account.fromPrivateKey('0x...') })
134
+ * ```
135
+ * @param options - Sponsor account, policy, and display metadata.
136
+ * @returns A fee-payer relay plugin.
137
+ */
138
+ export function feePayer(options = {}) {
139
+ return Sponsorship.create(options);
140
+ }
141
+ /**
142
+ * Resolves fee tokens from user preferences, balances, and available fee AMM liquidity.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * import { Relay } from 'viem/tempo'
147
+ * const plugin = Relay.feeToken()
148
+ * ```
149
+ * @returns A fee-token relay plugin.
150
+ */
151
+ export function feeToken() {
152
+ return FeeToken.create();
153
+ }
154
+ /**
155
+ * Adds balance changes, estimated fees, and execution errors to fill capabilities.
156
+ *
157
+ * Runs after transaction middleware to simulate the final filled result.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * import { Relay } from 'viem/tempo'
162
+ * const plugin = Relay.simulate()
163
+ * ```
164
+ * @param options - Optional metadata store.
165
+ * @returns A simulation relay plugin.
166
+ */
167
+ export function simulate(options = {}) {
168
+ return Simulate.create(options);
169
+ }
170
+ //# sourceMappingURL=Relay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Relay.js","sourceRoot":"","sources":["../../src/tempo/Relay.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,7 @@ export declare const tip20Factory: {
148
148
  };
149
149
  /** Function selectors of the TIP-20 token interface. */
150
150
  export declare const tip20: {
151
+ readonly BURN_AT_ROLE: '0xc6990381';
151
152
  readonly BURN_BLOCKED_ROLE: '0x32ad9be8';
152
153
  readonly DOMAIN_SEPARATOR: '0x3644e515';
153
154
  readonly ISSUER_ROLE: '0x82aefa24';
@@ -157,6 +158,7 @@ export declare const tip20: {
157
158
  readonly approve: '0x095ea7b3';
158
159
  readonly balanceOf: '0x70a08231';
159
160
  readonly burn: '0x42966c68';
161
+ readonly burnAt: '0x9803f216';
160
162
  readonly burnBlocked: '0xec0cf3dc';
161
163
  readonly burnWithMemo: '0x38f23b0b';
162
164
  readonly changeTransferPolicyId: '0xfd5e9420';
@@ -271,10 +273,7 @@ export declare const zoneFactory: {
271
273
  readonly zones: '0x90b7f6fd';
272
274
  };
273
275
  export declare const zoneVerifier: {
274
- readonly verify: {
275
- readonly 'verify(uint32,uint64,uint64,bytes32,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),bytes32,bytes,bytes)': '0x7106a43e';
276
- readonly 'verify(uint32,uint64,uint64,bytes32,uint64,uint256,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),(uint64,uint64),bytes32,bytes,bytes)': '0xebb2ddc9';
277
- };
276
+ readonly verify: '0xebb2ddc9';
278
277
  };
279
278
  export declare const zonePortal: {
280
279
  readonly FIXED_DEPOSIT_GAS: '0xf706cfbf';
@@ -282,6 +281,8 @@ export declare const zonePortal: {
282
281
  readonly MAX_GAS_FEE_RATE: '0xf490ca96';
283
282
  readonly MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK: '0x3fcf7df4';
284
283
  readonly MAX_TOKEN_METADATA_BYTES: '0x996329a2';
284
+ readonly MAX_UNPROCESSED_DEPOSITS: '0x5e53dcd3';
285
+ readonly MAX_UNPROCESSED_TOKEN_ENABLEMENTS: '0x3b667e74';
285
286
  readonly MAX_WITHDRAWAL_GAS_LIMIT: '0x86f47e55';
286
287
  readonly abdicate: '0xbf4c5411';
287
288
  readonly abdicationEffectiveAt: '0x04a3b098';
@@ -315,6 +316,7 @@ export declare const zonePortal: {
315
316
  readonly isSequencer: '0x6d46e987';
316
317
  readonly isTokenEnabled: '0x748538d9';
317
318
  readonly lastProcessedDepositNumber: '0xe84abe69';
319
+ readonly lastProcessedEnabledTokenCount: '0xccd537ca';
318
320
  readonly lastSyncedTempoBlockNumber: '0xbe2a63ee';
319
321
  readonly leader: '0x40eedabb';
320
322
  readonly leaderActivationTempoBlock: '0xb83c755f';
@@ -348,8 +350,12 @@ export declare const zonePortal: {
348
350
  readonly setSequencerEncryptionKey: '0xef10b187';
349
351
  readonly setSequencerSet: '0x86012b45';
350
352
  readonly setZoneGasRate: '0x0e86bbdc';
351
- readonly submitBatch: '0x78fb159b';
353
+ readonly submitBatch: {
354
+ readonly 'submitBatch(uint64,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),(uint64,uint64),bytes32,bytes,bytes,uint256,bytes[])': '0x4cd6c7c7';
355
+ readonly 'submitBatch(uint64,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),bytes32,bytes,bytes,uint256,bytes[])': '0x78fb159b';
356
+ };
352
357
  readonly tokenConfig: '0xfe136c4e';
358
+ readonly tokenEnablementCursorInitialized: '0x370ddf99';
353
359
  readonly tokenEnablementHash: '0xb456c0dd';
354
360
  readonly transferAdmin: '0x75829def';
355
361
  readonly verifier: '0x2b7ac3f3';
@@ -361,6 +367,11 @@ export declare const zonePortal: {
361
367
  readonly zoneHeight: '0x430f8b4f';
362
368
  readonly zoneId: '0xd179978a';
363
369
  };
370
+ export declare const zonePortalPreT13Retired: {
371
+ readonly MAX_DEPOSITS_PER_TEMPO_BLOCK: '0x1bf00ca8';
372
+ readonly MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK: '0x3fcf7df4';
373
+ readonly submitBatch: '0x78fb159b';
374
+ };
364
375
  export declare const zoneOutbox: {
365
376
  readonly AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH: '0x43c3cb83';
366
377
  readonly MAX_CALLBACK_DATA_SIZE: '0x53a8d739';
@@ -1 +1 @@
1
- {"version":3,"file":"Selectors.d.ts","sourceRoot":"","sources":["../../src/tempo/Selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Selectors.d.ts","sourceRoot":"","sources":["../../src/tempo/Selectors.ts"],"names":[],"mappings":"AAcA,6DAA6D;AAC7D,eAAO,MAAM,eAAe;gCACP,YAAY;;iBAE7B,4GAA4G,EAC1G,YAAY;iBACd,oHAAoH,EAClH,YAAY;iBACd,6DAA6D,EAAE,YAAY;;0CAEhD,YAAY;8BACxB,YAAY;qBACrB,YAAY;gCACD,YAAY;0CACF,YAAY;gCACtB,YAAY;yBACnB,YAAY;8CACS,YAAY;iCACzB,YAAY;wBACrB,YAAY;8BACN,YAAY;kCACR,YAAY;CAKU,CAAA;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,eAAe;mCACJ,YAAY;wBACvB,YAAY;mCACD,YAAY;+BAChB,YAAY;oCACP,YAAY;+BACjB,YAAY;oCACP,YAAY;CAC8B,CAAA;AAEnE,eAAO,MAAM,cAAc;4BACV,YAAY;kCACN,YAAY;2BACnB,YAAY;CACsC,CAAA;AAElE,eAAO,MAAM,gBAAgB;kCACN,YAAY;kCACZ,YAAY;CACiC,CAAA;AAEpE,0DAA0D;AAC1D,eAAO,MAAM,KAAK;uBACN,YAAY;CACiC,CAAA;AAEzD,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;wBAClB,YAAY;iCACH,YAAY;oBACzB,YAAY;CACiD,CAAA;AAEtE,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB;sBACnB,YAAY;qBACb,YAAY;6BACJ,YAAY;kCACP,YAAY;CACkC,CAAA;AAErE,2DAA2D;AAC3D,eAAO,MAAM,aAAa;wBACb,YAAY;uBACb,YAAY;+BACJ,YAAY;wBACnB,YAAY;uBACb,YAAY;0BACT,YAAY;2BACX,YAAY;wBACf,YAAY;8BACN,YAAY;8BACZ,YAAY;oBACtB,YAAY;qBACX,YAAY;+BACF,YAAY;yBAClB,YAAY;uBACd,YAAY;2BACR,YAAY;0BACb,YAAY;sBAChB,YAAY;oBACd,YAAY;wBACR,YAAY;0BACV,YAAY;qCACD,YAAY;sCACX,YAAY;2BACvB,YAAY;6BACV,YAAY;gCACT,YAAY;iCACX,YAAY;0BACnB,YAAY;uBACf,YAAY;CACyC,CAAA;AAEjE,4DAA4D;AAC5D,eAAO,MAAM,cAAc;wBACd,YAAY;uBACb,YAAY;qBACd,YAAY;wBACT,YAAY;sBACd,YAAY;CAC2C,CAAA;AAElE,wDAAwD;AACxD,eAAO,MAAM,UAAU;4BACN,YAAY;6BACX,YAAY;2BACd,YAAY;gCACP,YAAY;yBACnB,YAAY;8BACP,YAAY;CAC+B,CAAA;AAE9D,oDAAoD;AACpD,eAAO,MAAM,MAAM;gBACd,YAAY;4BACA,YAAY;gBACxB,YAAY;oBACR,YAAY;mBACb,YAAY;sBACT,YAAY;wBACV,YAAY;gCACJ,YAAY;mBACzB,YAAY;oBACX,YAAY;4BACJ,YAAY;0BACd,YAAY;CAC+B,CAAA;AAE1D,mEAAmE;AACnE,eAAO,MAAM,mBAAmB;iCACV,YAAY;+BACd,YAAY;oBACvB,YAAY;+BACD,YAAY;8BACb,YAAY;yBACjB,YAAY;8BACP,YAAY;oCACN,YAAY;+BACjB,YAAY;mBACxB,YAAY;2BACJ,YAAY;qBAClB,YAAY;6BACJ,YAAY;oBACrB,YAAY;uBACT,YAAY;CAC+C,CAAA;AAEvE,iEAAiE;AACjE,eAAO,MAAM,YAAY;;iBAErB,2DAA2D,EAAE,YAAY;iBACzE,kEAAkE,EAChE,YAAY;;8BAEC,YAAY;sBACpB,YAAY;CAKqB,CAAA;AAE5C,wDAAwD;AACxD,eAAO,MAAM,KAAK;2BACF,YAAY;gCACP,YAAY;+BACb,YAAY;0BACjB,YAAY;yBACb,YAAY;2BACV,YAAY;wBACf,YAAY;sBACd,YAAY;wBACV,YAAY;mBACjB,YAAY;qBACV,YAAY;0BACP,YAAY;2BACX,YAAY;qCACF,YAAY;2BACtB,YAAY;uCACA,YAAY;uBAC5B,YAAY;uBACZ,YAAY;+BACJ,YAAY;gCACX,YAAY;2BACjB,YAAY;mCACJ,YAAY;wBACvB,YAAY;sBACd,YAAY;sBACZ,YAAY;mBACf,YAAY;2BACJ,YAAY;mBACpB,YAAY;6BACF,YAAY;qBACpB,YAAY;4BACL,YAAY;oBACpB,YAAY;qBACX,YAAY;qBACZ,YAAY;yBACR,YAAY;2BACV,YAAY;yBACd,YAAY;yBACZ,YAAY;gCACL,YAAY;iCACX,YAAY;2BAClB,YAAY;2BACZ,YAAY;wBACf,YAAY;qBACf,YAAY;0BACP,YAAY;uBACf,YAAY;2BACR,YAAY;mCACJ,YAAY;+BAChB,YAAY;+BACZ,YAAY;sBACrB,YAAY;6BACL,YAAY;CAC2B,CAAA;AAEzD,6DAA6D;AAC7D,eAAO,MAAM,cAAc;iCACL,YAAY;mCACV,YAAY;2BACpB,YAAY;uCACA,YAAY;2BACxB,YAAY;wCACC,YAAY;oCAChB,YAAY;iCACf,YAAY;uCACN,YAAY;oCACf,YAAY;oCACZ,YAAY;yBACvB,YAAY;2BACV,YAAY;8BACT,YAAY;4BACd,YAAY;6BACX,YAAY;+BACV,YAAY;oCACP,YAAY;oCACZ,YAAY;CAC6B,CAAA;AAElE,gEAAgE;AAChE,eAAO,MAAM,iBAAiB;2BACd,YAAY;kCACL,YAAY;kCACZ,YAAY;qCACT,YAAY;kDACC,YAAY;mCAC3B,YAAY;4BACnB,YAAY;+BACT,YAAY;oBACvB,YAAY;8BACF,YAAY;8BACZ,YAAY;6BACb,YAAY;8CACK,YAAY;gCAC1B,YAAY;yCACH,YAAY;iCACpB,YAAY;+BACd,YAAY;mCACR,YAAY;6BAClB,YAAY;CACuC,CAAA;AAErE,6DAA6D;AAC7D,eAAO,MAAM,eAAe;2BACZ,YAAY;0BACb,YAAY;oCACF,YAAY;2CACL,YAAY;qCAClB,YAAY;4BACrB,YAAY;oBACpB,YAAY;qCACK,YAAY;8BACnB,YAAY;6BACb,YAAY;yBAChB,YAAY;8BACP,YAAY;CACoC,CAAA;AAEnE,eAAO,MAAM,WAAW;;iBAEpB,+EAA+E,EAC7E,YAAY;iBACd,oFAAoF,EAClF,YAAY;;2BAEF,YAAY;yBACd,YAAY;oBACjB,YAAY;gCACA,YAAY;uBACrB,YAAY;oBACf,YAAY;CAEsB,CAAA;AAE3C,eAAO,MAAM,YAAY;qBACf,YAAY;CAC0C,CAAA;AAEhE,eAAO,MAAM,UAAU;gCACF,YAAY;2CACD,YAAY;+BACxB,YAAY;iDACM,YAAY;uCACtB,YAAY;uCACZ,YAAY;gDACH,YAAY;uCACrB,YAAY;uBAC5B,YAAY;oCACC,YAAY;0BACtB,YAAY;oBAClB,YAAY;gCACA,YAAY;wBACpB,YAAY;4BACR,YAAY;qCACH,YAAY;kCACf,YAAY;0BACpB,YAAY;sCACA,YAAY;gCAClB,YAAY;;iBAE7B,kDAAkD,EAAE,YAAY;iBAChE,gFAAgF,EAC9E,YAAY;;2BAEF,YAAY;+BACR,YAAY;0BACjB,YAAY;6BACT,YAAY;gCACT,YAAY;8BACd,YAAY;mCACP,YAAY;iCACd,YAAY;sBACvB,YAAY;yBACT,YAAY;+BACN,YAAY;mCACR,YAAY;4BACnB,YAAY;0BACd,YAAY;6BACT,YAAY;yCACA,YAAY;6CACR,YAAY;yCAChB,YAAY;qBAChC,YAAY;yCACQ,YAAY;0BAC3B,YAAY;8BACR,YAAY;wBAClB,YAAY;oBAChB,YAAY;4BACJ,YAAY;0BACd,YAAY;qBACjB,YAAY;2BACN,YAAY;iCACN,YAAY;sBACvB,YAAY;qBACb,YAAY;6BACJ,YAAY;qBACpB,YAAY;0BACP,YAAY;6BACT,YAAY;qCACJ,YAAY;kCACf,YAAY;iCACb,YAAY;4BACjB,YAAY;gCACR,YAAY;+BACb,YAAY;yBAClB,YAAY;6BACR,YAAY;wBACjB,YAAY;iCACH,YAAY;+BACd,YAAY;wBACnB,YAAY;wCACI,YAAY;8BACtB,YAAY;6BACb,YAAY;;iBAE1B,kIAAkI,EAChI,YAAY;iBACd,kHAAkH,EAChH,YAAY;;0BAEH,YAAY;+CACS,YAAY;kCACzB,YAAY;4BAClB,YAAY;uBACjB,YAAY;mCACA,YAAY;kCACb,YAAY;kCACZ,YAAY;kCACZ,YAAY;0BACpB,YAAY;yBACb,YAAY;qBAChB,YAAY;CAKkC,CAAA;AAExD,eAAO,MAAM,uBAAuB;2CACJ,YAAY;iDACN,YAAY;0BACnC,YAAY;CACgD,CAAA;AAE3E,eAAO,MAAM,UAAU;yDACuB,YAAY;qCAChC,YAAY;uCACV,YAAY;mCAChB,YAAY;kCACb,YAAY;qCACT,YAAY;uCACV,YAAY;uCACZ,YAAY;sCACb,YAAY;oCACd,YAAY;wBACxB,YAAY;gCACJ,YAAY;qCACP,YAAY;qCACZ,YAAY;kCACf,YAAY;sCACR,YAAY;gCAClB,YAAY;wCACJ,YAAY;8BACtB,YAAY;2BACf,YAAY;CACkC,CAAA;AAE9D,eAAO,MAAM,aAAa;2BACV,YAAY;CACqC,CAAA"}
@@ -149,6 +149,7 @@ export const tip20Factory = {
149
149
  };
150
150
  /** Function selectors of the TIP-20 token interface. */
151
151
  export const tip20 = {
152
+ BURN_AT_ROLE: '0xc6990381',
152
153
  BURN_BLOCKED_ROLE: '0x32ad9be8',
153
154
  DOMAIN_SEPARATOR: '0x3644e515',
154
155
  ISSUER_ROLE: '0x82aefa24',
@@ -158,6 +159,7 @@ export const tip20 = {
158
159
  approve: '0x095ea7b3',
159
160
  balanceOf: '0x70a08231',
160
161
  burn: '0x42966c68',
162
+ burnAt: '0x9803f216',
161
163
  burnBlocked: '0xec0cf3dc',
162
164
  burnWithMemo: '0x38f23b0b',
163
165
  changeTransferPolicyId: '0xfd5e9420',
@@ -272,10 +274,7 @@ export const zoneFactory = {
272
274
  zones: '0x90b7f6fd',
273
275
  };
274
276
  export const zoneVerifier = {
275
- verify: {
276
- 'verify(uint32,uint64,uint64,bytes32,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),bytes32,bytes,bytes)': '0x7106a43e',
277
- 'verify(uint32,uint64,uint64,bytes32,uint64,uint256,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),(uint64,uint64),bytes32,bytes,bytes)': '0xebb2ddc9',
278
- },
277
+ verify: '0xebb2ddc9',
279
278
  };
280
279
  export const zonePortal = {
281
280
  FIXED_DEPOSIT_GAS: '0xf706cfbf',
@@ -283,6 +282,8 @@ export const zonePortal = {
283
282
  MAX_GAS_FEE_RATE: '0xf490ca96',
284
283
  MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK: '0x3fcf7df4',
285
284
  MAX_TOKEN_METADATA_BYTES: '0x996329a2',
285
+ MAX_UNPROCESSED_DEPOSITS: '0x5e53dcd3',
286
+ MAX_UNPROCESSED_TOKEN_ENABLEMENTS: '0x3b667e74',
286
287
  MAX_WITHDRAWAL_GAS_LIMIT: '0x86f47e55',
287
288
  abdicate: '0xbf4c5411',
288
289
  abdicationEffectiveAt: '0x04a3b098',
@@ -316,6 +317,7 @@ export const zonePortal = {
316
317
  isSequencer: '0x6d46e987',
317
318
  isTokenEnabled: '0x748538d9',
318
319
  lastProcessedDepositNumber: '0xe84abe69',
320
+ lastProcessedEnabledTokenCount: '0xccd537ca',
319
321
  lastSyncedTempoBlockNumber: '0xbe2a63ee',
320
322
  leader: '0x40eedabb',
321
323
  leaderActivationTempoBlock: '0xb83c755f',
@@ -349,8 +351,12 @@ export const zonePortal = {
349
351
  setSequencerEncryptionKey: '0xef10b187',
350
352
  setSequencerSet: '0x86012b45',
351
353
  setZoneGasRate: '0x0e86bbdc',
352
- submitBatch: '0x78fb159b',
354
+ submitBatch: {
355
+ 'submitBatch(uint64,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),(uint64,uint64),bytes32,bytes,bytes,uint256,bytes[])': '0x4cd6c7c7',
356
+ 'submitBatch(uint64,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),bytes32,bytes,bytes,uint256,bytes[])': '0x78fb159b',
357
+ },
353
358
  tokenConfig: '0xfe136c4e',
359
+ tokenEnablementCursorInitialized: '0x370ddf99',
354
360
  tokenEnablementHash: '0xb456c0dd',
355
361
  transferAdmin: '0x75829def',
356
362
  verifier: '0x2b7ac3f3',
@@ -362,6 +368,11 @@ export const zonePortal = {
362
368
  zoneHeight: '0x430f8b4f',
363
369
  zoneId: '0xd179978a',
364
370
  };
371
+ export const zonePortalPreT13Retired = {
372
+ MAX_DEPOSITS_PER_TEMPO_BLOCK: '0x1bf00ca8',
373
+ MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK: '0x3fcf7df4',
374
+ submitBatch: '0x78fb159b',
375
+ };
365
376
  export const zoneOutbox = {
366
377
  AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH: '0x43c3cb83',
367
378
  MAX_CALLBACK_DATA_SIZE: '0x53a8d739',