viem 2.47.6 → 2.47.11

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 (210) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/_cjs/actions/wallet/prepareTransactionRequest.js +12 -0
  3. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  4. package/_cjs/actions/wallet/waitForCallsStatus.js.map +1 -1
  5. package/_cjs/chains/definitions/battlechainTestnet.js +26 -0
  6. package/_cjs/chains/definitions/battlechainTestnet.js.map +1 -0
  7. package/_cjs/chains/definitions/eden.js +32 -0
  8. package/_cjs/chains/definitions/eden.js.map +1 -0
  9. package/_cjs/chains/definitions/fluent.js +26 -0
  10. package/_cjs/chains/definitions/fluent.js.map +1 -0
  11. package/_cjs/chains/definitions/gensyn.js +29 -0
  12. package/_cjs/chains/definitions/gensyn.js.map +1 -0
  13. package/_cjs/chains/definitions/igra.js +26 -0
  14. package/_cjs/chains/definitions/igra.js.map +1 -0
  15. package/_cjs/chains/definitions/katana.js +6 -0
  16. package/_cjs/chains/definitions/katana.js.map +1 -1
  17. package/_cjs/chains/definitions/megaeth.js +25 -3
  18. package/_cjs/chains/definitions/megaeth.js.map +1 -1
  19. package/_cjs/chains/definitions/mezo.js +23 -0
  20. package/_cjs/chains/definitions/mezo.js.map +1 -0
  21. package/_cjs/chains/definitions/mezoTestnet.js +30 -0
  22. package/_cjs/chains/definitions/mezoTestnet.js.map +1 -0
  23. package/_cjs/chains/definitions/radius.js +22 -0
  24. package/_cjs/chains/definitions/radius.js.map +1 -0
  25. package/_cjs/chains/definitions/radiusTestnet.js +22 -0
  26. package/_cjs/chains/definitions/radiusTestnet.js.map +1 -0
  27. package/_cjs/chains/definitions/tempoDevnet.js +1 -0
  28. package/_cjs/chains/definitions/tempoDevnet.js.map +1 -1
  29. package/_cjs/chains/definitions/tempoLocalnet.js +1 -0
  30. package/_cjs/chains/definitions/tempoLocalnet.js.map +1 -1
  31. package/_cjs/chains/definitions/tempoModerato.js +1 -1
  32. package/_cjs/chains/definitions/tempoModerato.js.map +1 -1
  33. package/_cjs/chains/index.js +34 -17
  34. package/_cjs/chains/index.js.map +1 -1
  35. package/_cjs/errors/version.js +1 -1
  36. package/_cjs/errors/version.js.map +1 -1
  37. package/_cjs/tempo/Abis.js +701 -4
  38. package/_cjs/tempo/Abis.js.map +1 -1
  39. package/_cjs/tempo/Account.js +7 -5
  40. package/_cjs/tempo/Account.js.map +1 -1
  41. package/_cjs/tempo/Hardfork.js +18 -0
  42. package/_cjs/tempo/Hardfork.js.map +1 -0
  43. package/_cjs/tempo/Transaction.js +1 -0
  44. package/_cjs/tempo/Transaction.js.map +1 -1
  45. package/_cjs/tempo/actions/accessKey.js +28 -3
  46. package/_cjs/tempo/actions/accessKey.js.map +1 -1
  47. package/_cjs/tempo/actions/token.js +2 -1
  48. package/_cjs/tempo/actions/token.js.map +1 -1
  49. package/_cjs/tempo/actions/validator.js +11 -11
  50. package/_cjs/tempo/actions/validator.js.map +1 -1
  51. package/_cjs/tempo/chainConfig.js +44 -8
  52. package/_cjs/tempo/chainConfig.js.map +1 -1
  53. package/_cjs/tempo/index.js +3 -1
  54. package/_cjs/tempo/index.js.map +1 -1
  55. package/_cjs/utils/buildRequest.js +2 -0
  56. package/_cjs/utils/buildRequest.js.map +1 -1
  57. package/_esm/actions/wallet/prepareTransactionRequest.js +12 -0
  58. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  59. package/_esm/actions/wallet/waitForCallsStatus.js.map +1 -1
  60. package/_esm/chains/definitions/battlechainTestnet.js +23 -0
  61. package/_esm/chains/definitions/battlechainTestnet.js.map +1 -0
  62. package/_esm/chains/definitions/eden.js +29 -0
  63. package/_esm/chains/definitions/eden.js.map +1 -0
  64. package/_esm/chains/definitions/fluent.js +23 -0
  65. package/_esm/chains/definitions/fluent.js.map +1 -0
  66. package/_esm/chains/definitions/gensyn.js +26 -0
  67. package/_esm/chains/definitions/gensyn.js.map +1 -0
  68. package/_esm/chains/definitions/igra.js +23 -0
  69. package/_esm/chains/definitions/igra.js.map +1 -0
  70. package/_esm/chains/definitions/katana.js +6 -0
  71. package/_esm/chains/definitions/katana.js.map +1 -1
  72. package/_esm/chains/definitions/megaeth.js +25 -3
  73. package/_esm/chains/definitions/megaeth.js.map +1 -1
  74. package/_esm/chains/definitions/mezo.js +20 -0
  75. package/_esm/chains/definitions/mezo.js.map +1 -0
  76. package/_esm/chains/definitions/mezoTestnet.js +27 -0
  77. package/_esm/chains/definitions/mezoTestnet.js.map +1 -0
  78. package/_esm/chains/definitions/radius.js +19 -0
  79. package/_esm/chains/definitions/radius.js.map +1 -0
  80. package/_esm/chains/definitions/radiusTestnet.js +19 -0
  81. package/_esm/chains/definitions/radiusTestnet.js.map +1 -0
  82. package/_esm/chains/definitions/tempoDevnet.js +1 -0
  83. package/_esm/chains/definitions/tempoDevnet.js.map +1 -1
  84. package/_esm/chains/definitions/tempoLocalnet.js +1 -0
  85. package/_esm/chains/definitions/tempoLocalnet.js.map +1 -1
  86. package/_esm/chains/definitions/tempoModerato.js +1 -1
  87. package/_esm/chains/definitions/tempoModerato.js.map +1 -1
  88. package/_esm/chains/index.js +11 -7
  89. package/_esm/chains/index.js.map +1 -1
  90. package/_esm/errors/version.js +1 -1
  91. package/_esm/errors/version.js.map +1 -1
  92. package/_esm/tempo/Abis.js +700 -3
  93. package/_esm/tempo/Abis.js.map +1 -1
  94. package/_esm/tempo/Account.js +7 -7
  95. package/_esm/tempo/Account.js.map +1 -1
  96. package/_esm/tempo/Hardfork.js +15 -0
  97. package/_esm/tempo/Hardfork.js.map +1 -0
  98. package/_esm/tempo/Transaction.js +1 -0
  99. package/_esm/tempo/Transaction.js.map +1 -1
  100. package/_esm/tempo/actions/accessKey.js +36 -4
  101. package/_esm/tempo/actions/accessKey.js.map +1 -1
  102. package/_esm/tempo/actions/token.js +2 -1
  103. package/_esm/tempo/actions/token.js.map +1 -1
  104. package/_esm/tempo/actions/validator.js +11 -11
  105. package/_esm/tempo/actions/validator.js.map +1 -1
  106. package/_esm/tempo/chainConfig.js +52 -11
  107. package/_esm/tempo/chainConfig.js.map +1 -1
  108. package/_esm/tempo/index.js +2 -1
  109. package/_esm/tempo/index.js.map +1 -1
  110. package/_esm/utils/buildRequest.js +5 -0
  111. package/_esm/utils/buildRequest.js.map +1 -1
  112. package/_types/actions/public/verifyHash.d.ts +1 -1
  113. package/_types/actions/public/verifyHash.d.ts.map +1 -1
  114. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  115. package/_types/chains/definitions/battlechainTestnet.d.ts +441 -0
  116. package/_types/chains/definitions/battlechainTestnet.d.ts.map +1 -0
  117. package/_types/chains/definitions/eden.d.ts +46 -0
  118. package/_types/chains/definitions/eden.d.ts.map +1 -0
  119. package/_types/chains/definitions/fluent.d.ts +48 -0
  120. package/_types/chains/definitions/fluent.d.ts.map +1 -0
  121. package/_types/chains/definitions/gensyn.d.ts +45 -0
  122. package/_types/chains/definitions/gensyn.d.ts.map +1 -0
  123. package/_types/chains/definitions/igra.d.ts +48 -0
  124. package/_types/chains/definitions/igra.d.ts.map +1 -0
  125. package/_types/chains/definitions/katana.d.ts +6 -9
  126. package/_types/chains/definitions/katana.d.ts.map +1 -1
  127. package/_types/chains/definitions/megaeth.d.ts +274 -6
  128. package/_types/chains/definitions/megaeth.d.ts.map +1 -1
  129. package/_types/chains/definitions/mezo.d.ts +48 -0
  130. package/_types/chains/definitions/mezo.d.ts.map +1 -0
  131. package/_types/chains/definitions/mezoTestnet.d.ts +45 -0
  132. package/_types/chains/definitions/mezoTestnet.d.ts.map +1 -0
  133. package/_types/chains/definitions/radius.d.ts +48 -0
  134. package/_types/chains/definitions/radius.d.ts.map +1 -0
  135. package/_types/chains/definitions/radiusTestnet.d.ts +48 -0
  136. package/_types/chains/definitions/radiusTestnet.d.ts.map +1 -0
  137. package/_types/chains/definitions/tempo.d.ts +25 -22
  138. package/_types/chains/definitions/tempo.d.ts.map +1 -1
  139. package/_types/chains/definitions/tempoDevnet.d.ts +27 -22
  140. package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
  141. package/_types/chains/definitions/tempoLocalnet.d.ts +27 -22
  142. package/_types/chains/definitions/tempoLocalnet.d.ts.map +1 -1
  143. package/_types/chains/definitions/tempoModerato.d.ts +27 -24
  144. package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
  145. package/_types/chains/index.d.ts +11 -7
  146. package/_types/chains/index.d.ts.map +1 -1
  147. package/_types/errors/version.d.ts +1 -1
  148. package/_types/errors/version.d.ts.map +1 -1
  149. package/_types/tempo/Abis.d.ts +1262 -150
  150. package/_types/tempo/Abis.d.ts.map +1 -1
  151. package/_types/tempo/Account.d.ts +2 -2
  152. package/_types/tempo/Account.d.ts.map +1 -1
  153. package/_types/tempo/Decorator.d.ts +2 -2
  154. package/_types/tempo/Hardfork.d.ts +5 -0
  155. package/_types/tempo/Hardfork.d.ts.map +1 -0
  156. package/_types/tempo/Transaction.d.ts.map +1 -1
  157. package/_types/tempo/actions/accessKey.d.ts +645 -3
  158. package/_types/tempo/actions/accessKey.d.ts.map +1 -1
  159. package/_types/tempo/actions/policy.d.ts +444 -4
  160. package/_types/tempo/actions/policy.d.ts.map +1 -1
  161. package/_types/tempo/actions/reward.d.ts +108 -0
  162. package/_types/tempo/actions/reward.d.ts.map +1 -1
  163. package/_types/tempo/actions/token.d.ts +828 -18
  164. package/_types/tempo/actions/token.d.ts.map +1 -1
  165. package/_types/tempo/actions/validator.d.ts +6 -6
  166. package/_types/tempo/actions/validator.d.ts.map +1 -1
  167. package/_types/tempo/chainConfig.d.ts +13 -11
  168. package/_types/tempo/chainConfig.d.ts.map +1 -1
  169. package/_types/tempo/index.d.ts +2 -1
  170. package/_types/tempo/index.d.ts.map +1 -1
  171. package/_types/utils/buildRequest.d.ts.map +1 -1
  172. package/actions/public/verifyHash.ts +1 -1
  173. package/actions/wallet/prepareTransactionRequest.ts +12 -0
  174. package/actions/wallet/waitForCallsStatus.ts +1 -1
  175. package/chains/definitions/battlechainTestnet.ts +24 -0
  176. package/chains/definitions/eden.ts +29 -0
  177. package/chains/definitions/fluent.ts +23 -0
  178. package/chains/definitions/gensyn.ts +26 -0
  179. package/chains/definitions/igra.ts +23 -0
  180. package/chains/definitions/katana.ts +6 -0
  181. package/chains/definitions/megaeth.ts +26 -3
  182. package/chains/definitions/mezo.ts +20 -0
  183. package/chains/definitions/mezoTestnet.ts +27 -0
  184. package/chains/definitions/radius.ts +19 -0
  185. package/chains/definitions/radiusTestnet.ts +19 -0
  186. package/chains/definitions/tempoDevnet.ts +1 -0
  187. package/chains/definitions/tempoLocalnet.ts +1 -0
  188. package/chains/definitions/tempoModerato.ts +1 -1
  189. package/chains/index.ts +14 -8
  190. package/errors/version.ts +1 -1
  191. package/package.json +2 -2
  192. package/tempo/Abis.ts +703 -3
  193. package/tempo/Account.ts +9 -8
  194. package/tempo/Decorator.ts +2 -2
  195. package/tempo/Hardfork.ts +17 -0
  196. package/tempo/Transaction.ts +2 -1
  197. package/tempo/actions/accessKey.ts +53 -11
  198. package/tempo/actions/token.ts +2 -1
  199. package/tempo/actions/validator.ts +17 -17
  200. package/tempo/chainConfig.ts +59 -15
  201. package/tempo/index.ts +2 -1
  202. package/tsconfig.json +1 -1
  203. package/utils/buildRequest.ts +4 -0
  204. package/_cjs/chains/definitions/tempoAndantino.js +0 -28
  205. package/_cjs/chains/definitions/tempoAndantino.js.map +0 -1
  206. package/_esm/chains/definitions/tempoAndantino.js +0 -25
  207. package/_esm/chains/definitions/tempoAndantino.js.map +0 -1
  208. package/_types/chains/definitions/tempoAndantino.d.ts +0 -918
  209. package/_types/chains/definitions/tempoAndantino.d.ts.map +0 -1
  210. package/chains/definitions/tempoAndantino.ts +0 -25
@@ -1,6 +1,6 @@
1
1
  import type { Address } from 'abitype';
2
+ import type { KeyAuthorization } from 'ox/tempo';
2
3
  import type { Account } from '../../accounts/types.js';
3
- import type { ReadContractReturnType } from '../../actions/public/readContract.js';
4
4
  import { sendTransaction } from '../../actions/wallet/sendTransaction.js';
5
5
  import { sendTransactionSync } from '../../actions/wallet/sendTransactionSync.js';
6
6
  import type { WriteContractReturnType } from '../../actions/wallet/writeContract.js';
@@ -63,7 +63,10 @@ export declare namespace authorize {
63
63
  limits?: {
64
64
  token: Address;
65
65
  limit: bigint;
66
+ period?: number | undefined;
66
67
  }[] | undefined;
68
+ /** Call scopes restricting which contracts/selectors this key can call. */
69
+ scopes?: KeyAuthorization.Scope[] | undefined;
67
70
  };
68
71
  type ReturnValue = WriteContractReturnType;
69
72
  type ErrorType = BaseErrorType;
@@ -97,6 +100,61 @@ export declare namespace authorize {
97
100
  }];
98
101
  }];
99
102
  readonly outputs: readonly [];
103
+ }, {
104
+ readonly name: "authorizeKey";
105
+ readonly type: "function";
106
+ readonly stateMutability: "nonpayable";
107
+ readonly inputs: readonly [{
108
+ readonly type: "address";
109
+ readonly name: "keyId";
110
+ }, {
111
+ readonly type: "uint8";
112
+ readonly name: "signatureType";
113
+ }, {
114
+ readonly type: "tuple";
115
+ readonly name: "config";
116
+ readonly components: readonly [{
117
+ readonly type: "uint64";
118
+ readonly name: "expiry";
119
+ }, {
120
+ readonly type: "bool";
121
+ readonly name: "enforceLimits";
122
+ }, {
123
+ readonly type: "tuple[]";
124
+ readonly name: "limits";
125
+ readonly components: readonly [{
126
+ readonly type: "address";
127
+ readonly name: "token";
128
+ }, {
129
+ readonly type: "uint256";
130
+ readonly name: "amount";
131
+ }, {
132
+ readonly type: "uint64";
133
+ readonly name: "period";
134
+ }];
135
+ }, {
136
+ readonly type: "bool";
137
+ readonly name: "allowAnyCalls";
138
+ }, {
139
+ readonly type: "tuple[]";
140
+ readonly name: "allowedCalls";
141
+ readonly components: readonly [{
142
+ readonly type: "address";
143
+ readonly name: "target";
144
+ }, {
145
+ readonly type: "tuple[]";
146
+ readonly name: "selectorRules";
147
+ readonly components: readonly [{
148
+ readonly type: "bytes4";
149
+ readonly name: "selector";
150
+ }, {
151
+ readonly type: "address[]";
152
+ readonly name: "recipients";
153
+ }];
154
+ }];
155
+ }];
156
+ }];
157
+ readonly outputs: readonly [];
100
158
  }, {
101
159
  readonly name: "revokeKey";
102
160
  readonly type: "function";
@@ -121,6 +179,44 @@ export declare namespace authorize {
121
179
  readonly name: "newLimit";
122
180
  }];
123
181
  readonly outputs: readonly [];
182
+ }, {
183
+ readonly name: "setAllowedCalls";
184
+ readonly type: "function";
185
+ readonly stateMutability: "nonpayable";
186
+ readonly inputs: readonly [{
187
+ readonly type: "address";
188
+ readonly name: "keyId";
189
+ }, {
190
+ readonly type: "tuple[]";
191
+ readonly name: "scopes";
192
+ readonly components: readonly [{
193
+ readonly type: "address";
194
+ readonly name: "target";
195
+ }, {
196
+ readonly type: "tuple[]";
197
+ readonly name: "selectorRules";
198
+ readonly components: readonly [{
199
+ readonly type: "bytes4";
200
+ readonly name: "selector";
201
+ }, {
202
+ readonly type: "address[]";
203
+ readonly name: "recipients";
204
+ }];
205
+ }];
206
+ }];
207
+ readonly outputs: readonly [];
208
+ }, {
209
+ readonly name: "removeAllowedCalls";
210
+ readonly type: "function";
211
+ readonly stateMutability: "nonpayable";
212
+ readonly inputs: readonly [{
213
+ readonly type: "address";
214
+ readonly name: "keyId";
215
+ }, {
216
+ readonly type: "address";
217
+ readonly name: "target";
218
+ }];
219
+ readonly outputs: readonly [];
124
220
  }, {
125
221
  readonly name: "getKey";
126
222
  readonly type: "function";
@@ -167,6 +263,60 @@ export declare namespace authorize {
167
263
  }];
168
264
  readonly outputs: readonly [{
169
265
  readonly type: "uint256";
266
+ readonly name: "remaining";
267
+ }];
268
+ }, {
269
+ readonly name: "getRemainingLimitWithPeriod";
270
+ readonly type: "function";
271
+ readonly stateMutability: "view";
272
+ readonly inputs: readonly [{
273
+ readonly type: "address";
274
+ readonly name: "account";
275
+ }, {
276
+ readonly type: "address";
277
+ readonly name: "keyId";
278
+ }, {
279
+ readonly type: "address";
280
+ readonly name: "token";
281
+ }];
282
+ readonly outputs: readonly [{
283
+ readonly type: "uint256";
284
+ readonly name: "remaining";
285
+ }, {
286
+ readonly type: "uint64";
287
+ readonly name: "periodEnd";
288
+ }];
289
+ }, {
290
+ readonly name: "getAllowedCalls";
291
+ readonly type: "function";
292
+ readonly stateMutability: "view";
293
+ readonly inputs: readonly [{
294
+ readonly type: "address";
295
+ readonly name: "account";
296
+ }, {
297
+ readonly type: "address";
298
+ readonly name: "keyId";
299
+ }];
300
+ readonly outputs: readonly [{
301
+ readonly type: "bool";
302
+ readonly name: "isScoped";
303
+ }, {
304
+ readonly type: "tuple[]";
305
+ readonly name: "scopes";
306
+ readonly components: readonly [{
307
+ readonly type: "address";
308
+ readonly name: "target";
309
+ }, {
310
+ readonly type: "tuple[]";
311
+ readonly name: "selectorRules";
312
+ readonly components: readonly [{
313
+ readonly type: "bytes4";
314
+ readonly name: "selector";
315
+ }, {
316
+ readonly type: "address[]";
317
+ readonly name: "recipients";
318
+ }];
319
+ }];
170
320
  }];
171
321
  }, {
172
322
  readonly name: "getTransactionKey";
@@ -225,6 +375,28 @@ export declare namespace authorize {
225
375
  readonly type: "uint256";
226
376
  readonly name: "newLimit";
227
377
  }];
378
+ }, {
379
+ readonly name: "AccessKeySpend";
380
+ readonly type: "event";
381
+ readonly inputs: readonly [{
382
+ readonly type: "address";
383
+ readonly name: "account";
384
+ readonly indexed: true;
385
+ }, {
386
+ readonly type: "address";
387
+ readonly name: "publicKey";
388
+ readonly indexed: true;
389
+ }, {
390
+ readonly type: "address";
391
+ readonly name: "token";
392
+ readonly indexed: true;
393
+ }, {
394
+ readonly type: "uint256";
395
+ readonly name: "amount";
396
+ }, {
397
+ readonly type: "uint256";
398
+ readonly name: "remainingLimit";
399
+ }];
228
400
  }, {
229
401
  readonly name: "UnauthorizedCaller";
230
402
  readonly type: "error";
@@ -245,6 +417,10 @@ export declare namespace authorize {
245
417
  readonly name: "SpendingLimitExceeded";
246
418
  readonly type: "error";
247
419
  readonly inputs: readonly [];
420
+ }, {
421
+ readonly name: "InvalidSpendingLimit";
422
+ readonly type: "error";
423
+ readonly inputs: readonly [];
248
424
  }, {
249
425
  readonly name: "InvalidSignatureType";
250
426
  readonly type: "error";
@@ -261,6 +437,31 @@ export declare namespace authorize {
261
437
  readonly name: "KeyAlreadyRevoked";
262
438
  readonly type: "error";
263
439
  readonly inputs: readonly [];
440
+ }, {
441
+ readonly name: "SignatureTypeMismatch";
442
+ readonly type: "error";
443
+ readonly inputs: readonly [{
444
+ readonly type: "uint8";
445
+ readonly name: "expected";
446
+ }, {
447
+ readonly type: "uint8";
448
+ readonly name: "actual";
449
+ }];
450
+ }, {
451
+ readonly name: "CallNotAllowed";
452
+ readonly type: "error";
453
+ readonly inputs: readonly [];
454
+ }, {
455
+ readonly name: "InvalidCallScope";
456
+ readonly type: "error";
457
+ readonly inputs: readonly [];
458
+ }, {
459
+ readonly name: "LegacyAuthorizeKeySelectorChanged";
460
+ readonly type: "error";
461
+ readonly inputs: readonly [{
462
+ readonly type: "bytes4";
463
+ readonly name: "newSelector";
464
+ }];
264
465
  }], "KeyAuthorized">;
265
466
  }
266
467
  /**
@@ -419,6 +620,61 @@ export declare namespace revoke {
419
620
  }];
420
621
  }];
421
622
  readonly outputs: readonly [];
623
+ }, {
624
+ readonly name: "authorizeKey";
625
+ readonly type: "function";
626
+ readonly stateMutability: "nonpayable";
627
+ readonly inputs: readonly [{
628
+ readonly type: "address";
629
+ readonly name: "keyId";
630
+ }, {
631
+ readonly type: "uint8";
632
+ readonly name: "signatureType";
633
+ }, {
634
+ readonly type: "tuple";
635
+ readonly name: "config";
636
+ readonly components: readonly [{
637
+ readonly type: "uint64";
638
+ readonly name: "expiry";
639
+ }, {
640
+ readonly type: "bool";
641
+ readonly name: "enforceLimits";
642
+ }, {
643
+ readonly type: "tuple[]";
644
+ readonly name: "limits";
645
+ readonly components: readonly [{
646
+ readonly type: "address";
647
+ readonly name: "token";
648
+ }, {
649
+ readonly type: "uint256";
650
+ readonly name: "amount";
651
+ }, {
652
+ readonly type: "uint64";
653
+ readonly name: "period";
654
+ }];
655
+ }, {
656
+ readonly type: "bool";
657
+ readonly name: "allowAnyCalls";
658
+ }, {
659
+ readonly type: "tuple[]";
660
+ readonly name: "allowedCalls";
661
+ readonly components: readonly [{
662
+ readonly type: "address";
663
+ readonly name: "target";
664
+ }, {
665
+ readonly type: "tuple[]";
666
+ readonly name: "selectorRules";
667
+ readonly components: readonly [{
668
+ readonly type: "bytes4";
669
+ readonly name: "selector";
670
+ }, {
671
+ readonly type: "address[]";
672
+ readonly name: "recipients";
673
+ }];
674
+ }];
675
+ }];
676
+ }];
677
+ readonly outputs: readonly [];
422
678
  }, {
423
679
  readonly name: "revokeKey";
424
680
  readonly type: "function";
@@ -443,6 +699,44 @@ export declare namespace revoke {
443
699
  readonly name: "newLimit";
444
700
  }];
445
701
  readonly outputs: readonly [];
702
+ }, {
703
+ readonly name: "setAllowedCalls";
704
+ readonly type: "function";
705
+ readonly stateMutability: "nonpayable";
706
+ readonly inputs: readonly [{
707
+ readonly type: "address";
708
+ readonly name: "keyId";
709
+ }, {
710
+ readonly type: "tuple[]";
711
+ readonly name: "scopes";
712
+ readonly components: readonly [{
713
+ readonly type: "address";
714
+ readonly name: "target";
715
+ }, {
716
+ readonly type: "tuple[]";
717
+ readonly name: "selectorRules";
718
+ readonly components: readonly [{
719
+ readonly type: "bytes4";
720
+ readonly name: "selector";
721
+ }, {
722
+ readonly type: "address[]";
723
+ readonly name: "recipients";
724
+ }];
725
+ }];
726
+ }];
727
+ readonly outputs: readonly [];
728
+ }, {
729
+ readonly name: "removeAllowedCalls";
730
+ readonly type: "function";
731
+ readonly stateMutability: "nonpayable";
732
+ readonly inputs: readonly [{
733
+ readonly type: "address";
734
+ readonly name: "keyId";
735
+ }, {
736
+ readonly type: "address";
737
+ readonly name: "target";
738
+ }];
739
+ readonly outputs: readonly [];
446
740
  }, {
447
741
  readonly name: "getKey";
448
742
  readonly type: "function";
@@ -489,6 +783,60 @@ export declare namespace revoke {
489
783
  }];
490
784
  readonly outputs: readonly [{
491
785
  readonly type: "uint256";
786
+ readonly name: "remaining";
787
+ }];
788
+ }, {
789
+ readonly name: "getRemainingLimitWithPeriod";
790
+ readonly type: "function";
791
+ readonly stateMutability: "view";
792
+ readonly inputs: readonly [{
793
+ readonly type: "address";
794
+ readonly name: "account";
795
+ }, {
796
+ readonly type: "address";
797
+ readonly name: "keyId";
798
+ }, {
799
+ readonly type: "address";
800
+ readonly name: "token";
801
+ }];
802
+ readonly outputs: readonly [{
803
+ readonly type: "uint256";
804
+ readonly name: "remaining";
805
+ }, {
806
+ readonly type: "uint64";
807
+ readonly name: "periodEnd";
808
+ }];
809
+ }, {
810
+ readonly name: "getAllowedCalls";
811
+ readonly type: "function";
812
+ readonly stateMutability: "view";
813
+ readonly inputs: readonly [{
814
+ readonly type: "address";
815
+ readonly name: "account";
816
+ }, {
817
+ readonly type: "address";
818
+ readonly name: "keyId";
819
+ }];
820
+ readonly outputs: readonly [{
821
+ readonly type: "bool";
822
+ readonly name: "isScoped";
823
+ }, {
824
+ readonly type: "tuple[]";
825
+ readonly name: "scopes";
826
+ readonly components: readonly [{
827
+ readonly type: "address";
828
+ readonly name: "target";
829
+ }, {
830
+ readonly type: "tuple[]";
831
+ readonly name: "selectorRules";
832
+ readonly components: readonly [{
833
+ readonly type: "bytes4";
834
+ readonly name: "selector";
835
+ }, {
836
+ readonly type: "address[]";
837
+ readonly name: "recipients";
838
+ }];
839
+ }];
492
840
  }];
493
841
  }, {
494
842
  readonly name: "getTransactionKey";
@@ -547,6 +895,28 @@ export declare namespace revoke {
547
895
  readonly type: "uint256";
548
896
  readonly name: "newLimit";
549
897
  }];
898
+ }, {
899
+ readonly name: "AccessKeySpend";
900
+ readonly type: "event";
901
+ readonly inputs: readonly [{
902
+ readonly type: "address";
903
+ readonly name: "account";
904
+ readonly indexed: true;
905
+ }, {
906
+ readonly type: "address";
907
+ readonly name: "publicKey";
908
+ readonly indexed: true;
909
+ }, {
910
+ readonly type: "address";
911
+ readonly name: "token";
912
+ readonly indexed: true;
913
+ }, {
914
+ readonly type: "uint256";
915
+ readonly name: "amount";
916
+ }, {
917
+ readonly type: "uint256";
918
+ readonly name: "remainingLimit";
919
+ }];
550
920
  }, {
551
921
  readonly name: "UnauthorizedCaller";
552
922
  readonly type: "error";
@@ -567,6 +937,10 @@ export declare namespace revoke {
567
937
  readonly name: "SpendingLimitExceeded";
568
938
  readonly type: "error";
569
939
  readonly inputs: readonly [];
940
+ }, {
941
+ readonly name: "InvalidSpendingLimit";
942
+ readonly type: "error";
943
+ readonly inputs: readonly [];
570
944
  }, {
571
945
  readonly name: "InvalidSignatureType";
572
946
  readonly type: "error";
@@ -583,6 +957,31 @@ export declare namespace revoke {
583
957
  readonly name: "KeyAlreadyRevoked";
584
958
  readonly type: "error";
585
959
  readonly inputs: readonly [];
960
+ }, {
961
+ readonly name: "SignatureTypeMismatch";
962
+ readonly type: "error";
963
+ readonly inputs: readonly [{
964
+ readonly type: "uint8";
965
+ readonly name: "expected";
966
+ }, {
967
+ readonly type: "uint8";
968
+ readonly name: "actual";
969
+ }];
970
+ }, {
971
+ readonly name: "CallNotAllowed";
972
+ readonly type: "error";
973
+ readonly inputs: readonly [];
974
+ }, {
975
+ readonly name: "InvalidCallScope";
976
+ readonly type: "error";
977
+ readonly inputs: readonly [];
978
+ }, {
979
+ readonly name: "LegacyAuthorizeKeySelectorChanged";
980
+ readonly type: "error";
981
+ readonly inputs: readonly [{
982
+ readonly type: "bytes4";
983
+ readonly name: "newSelector";
984
+ }];
586
985
  }], "KeyRevoked">;
587
986
  }
588
987
  /**
@@ -751,6 +1150,61 @@ export declare namespace updateLimit {
751
1150
  }];
752
1151
  }];
753
1152
  readonly outputs: readonly [];
1153
+ }, {
1154
+ readonly name: "authorizeKey";
1155
+ readonly type: "function";
1156
+ readonly stateMutability: "nonpayable";
1157
+ readonly inputs: readonly [{
1158
+ readonly type: "address";
1159
+ readonly name: "keyId";
1160
+ }, {
1161
+ readonly type: "uint8";
1162
+ readonly name: "signatureType";
1163
+ }, {
1164
+ readonly type: "tuple";
1165
+ readonly name: "config";
1166
+ readonly components: readonly [{
1167
+ readonly type: "uint64";
1168
+ readonly name: "expiry";
1169
+ }, {
1170
+ readonly type: "bool";
1171
+ readonly name: "enforceLimits";
1172
+ }, {
1173
+ readonly type: "tuple[]";
1174
+ readonly name: "limits";
1175
+ readonly components: readonly [{
1176
+ readonly type: "address";
1177
+ readonly name: "token";
1178
+ }, {
1179
+ readonly type: "uint256";
1180
+ readonly name: "amount";
1181
+ }, {
1182
+ readonly type: "uint64";
1183
+ readonly name: "period";
1184
+ }];
1185
+ }, {
1186
+ readonly type: "bool";
1187
+ readonly name: "allowAnyCalls";
1188
+ }, {
1189
+ readonly type: "tuple[]";
1190
+ readonly name: "allowedCalls";
1191
+ readonly components: readonly [{
1192
+ readonly type: "address";
1193
+ readonly name: "target";
1194
+ }, {
1195
+ readonly type: "tuple[]";
1196
+ readonly name: "selectorRules";
1197
+ readonly components: readonly [{
1198
+ readonly type: "bytes4";
1199
+ readonly name: "selector";
1200
+ }, {
1201
+ readonly type: "address[]";
1202
+ readonly name: "recipients";
1203
+ }];
1204
+ }];
1205
+ }];
1206
+ }];
1207
+ readonly outputs: readonly [];
754
1208
  }, {
755
1209
  readonly name: "revokeKey";
756
1210
  readonly type: "function";
@@ -775,6 +1229,44 @@ export declare namespace updateLimit {
775
1229
  readonly name: "newLimit";
776
1230
  }];
777
1231
  readonly outputs: readonly [];
1232
+ }, {
1233
+ readonly name: "setAllowedCalls";
1234
+ readonly type: "function";
1235
+ readonly stateMutability: "nonpayable";
1236
+ readonly inputs: readonly [{
1237
+ readonly type: "address";
1238
+ readonly name: "keyId";
1239
+ }, {
1240
+ readonly type: "tuple[]";
1241
+ readonly name: "scopes";
1242
+ readonly components: readonly [{
1243
+ readonly type: "address";
1244
+ readonly name: "target";
1245
+ }, {
1246
+ readonly type: "tuple[]";
1247
+ readonly name: "selectorRules";
1248
+ readonly components: readonly [{
1249
+ readonly type: "bytes4";
1250
+ readonly name: "selector";
1251
+ }, {
1252
+ readonly type: "address[]";
1253
+ readonly name: "recipients";
1254
+ }];
1255
+ }];
1256
+ }];
1257
+ readonly outputs: readonly [];
1258
+ }, {
1259
+ readonly name: "removeAllowedCalls";
1260
+ readonly type: "function";
1261
+ readonly stateMutability: "nonpayable";
1262
+ readonly inputs: readonly [{
1263
+ readonly type: "address";
1264
+ readonly name: "keyId";
1265
+ }, {
1266
+ readonly type: "address";
1267
+ readonly name: "target";
1268
+ }];
1269
+ readonly outputs: readonly [];
778
1270
  }, {
779
1271
  readonly name: "getKey";
780
1272
  readonly type: "function";
@@ -821,6 +1313,60 @@ export declare namespace updateLimit {
821
1313
  }];
822
1314
  readonly outputs: readonly [{
823
1315
  readonly type: "uint256";
1316
+ readonly name: "remaining";
1317
+ }];
1318
+ }, {
1319
+ readonly name: "getRemainingLimitWithPeriod";
1320
+ readonly type: "function";
1321
+ readonly stateMutability: "view";
1322
+ readonly inputs: readonly [{
1323
+ readonly type: "address";
1324
+ readonly name: "account";
1325
+ }, {
1326
+ readonly type: "address";
1327
+ readonly name: "keyId";
1328
+ }, {
1329
+ readonly type: "address";
1330
+ readonly name: "token";
1331
+ }];
1332
+ readonly outputs: readonly [{
1333
+ readonly type: "uint256";
1334
+ readonly name: "remaining";
1335
+ }, {
1336
+ readonly type: "uint64";
1337
+ readonly name: "periodEnd";
1338
+ }];
1339
+ }, {
1340
+ readonly name: "getAllowedCalls";
1341
+ readonly type: "function";
1342
+ readonly stateMutability: "view";
1343
+ readonly inputs: readonly [{
1344
+ readonly type: "address";
1345
+ readonly name: "account";
1346
+ }, {
1347
+ readonly type: "address";
1348
+ readonly name: "keyId";
1349
+ }];
1350
+ readonly outputs: readonly [{
1351
+ readonly type: "bool";
1352
+ readonly name: "isScoped";
1353
+ }, {
1354
+ readonly type: "tuple[]";
1355
+ readonly name: "scopes";
1356
+ readonly components: readonly [{
1357
+ readonly type: "address";
1358
+ readonly name: "target";
1359
+ }, {
1360
+ readonly type: "tuple[]";
1361
+ readonly name: "selectorRules";
1362
+ readonly components: readonly [{
1363
+ readonly type: "bytes4";
1364
+ readonly name: "selector";
1365
+ }, {
1366
+ readonly type: "address[]";
1367
+ readonly name: "recipients";
1368
+ }];
1369
+ }];
824
1370
  }];
825
1371
  }, {
826
1372
  readonly name: "getTransactionKey";
@@ -879,6 +1425,28 @@ export declare namespace updateLimit {
879
1425
  readonly type: "uint256";
880
1426
  readonly name: "newLimit";
881
1427
  }];
1428
+ }, {
1429
+ readonly name: "AccessKeySpend";
1430
+ readonly type: "event";
1431
+ readonly inputs: readonly [{
1432
+ readonly type: "address";
1433
+ readonly name: "account";
1434
+ readonly indexed: true;
1435
+ }, {
1436
+ readonly type: "address";
1437
+ readonly name: "publicKey";
1438
+ readonly indexed: true;
1439
+ }, {
1440
+ readonly type: "address";
1441
+ readonly name: "token";
1442
+ readonly indexed: true;
1443
+ }, {
1444
+ readonly type: "uint256";
1445
+ readonly name: "amount";
1446
+ }, {
1447
+ readonly type: "uint256";
1448
+ readonly name: "remainingLimit";
1449
+ }];
882
1450
  }, {
883
1451
  readonly name: "UnauthorizedCaller";
884
1452
  readonly type: "error";
@@ -899,6 +1467,10 @@ export declare namespace updateLimit {
899
1467
  readonly name: "SpendingLimitExceeded";
900
1468
  readonly type: "error";
901
1469
  readonly inputs: readonly [];
1470
+ }, {
1471
+ readonly name: "InvalidSpendingLimit";
1472
+ readonly type: "error";
1473
+ readonly inputs: readonly [];
902
1474
  }, {
903
1475
  readonly name: "InvalidSignatureType";
904
1476
  readonly type: "error";
@@ -915,6 +1487,31 @@ export declare namespace updateLimit {
915
1487
  readonly name: "KeyAlreadyRevoked";
916
1488
  readonly type: "error";
917
1489
  readonly inputs: readonly [];
1490
+ }, {
1491
+ readonly name: "SignatureTypeMismatch";
1492
+ readonly type: "error";
1493
+ readonly inputs: readonly [{
1494
+ readonly type: "uint8";
1495
+ readonly name: "expected";
1496
+ }, {
1497
+ readonly type: "uint8";
1498
+ readonly name: "actual";
1499
+ }];
1500
+ }, {
1501
+ readonly name: "CallNotAllowed";
1502
+ readonly type: "error";
1503
+ readonly inputs: readonly [];
1504
+ }, {
1505
+ readonly name: "InvalidCallScope";
1506
+ readonly type: "error";
1507
+ readonly inputs: readonly [];
1508
+ }, {
1509
+ readonly name: "LegacyAuthorizeKeySelectorChanged";
1510
+ readonly type: "error";
1511
+ readonly inputs: readonly [{
1512
+ readonly type: "bytes4";
1513
+ readonly name: "newSelector";
1514
+ }];
918
1515
  }], "SpendingLimitUpdated">;
919
1516
  }
920
1517
  /**
@@ -1091,9 +1688,12 @@ export declare namespace getRemainingLimit {
1091
1688
  /** The token address. */
1092
1689
  token: Address;
1093
1690
  };
1094
- type ReturnValue = ReadContractReturnType<typeof Abis.accountKeychain, 'getRemainingLimit', never>;
1691
+ type ReturnValue = {
1692
+ remaining: bigint;
1693
+ periodEnd: bigint | undefined;
1694
+ };
1095
1695
  /**
1096
- * Defines a call to the `getRemainingLimit` function.
1696
+ * Defines a call to the `getRemainingLimit` function (pre-T3).
1097
1697
  *
1098
1698
  * @param args - Arguments.
1099
1699
  * @returns The call.
@@ -1115,6 +1715,7 @@ export declare namespace getRemainingLimit {
1115
1715
  }];
1116
1716
  readonly outputs: readonly [{
1117
1717
  readonly type: "uint256";
1718
+ readonly name: "remaining";
1118
1719
  }];
1119
1720
  }];
1120
1721
  functionName: "getRemainingLimit";
@@ -1126,6 +1727,44 @@ export declare namespace getRemainingLimit {
1126
1727
  data: import("../../index.js").Hex;
1127
1728
  to: Address;
1128
1729
  };
1730
+ /**
1731
+ * Defines a call to the `getRemainingLimitWithPeriod` function (T3+).
1732
+ *
1733
+ * @param args - Arguments.
1734
+ * @returns The call.
1735
+ */
1736
+ function callWithPeriod(args: Args): {
1737
+ abi: [{
1738
+ readonly name: "getRemainingLimitWithPeriod";
1739
+ readonly type: "function";
1740
+ readonly stateMutability: "view";
1741
+ readonly inputs: readonly [{
1742
+ readonly type: "address";
1743
+ readonly name: "account";
1744
+ }, {
1745
+ readonly type: "address";
1746
+ readonly name: "keyId";
1747
+ }, {
1748
+ readonly type: "address";
1749
+ readonly name: "token";
1750
+ }];
1751
+ readonly outputs: readonly [{
1752
+ readonly type: "uint256";
1753
+ readonly name: "remaining";
1754
+ }, {
1755
+ readonly type: "uint64";
1756
+ readonly name: "periodEnd";
1757
+ }];
1758
+ }];
1759
+ functionName: "getRemainingLimitWithPeriod";
1760
+ } & {
1761
+ args: readonly [account: `0x${string}`, `0x${string}`, token: `0x${string}`];
1762
+ } & {
1763
+ address: Address;
1764
+ } & {
1765
+ data: import("../../index.js").Hex;
1766
+ to: Address;
1767
+ };
1129
1768
  }
1130
1769
  /**
1131
1770
  * Signs a key authorization for an access key.
@@ -1167,7 +1806,10 @@ export declare namespace signAuthorization {
1167
1806
  limits?: {
1168
1807
  token: Address;
1169
1808
  limit: bigint;
1809
+ period?: number | undefined;
1170
1810
  }[] | undefined;
1811
+ /** Call scopes restricting which contracts/selectors this key can call. */
1812
+ scopes?: KeyAuthorization.Scope[] | undefined;
1171
1813
  };
1172
1814
  type ReturnValue = Awaited<ReturnType<typeof signKeyAuthorization>>;
1173
1815
  }