viem 2.12.4 → 2.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (289) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/_cjs/accounts/index.js.map +1 -1
  3. package/_cjs/accounts/privateKeyToAccount.js +0 -4
  4. package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
  5. package/_cjs/accounts/toAccount.js +0 -1
  6. package/_cjs/accounts/toAccount.js.map +1 -1
  7. package/_cjs/actions/index.js.map +1 -1
  8. package/_cjs/celo/index.js.map +1 -1
  9. package/_cjs/chains/definitions/redstone.js +23 -0
  10. package/_cjs/chains/definitions/redstone.js.map +1 -0
  11. package/_cjs/chains/definitions/scrollSepolia.js +3 -3
  12. package/_cjs/chains/definitions/scrollSepolia.js.map +1 -1
  13. package/_cjs/chains/definitions/taiko.js +32 -0
  14. package/_cjs/chains/definitions/taiko.js.map +1 -0
  15. package/_cjs/chains/index.js +7 -5
  16. package/_cjs/chains/index.js.map +1 -1
  17. package/_cjs/chains/utils.js.map +1 -1
  18. package/_cjs/ens/index.js.map +1 -1
  19. package/_cjs/errors/version.js +1 -1
  20. package/_cjs/experimental/erc7715/actions/issuePermissions.js +74 -0
  21. package/_cjs/experimental/erc7715/actions/issuePermissions.js.map +1 -0
  22. package/_cjs/experimental/erc7715/decorators/erc7715.js +13 -0
  23. package/_cjs/experimental/erc7715/decorators/erc7715.js.map +1 -0
  24. package/_cjs/experimental/erc7715/types/permission.js +3 -0
  25. package/_cjs/experimental/erc7715/types/permission.js.map +1 -0
  26. package/_cjs/experimental/erc7715/types/signer.js +3 -0
  27. package/_cjs/experimental/erc7715/types/signer.js.map +1 -0
  28. package/_cjs/experimental/index.js +5 -15
  29. package/_cjs/experimental/index.js.map +1 -1
  30. package/_cjs/index.js.map +1 -1
  31. package/_cjs/node/index.js.map +1 -1
  32. package/_cjs/op-stack/chains.js.map +1 -1
  33. package/_cjs/op-stack/index.js.map +1 -1
  34. package/_cjs/siwe/index.js.map +1 -1
  35. package/_cjs/utils/accounts.js.map +1 -1
  36. package/_cjs/utils/hash/toEventHash.js.map +1 -1
  37. package/_cjs/utils/hash/toEventSignature.js.map +1 -1
  38. package/_cjs/utils/hash/toFunctionHash.js.map +1 -1
  39. package/_cjs/utils/hash/toFunctionSignature.js.map +1 -1
  40. package/_cjs/utils/index.js.map +1 -1
  41. package/_cjs/utils/promise/withTimeout.js.map +1 -1
  42. package/_cjs/utils/typedData.js +0 -1
  43. package/_cjs/utils/typedData.js.map +1 -1
  44. package/_cjs/zksync/chains.js.map +1 -1
  45. package/_cjs/zksync/index.js.map +1 -1
  46. package/_esm/accounts/index.js +1 -0
  47. package/_esm/accounts/index.js.map +1 -1
  48. package/_esm/accounts/privateKeyToAccount.js +0 -4
  49. package/_esm/accounts/privateKeyToAccount.js.map +1 -1
  50. package/_esm/accounts/toAccount.js +0 -1
  51. package/_esm/accounts/toAccount.js.map +1 -1
  52. package/_esm/actions/index.js +1 -0
  53. package/_esm/actions/index.js.map +1 -1
  54. package/_esm/celo/index.js +1 -0
  55. package/_esm/celo/index.js.map +1 -1
  56. package/_esm/chains/definitions/redstone.js +20 -0
  57. package/_esm/chains/definitions/redstone.js.map +1 -0
  58. package/_esm/chains/definitions/scrollSepolia.js +3 -3
  59. package/_esm/chains/definitions/scrollSepolia.js.map +1 -1
  60. package/_esm/chains/definitions/taiko.js +29 -0
  61. package/_esm/chains/definitions/taiko.js.map +1 -0
  62. package/_esm/chains/index.js +3 -1
  63. package/_esm/chains/index.js.map +1 -1
  64. package/_esm/chains/utils.js +1 -0
  65. package/_esm/chains/utils.js.map +1 -1
  66. package/_esm/ens/index.js +1 -0
  67. package/_esm/ens/index.js.map +1 -1
  68. package/_esm/errors/version.js +1 -1
  69. package/_esm/experimental/erc7715/actions/issuePermissions.js +107 -0
  70. package/_esm/experimental/erc7715/actions/issuePermissions.js.map +1 -0
  71. package/_esm/experimental/erc7715/decorators/erc7715.js +26 -0
  72. package/_esm/experimental/erc7715/decorators/erc7715.js.map +1 -0
  73. package/_esm/experimental/erc7715/types/permission.js +2 -0
  74. package/_esm/experimental/erc7715/types/permission.js.map +1 -0
  75. package/_esm/experimental/erc7715/types/signer.js +2 -0
  76. package/_esm/experimental/erc7715/types/signer.js.map +1 -0
  77. package/_esm/experimental/index.js +3 -7
  78. package/_esm/experimental/index.js.map +1 -1
  79. package/_esm/index.js +1 -0
  80. package/_esm/index.js.map +1 -1
  81. package/_esm/node/index.js +1 -0
  82. package/_esm/node/index.js.map +1 -1
  83. package/_esm/op-stack/chains.js +1 -0
  84. package/_esm/op-stack/chains.js.map +1 -1
  85. package/_esm/op-stack/index.js +2 -0
  86. package/_esm/op-stack/index.js.map +1 -1
  87. package/_esm/siwe/index.js +1 -0
  88. package/_esm/siwe/index.js.map +1 -1
  89. package/_esm/utils/accounts.js +1 -0
  90. package/_esm/utils/accounts.js.map +1 -1
  91. package/_esm/utils/hash/toEventHash.js +1 -0
  92. package/_esm/utils/hash/toEventHash.js.map +1 -1
  93. package/_esm/utils/hash/toEventSignature.js +1 -0
  94. package/_esm/utils/hash/toEventSignature.js.map +1 -1
  95. package/_esm/utils/hash/toFunctionHash.js +1 -0
  96. package/_esm/utils/hash/toFunctionHash.js.map +1 -1
  97. package/_esm/utils/hash/toFunctionSignature.js +1 -0
  98. package/_esm/utils/hash/toFunctionSignature.js.map +1 -1
  99. package/_esm/utils/index.js +1 -0
  100. package/_esm/utils/index.js.map +1 -1
  101. package/_esm/utils/promise/withTimeout.js.map +1 -1
  102. package/_esm/utils/typedData.js +0 -1
  103. package/_esm/utils/typedData.js.map +1 -1
  104. package/_esm/zksync/chains.js +1 -0
  105. package/_esm/zksync/chains.js.map +1 -1
  106. package/_esm/zksync/index.js +1 -0
  107. package/_esm/zksync/index.js.map +1 -1
  108. package/_types/accounts/index.d.ts.map +1 -1
  109. package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
  110. package/_types/accounts/toAccount.d.ts.map +1 -1
  111. package/_types/accounts/types.d.ts +2 -4
  112. package/_types/accounts/types.d.ts.map +1 -1
  113. package/_types/actions/index.d.ts.map +1 -1
  114. package/_types/celo/chainConfig.d.ts +76 -76
  115. package/_types/celo/formatters.d.ts +38 -38
  116. package/_types/celo/index.d.ts.map +1 -1
  117. package/_types/chains/definitions/ancient8.d.ts +30 -30
  118. package/_types/chains/definitions/ancient8Sepolia.d.ts +30 -30
  119. package/_types/chains/definitions/base.d.ts +30 -30
  120. package/_types/chains/definitions/baseGoerli.d.ts +30 -30
  121. package/_types/chains/definitions/baseSepolia.d.ts +30 -30
  122. package/_types/chains/definitions/celo.d.ts +76 -76
  123. package/_types/chains/definitions/celoAlfajores.d.ts +76 -76
  124. package/_types/chains/definitions/fraxtal.d.ts +30 -30
  125. package/_types/chains/definitions/fraxtalTestnet.d.ts +30 -30
  126. package/_types/chains/definitions/funkiSepolia.d.ts +30 -30
  127. package/_types/chains/definitions/liskSepolia.d.ts +30 -30
  128. package/_types/chains/definitions/metalL2.d.ts +30 -30
  129. package/_types/chains/definitions/optimism.d.ts +30 -30
  130. package/_types/chains/definitions/optimismGoerli.d.ts +30 -30
  131. package/_types/chains/definitions/optimismSepolia.d.ts +30 -30
  132. package/_types/chains/definitions/pgn.d.ts +30 -30
  133. package/_types/chains/definitions/pgnTestnet.d.ts +30 -30
  134. package/_types/chains/definitions/{scrollTestnet.d.ts → redstone.d.ts} +10 -11
  135. package/_types/chains/definitions/redstone.d.ts.map +1 -0
  136. package/_types/chains/definitions/rss3.d.ts +30 -30
  137. package/_types/chains/definitions/rss3Sepolia.d.ts +30 -30
  138. package/_types/chains/definitions/scrollSepolia.d.ts +3 -3
  139. package/_types/chains/definitions/taiko.d.ts +34 -0
  140. package/_types/chains/definitions/taiko.d.ts.map +1 -0
  141. package/_types/chains/definitions/zora.d.ts +30 -30
  142. package/_types/chains/definitions/zoraSepolia.d.ts +30 -30
  143. package/_types/chains/definitions/zoraTestnet.d.ts +30 -30
  144. package/_types/chains/index.d.ts +2 -1
  145. package/_types/chains/index.d.ts.map +1 -1
  146. package/_types/chains/utils.d.ts.map +1 -1
  147. package/_types/ens/index.d.ts.map +1 -1
  148. package/_types/errors/version.d.ts +1 -1
  149. package/_types/experimental/erc7715/actions/issuePermissions.d.ts +73 -0
  150. package/_types/experimental/erc7715/actions/issuePermissions.d.ts.map +1 -0
  151. package/_types/experimental/erc7715/decorators/erc7715.d.ts +61 -0
  152. package/_types/experimental/erc7715/decorators/erc7715.d.ts.map +1 -0
  153. package/_types/experimental/erc7715/types/permission.d.ts +36 -0
  154. package/_types/experimental/erc7715/types/permission.d.ts.map +1 -0
  155. package/_types/experimental/erc7715/types/signer.d.ts +22 -0
  156. package/_types/experimental/erc7715/types/signer.d.ts.map +1 -0
  157. package/_types/experimental/index.d.ts +2 -7
  158. package/_types/experimental/index.d.ts.map +1 -1
  159. package/_types/index.d.ts +1 -1
  160. package/_types/index.d.ts.map +1 -1
  161. package/_types/node/index.d.ts.map +1 -1
  162. package/_types/op-stack/chainConfig.d.ts +30 -30
  163. package/_types/op-stack/chains.d.ts.map +1 -1
  164. package/_types/op-stack/formatters.d.ts +30 -30
  165. package/_types/op-stack/index.d.ts.map +1 -1
  166. package/_types/siwe/index.d.ts.map +1 -1
  167. package/_types/types/eip1193.d.ts +38 -0
  168. package/_types/types/eip1193.d.ts.map +1 -1
  169. package/_types/utils/accounts.d.ts.map +1 -1
  170. package/_types/utils/formatters/transaction.d.ts +1 -1
  171. package/_types/utils/hash/toEventHash.d.ts.map +1 -1
  172. package/_types/utils/hash/toEventSignature.d.ts.map +1 -1
  173. package/_types/utils/hash/toFunctionHash.d.ts.map +1 -1
  174. package/_types/utils/hash/toFunctionSignature.d.ts.map +1 -1
  175. package/_types/utils/index.d.ts.map +1 -1
  176. package/_types/utils/typedData.d.ts.map +1 -1
  177. package/_types/zksync/chains.d.ts.map +1 -1
  178. package/_types/zksync/index.d.ts.map +1 -1
  179. package/accounts/index.ts +2 -0
  180. package/accounts/privateKeyToAccount.ts +0 -4
  181. package/accounts/toAccount.ts +0 -1
  182. package/accounts/types.ts +2 -9
  183. package/actions/index.ts +1 -0
  184. package/celo/index.ts +1 -0
  185. package/chains/definitions/redstone.ts +20 -0
  186. package/chains/definitions/scrollSepolia.ts +3 -3
  187. package/chains/definitions/taiko.ts +29 -0
  188. package/chains/index.ts +3 -1
  189. package/chains/utils.ts +1 -0
  190. package/ens/index.ts +1 -0
  191. package/errors/version.ts +1 -1
  192. package/experimental/erc7715/actions/issuePermissions.ts +161 -0
  193. package/experimental/erc7715/decorators/erc7715.ts +80 -0
  194. package/experimental/erc7715/types/permission.ts +46 -0
  195. package/experimental/erc7715/types/signer.ts +25 -0
  196. package/experimental/index.ts +11 -44
  197. package/index.ts +3 -0
  198. package/node/index.ts +1 -0
  199. package/op-stack/chains.ts +1 -0
  200. package/op-stack/index.ts +2 -0
  201. package/package.json +1 -1
  202. package/siwe/index.ts +1 -0
  203. package/types/eip1193.ts +44 -0
  204. package/utils/accounts.ts +2 -0
  205. package/utils/hash/toEventHash.ts +1 -0
  206. package/utils/hash/toEventSignature.ts +1 -0
  207. package/utils/hash/toFunctionHash.ts +1 -0
  208. package/utils/hash/toFunctionSignature.ts +1 -0
  209. package/utils/index.ts +1 -0
  210. package/utils/promise/withTimeout.ts +1 -1
  211. package/utils/typedData.ts +0 -2
  212. package/zksync/chains.ts +1 -0
  213. package/zksync/index.ts +1 -0
  214. package/_cjs/chains/definitions/scrollTestnet.js +0 -24
  215. package/_cjs/chains/definitions/scrollTestnet.js.map +0 -1
  216. package/_cjs/experimental/eip3074/actions/signAuthMessage.js +0 -29
  217. package/_cjs/experimental/eip3074/actions/signAuthMessage.js.map +0 -1
  218. package/_cjs/experimental/eip3074/constants/abis.js +0 -123
  219. package/_cjs/experimental/eip3074/constants/abis.js.map +0 -1
  220. package/_cjs/experimental/eip3074/decorators/eip3074.js +0 -13
  221. package/_cjs/experimental/eip3074/decorators/eip3074.js.map +0 -1
  222. package/_cjs/experimental/eip3074/invokers/coders/batchInvokerCoder.js +0 -26
  223. package/_cjs/experimental/eip3074/invokers/coders/batchInvokerCoder.js.map +0 -1
  224. package/_cjs/experimental/eip3074/invokers/coders/defineInvokerCoder.js +0 -8
  225. package/_cjs/experimental/eip3074/invokers/coders/defineInvokerCoder.js.map +0 -1
  226. package/_cjs/experimental/eip3074/invokers/getInvoker.js +0 -64
  227. package/_cjs/experimental/eip3074/invokers/getInvoker.js.map +0 -1
  228. package/_cjs/experimental/eip3074/utils/recoverAuthMessageAddress.js +0 -12
  229. package/_cjs/experimental/eip3074/utils/recoverAuthMessageAddress.js.map +0 -1
  230. package/_cjs/experimental/eip3074/utils/signAuthMessage.js +0 -17
  231. package/_cjs/experimental/eip3074/utils/signAuthMessage.js.map +0 -1
  232. package/_cjs/experimental/eip3074/utils/toAuthMessage.js +0 -17
  233. package/_cjs/experimental/eip3074/utils/toAuthMessage.js.map +0 -1
  234. package/_cjs/experimental/eip3074/utils/verifyAuthMessage.js +0 -11
  235. package/_cjs/experimental/eip3074/utils/verifyAuthMessage.js.map +0 -1
  236. package/_esm/chains/definitions/scrollTestnet.js +0 -21
  237. package/_esm/chains/definitions/scrollTestnet.js.map +0 -1
  238. package/_esm/experimental/eip3074/actions/signAuthMessage.js +0 -78
  239. package/_esm/experimental/eip3074/actions/signAuthMessage.js.map +0 -1
  240. package/_esm/experimental/eip3074/constants/abis.js +0 -120
  241. package/_esm/experimental/eip3074/constants/abis.js.map +0 -1
  242. package/_esm/experimental/eip3074/decorators/eip3074.js +0 -26
  243. package/_esm/experimental/eip3074/decorators/eip3074.js.map +0 -1
  244. package/_esm/experimental/eip3074/invokers/coders/batchInvokerCoder.js +0 -22
  245. package/_esm/experimental/eip3074/invokers/coders/batchInvokerCoder.js.map +0 -1
  246. package/_esm/experimental/eip3074/invokers/coders/defineInvokerCoder.js +0 -4
  247. package/_esm/experimental/eip3074/invokers/coders/defineInvokerCoder.js.map +0 -1
  248. package/_esm/experimental/eip3074/invokers/getInvoker.js +0 -60
  249. package/_esm/experimental/eip3074/invokers/getInvoker.js.map +0 -1
  250. package/_esm/experimental/eip3074/utils/recoverAuthMessageAddress.js +0 -8
  251. package/_esm/experimental/eip3074/utils/recoverAuthMessageAddress.js.map +0 -1
  252. package/_esm/experimental/eip3074/utils/signAuthMessage.js +0 -16
  253. package/_esm/experimental/eip3074/utils/signAuthMessage.js.map +0 -1
  254. package/_esm/experimental/eip3074/utils/toAuthMessage.js +0 -16
  255. package/_esm/experimental/eip3074/utils/toAuthMessage.js.map +0 -1
  256. package/_esm/experimental/eip3074/utils/verifyAuthMessage.js +0 -13
  257. package/_esm/experimental/eip3074/utils/verifyAuthMessage.js.map +0 -1
  258. package/_types/chains/definitions/scrollTestnet.d.ts.map +0 -1
  259. package/_types/experimental/eip3074/actions/signAuthMessage.d.ts +0 -82
  260. package/_types/experimental/eip3074/actions/signAuthMessage.d.ts.map +0 -1
  261. package/_types/experimental/eip3074/constants/abis.d.ts +0 -91
  262. package/_types/experimental/eip3074/constants/abis.d.ts.map +0 -1
  263. package/_types/experimental/eip3074/decorators/eip3074.d.ts +0 -27
  264. package/_types/experimental/eip3074/decorators/eip3074.d.ts.map +0 -1
  265. package/_types/experimental/eip3074/invokers/coders/batchInvokerCoder.d.ts +0 -11
  266. package/_types/experimental/eip3074/invokers/coders/batchInvokerCoder.d.ts.map +0 -1
  267. package/_types/experimental/eip3074/invokers/coders/defineInvokerCoder.d.ts +0 -14
  268. package/_types/experimental/eip3074/invokers/coders/defineInvokerCoder.d.ts.map +0 -1
  269. package/_types/experimental/eip3074/invokers/getInvoker.d.ts +0 -48
  270. package/_types/experimental/eip3074/invokers/getInvoker.d.ts.map +0 -1
  271. package/_types/experimental/eip3074/utils/recoverAuthMessageAddress.d.ts +0 -12
  272. package/_types/experimental/eip3074/utils/recoverAuthMessageAddress.d.ts.map +0 -1
  273. package/_types/experimental/eip3074/utils/signAuthMessage.d.ts +0 -16
  274. package/_types/experimental/eip3074/utils/signAuthMessage.d.ts.map +0 -1
  275. package/_types/experimental/eip3074/utils/toAuthMessage.d.ts +0 -20
  276. package/_types/experimental/eip3074/utils/toAuthMessage.d.ts.map +0 -1
  277. package/_types/experimental/eip3074/utils/verifyAuthMessage.d.ts +0 -19
  278. package/_types/experimental/eip3074/utils/verifyAuthMessage.d.ts.map +0 -1
  279. package/chains/definitions/scrollTestnet.ts +0 -21
  280. package/experimental/eip3074/actions/signAuthMessage.ts +0 -151
  281. package/experimental/eip3074/constants/abis.ts +0 -119
  282. package/experimental/eip3074/decorators/eip3074.ts +0 -58
  283. package/experimental/eip3074/invokers/coders/batchInvokerCoder.ts +0 -46
  284. package/experimental/eip3074/invokers/coders/defineInvokerCoder.ts +0 -20
  285. package/experimental/eip3074/invokers/getInvoker.ts +0 -192
  286. package/experimental/eip3074/utils/recoverAuthMessageAddress.ts +0 -29
  287. package/experimental/eip3074/utils/signAuthMessage.ts +0 -40
  288. package/experimental/eip3074/utils/toAuthMessage.ts +0 -50
  289. package/experimental/eip3074/utils/verifyAuthMessage.ts +0 -46
@@ -1,82 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import type { Client } from '../../../clients/createClient.js';
3
- import type { Transport } from '../../../clients/transports/createTransport.js';
4
- import type { ErrorType } from '../../../errors/utils.js';
5
- import type { Account, DeriveAccount, LocalAccount } from '../../../types/account.js';
6
- import type { Chain, GetChainParameter } from '../../../types/chain.js';
7
- import type { Hash, Hex } from '../../../types/misc.js';
8
- import type { IsUndefined } from '../../../types/utils.js';
9
- type GetAccountParameter<account extends Account | undefined = Account | undefined, accountOverride extends Account | Address | undefined = Account | Address> = IsUndefined<account> extends true ? {
10
- account: accountOverride | LocalAccount;
11
- } : account extends LocalAccount ? {
12
- account?: accountOverride | LocalAccount | undefined;
13
- } : {
14
- account: accountOverride | LocalAccount;
15
- };
16
- type GetNonceParameter<account extends Account | Address | undefined> = account extends Address | Account ? {
17
- nonce?: number | undefined;
18
- } : {
19
- nonce: number;
20
- };
21
- export type SignAuthMessageParameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, chainOverride extends Chain | undefined = Chain | undefined, accountOverride extends Account | Address | undefined = Account | Address> = {
22
- commit: Hash;
23
- invokerAddress: Address;
24
- } & GetAccountParameter<account, accountOverride> & GetChainParameter<chain, chainOverride> & GetNonceParameter<DeriveAccount<account, accountOverride>>;
25
- export type SignAuthMessageReturnType = Hex;
26
- export type SignAuthMessageErrorType = ErrorType;
27
- /**
28
- * Calculates an [EIP-3074](https://eips.ethereum.org/EIPS/eip-3074) auth signature.
29
- *
30
- * With the calculated signature, you can:
31
- * - pass it to an EIP-3074 compatible invoker contract,
32
- * - use [`verifyAuthMessage`](/experimental/eip3074/verifyAuthMessage) to verify the signature,
33
- * - use [`recoverAuthMessageAddress`](/experimental/eip3074/recoverAuthMessageAddress) to recover the signing address from a signature.
34
- *
35
- * @param client - Client to use
36
- * @param parameters - {@link SignAuthMessageParameters}
37
- * @returns The signed auth message. {@link SignAuthMessageReturnType}
38
- *
39
- * @example
40
- * import { createWalletClient, http } from 'viem'
41
- * import { privateKeyToAccount } from 'viem/accounts'
42
- * import { mainnet } from 'viem/chains'
43
- * import { signAuthMessage } from 'viem/experimental'
44
- *
45
- * const account = privateKeyToAccount('0x...')
46
- *
47
- * const client = createWalletClient({
48
- * chain: mainnet,
49
- * transport: http(),
50
- * })
51
- *
52
- * const signature = await signAuthMessage(client, {
53
- * account,
54
- * chainId: 1,
55
- * commit: keccak256('0x1234'),
56
- * invokerAddress: '0x0000000000000000000000000000000000000000',
57
- * nonce: 69,
58
- * })
59
- *
60
- * @example
61
- * // Account Hoisting
62
- * import { createWalletClient, http } from 'viem'
63
- * import { privateKeyToAccount } from 'viem/accounts'
64
- * import { mainnet } from 'viem/chains'
65
- * import { signAuthMessage } from 'viem/experimental'
66
- *
67
- * const client = createWalletClient({
68
- * account: privateKeyToAccount('0x…'),
69
- * chain: mainnet,
70
- * transport: http(),
71
- * })
72
- *
73
- * const signature = await signAuthMessage(client, {
74
- * chainId: 1,
75
- * commit: keccak256('0x1234'),
76
- * invokerAddress: '0x0000000000000000000000000000000000000000',
77
- * nonce: 69,
78
- * })
79
- */
80
- export declare function signAuthMessage<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined, accountOverride extends Account | undefined = undefined>(client: Client<Transport, chain, account>, parameters: SignAuthMessageParameters<chain, account, chainOverride, accountOverride>): Promise<SignAuthMessageReturnType>;
81
- export {};
82
- //# sourceMappingURL=signAuthMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signAuthMessage.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/actions/signAuthMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAI1D,KAAK,mBAAmB,CACtB,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EACzD,eAAe,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,IACvE,WAAW,CAAC,OAAO,CAAC,SAAS,IAAI,GACjC;IAAE,OAAO,EAAE,eAAe,GAAG,YAAY,CAAA;CAAE,GAC3C,OAAO,SAAS,YAAY,GAC1B;IACE,OAAO,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAAA;CACrD,GACD;IAAE,OAAO,EAAE,eAAe,GAAG,YAAY,CAAA;CAAE,CAAA;AAEjD,KAAK,iBAAiB,CAAC,OAAO,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,IAClE,OAAO,SAAS,OAAO,GAAG,OAAO,GAC7B;IACE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,GACD;IACE,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAEP,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EACzD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,eAAe,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,IACvE;IACF,MAAM,EAAE,IAAI,CAAA;IACZ,cAAc,EAAE,OAAO,CAAA;CACxB,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,GAC/C,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GACvC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;AAE5D,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE3C,MAAM,MAAM,wBAAwB,GAAG,SAAS,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,eAAe,CACnC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EACnD,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEvD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,yBAAyB,CACnC,KAAK,EACL,OAAO,EACP,aAAa,EACb,eAAe,CAChB,GACA,OAAO,CAAC,yBAAyB,CAAC,CA+BpC"}
@@ -1,91 +0,0 @@
1
- export declare const invokerAbi: readonly [{
2
- readonly type: "function";
3
- readonly name: "execute";
4
- readonly inputs: readonly [{
5
- readonly name: "execData";
6
- readonly type: "bytes";
7
- readonly internalType: "bytes";
8
- }, {
9
- readonly name: "signature";
10
- readonly type: "tuple";
11
- readonly internalType: "struct Auth.Signature";
12
- readonly components: readonly [{
13
- readonly name: "signer";
14
- readonly type: "address";
15
- readonly internalType: "address";
16
- }, {
17
- readonly name: "yParity";
18
- readonly type: "uint8";
19
- readonly internalType: "uint8";
20
- }, {
21
- readonly name: "r";
22
- readonly type: "bytes32";
23
- readonly internalType: "bytes32";
24
- }, {
25
- readonly name: "s";
26
- readonly type: "bytes32";
27
- readonly internalType: "bytes32";
28
- }];
29
- }];
30
- readonly outputs: readonly [];
31
- readonly stateMutability: "nonpayable";
32
- }, {
33
- readonly type: "function";
34
- readonly name: "getDigest";
35
- readonly inputs: readonly [{
36
- readonly name: "execData";
37
- readonly type: "bytes";
38
- readonly internalType: "bytes";
39
- }, {
40
- readonly name: "nonce";
41
- readonly type: "uint256";
42
- readonly internalType: "uint256";
43
- }];
44
- readonly outputs: readonly [{
45
- readonly name: "digest";
46
- readonly type: "bytes32";
47
- readonly internalType: "bytes32";
48
- }];
49
- readonly stateMutability: "view";
50
- }, {
51
- readonly type: "function";
52
- readonly name: "multiSend";
53
- readonly inputs: readonly [{
54
- readonly name: "transactions";
55
- readonly type: "bytes";
56
- readonly internalType: "bytes";
57
- }];
58
- readonly outputs: readonly [];
59
- readonly stateMutability: "payable";
60
- }, {
61
- readonly type: "function";
62
- readonly name: "nextNonce";
63
- readonly inputs: readonly [{
64
- readonly name: "";
65
- readonly type: "address";
66
- readonly internalType: "address";
67
- }];
68
- readonly outputs: readonly [{
69
- readonly name: "";
70
- readonly type: "uint256";
71
- readonly internalType: "uint256";
72
- }];
73
- readonly stateMutability: "view";
74
- }, {
75
- readonly type: "error";
76
- readonly name: "BadAuth";
77
- readonly inputs: readonly [];
78
- }, {
79
- readonly type: "error";
80
- readonly name: "InvalidNonce";
81
- readonly inputs: readonly [{
82
- readonly name: "authority";
83
- readonly type: "address";
84
- readonly internalType: "address";
85
- }, {
86
- readonly name: "attempted";
87
- readonly type: "uint256";
88
- readonly internalType: "uint256";
89
- }];
90
- }];
91
- //# sourceMappingURL=abis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/constants/abis.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsHb,CAAA"}
@@ -1,27 +0,0 @@
1
- import type { Client } from '../../../clients/createClient.js';
2
- import type { Transport } from '../../../clients/transports/createTransport.js';
3
- import type { Account } from '../../../types/account.js';
4
- import type { Chain } from '../../../types/chain.js';
5
- import { type SignAuthMessageParameters, type SignAuthMessageReturnType } from '../actions/signAuthMessage.js';
6
- export type WalletActionsEip3074<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = {
7
- signAuthMessage: <chainOverride extends Chain | undefined = undefined, accountOverride extends Account | undefined = undefined>(parameters: SignAuthMessageParameters<chain, account, chainOverride, accountOverride>) => Promise<SignAuthMessageReturnType>;
8
- };
9
- /**
10
- * A suite of EIP-3074 Wallet Actions.
11
- *
12
- * - Docs: https://viem.sh/experimental
13
- *
14
- * @example
15
- * import { createPublicClient, createWalletClient, http } from 'viem'
16
- * import { mainnet } from 'viem/chains'
17
- * import { walletActionsEip3074 } from 'viem/experimental'
18
- *
19
- * const walletClient = createWalletClient({
20
- * chain: mainnet,
21
- * transport: http(),
22
- * }).extend(walletActionsEip3074())
23
- *
24
- * const signature = await walletClient.signAuthMessage({...})
25
- */
26
- export declare function walletActionsEip3074(): <transport extends Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined>(client: Client<transport, chain, account>) => WalletActionsEip3074<chain, account>;
27
- //# sourceMappingURL=eip3074.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip3074.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/decorators/eip3074.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAE/B,MAAM,+BAA+B,CAAA;AAEtC,MAAM,MAAM,oBAAoB,CAC9B,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACvD;IACF,eAAe,EAAE,CACf,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EACnD,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEvD,UAAU,EAAE,yBAAyB,CACnC,KAAK,EACL,OAAO,EACP,aAAa,EACb,eAAe,CAChB,KACE,OAAO,CAAC,yBAAyB,CAAC,CAAA;CACxC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,0JAMxB,OAAO,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KACxC,qBAAqB,KAAK,EAAE,OAAO,CAAC,CAMxC"}
@@ -1,11 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import type { Hex } from '../../../../types/misc.js';
3
- type Calls = readonly {
4
- to: Address;
5
- data?: Hex | undefined;
6
- value?: bigint | undefined;
7
- }[];
8
- export type BatchInvokerArgs = Calls;
9
- export declare function batchInvokerCoder(): import("./defineInvokerCoder.js").DefineInvokerCoderReturnType<Calls>;
10
- export {};
11
- //# sourceMappingURL=batchInvokerCoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batchInvokerCoder.d.ts","sourceRoot":"","sources":["../../../../../experimental/eip3074/invokers/coders/batchInvokerCoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAQpD,KAAK,KAAK,GAAG,SAAS;IACpB,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,EAAE,CAAA;AAEH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAEpC,wBAAgB,iBAAiB,0EA2BhC"}
@@ -1,14 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import type { Client } from '../../../../clients/createClient.js';
3
- import type { Hex } from '../../../../types/misc.js';
4
- export type InvokerCoder<args = unknown> = {
5
- toExecData: (args: args, options: {
6
- authority: Address;
7
- client: Client;
8
- invokerAddress: Hex;
9
- }) => Promise<Hex>;
10
- };
11
- export type DefineInvokerCoderParameters<args = unknown> = InvokerCoder<args>;
12
- export type DefineInvokerCoderReturnType<args = unknown> = InvokerCoder<args>;
13
- export declare function defineInvokerCoder<args>(parameters: DefineInvokerCoderParameters<args>): DefineInvokerCoderReturnType<args>;
14
- //# sourceMappingURL=defineInvokerCoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defineInvokerCoder.d.ts","sourceRoot":"","sources":["../../../../../experimental/eip3074/invokers/coders/defineInvokerCoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,YAAY,CAAC,IAAI,GAAG,OAAO,IAAI;IACzC,UAAU,EAAE,CACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,GAAG,CAAA;KAAE,KACjE,OAAO,CAAC,GAAG,CAAC,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,4BAA4B,CAAC,IAAI,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AAE7E,MAAM,MAAM,4BAA4B,CAAC,IAAI,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AAE7E,wBAAgB,kBAAkB,CAAC,IAAI,EACrC,UAAU,EAAE,4BAA4B,CAAC,IAAI,CAAC,GAC7C,4BAA4B,CAAC,IAAI,CAAC,CAEpC"}
@@ -1,48 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import { type GetTransactionCountErrorType } from '../../../actions/public/getTransactionCount.js';
3
- import { type WriteContractErrorType } from '../../../actions/wallet/writeContract.js';
4
- import type { Client } from '../../../clients/createClient.js';
5
- import type { Transport } from '../../../clients/transports/createTransport.js';
6
- import type { ErrorType } from '../../../errors/utils.js';
7
- import type { Account, LocalAccount } from '../../../types/account.js';
8
- import type { Chain, GetChainParameter } from '../../../types/chain.js';
9
- import type { Hex } from '../../../types/misc.js';
10
- import type { IsUndefined } from '../../../types/utils.js';
11
- import { type IsAddressEqualErrorType } from '../../../utils/address/isAddressEqual.js';
12
- import { type Keccak256ErrorType } from '../../../utils/hash/keccak256.js';
13
- import { type ParseSignatureErrorType } from '../../../utils/signature/parseSignature.js';
14
- import { type SignAuthMessageErrorType } from '../actions/signAuthMessage.js';
15
- import type { InvokerCoder } from './coders/defineInvokerCoder.js';
16
- type GetExecutorParameter<TAccount extends Account | undefined = Account | undefined, TAccountOverride extends Account | Address | undefined = Account | Address, TRequired extends boolean = true> = IsUndefined<TAccount> extends true ? TRequired extends true ? {
17
- executor: TAccountOverride | Account | Address;
18
- } : {
19
- executor?: TAccountOverride | Account | Address | undefined;
20
- } : {
21
- executor?: TAccountOverride | Account | Address | undefined;
22
- };
23
- export type InvokerExecuteParameters<account extends Account | undefined = Account | undefined, chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined, args = unknown> = {
24
- args: args;
25
- authority: Account | Address;
26
- signature: Hex;
27
- } & GetExecutorParameter<account> & GetChainParameter<chain, chainOverride>;
28
- export type InvokerExecuteErrorType = WriteContractErrorType | ParseSignatureErrorType | ErrorType;
29
- export type InvokerSignParameters<account extends Account | undefined = Account | undefined, chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined, args = unknown> = {
30
- args: args;
31
- authority: LocalAccount;
32
- } & GetExecutorParameter<account, Account | Address, false> & GetChainParameter<chain, chainOverride>;
33
- export type InvokerSignErrorType = GetTransactionCountErrorType | SignAuthMessageErrorType | Keccak256ErrorType | IsAddressEqualErrorType | ErrorType;
34
- export type Invoker<account extends Account | undefined = Account | undefined, chain extends Chain | undefined = Chain | undefined, args = unknown> = {
35
- address: Address;
36
- execute<chainOverride extends Chain | undefined = undefined>(parameters: InvokerExecuteParameters<account, chain, chainOverride, args>): Promise<Hex>;
37
- sign<chainOverride extends Chain | undefined = undefined>(parameters: InvokerSignParameters<account, chain, chainOverride, args>): Promise<Hex>;
38
- };
39
- export type GetInvokerParameters<account extends Account | undefined = Account | undefined, chain extends Chain | undefined = Chain | undefined, args = unknown> = {
40
- address: Address;
41
- client: Client<Transport, chain, account>;
42
- coder: InvokerCoder<args>;
43
- };
44
- export type GetInvokerErrorType = ErrorType;
45
- export type InvokerArgs<invoker extends Invoker<any, any, any> = Invoker> = invoker extends Invoker<any, any, infer args> ? args : unknown;
46
- export declare function getInvoker<account extends Account | undefined, chain extends Chain | undefined, args>(parameters: GetInvokerParameters<account, chain, args>): Invoker<account, chain, args>;
47
- export {};
48
- //# sourceMappingURL=getInvoker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getInvoker.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/invokers/getInvoker.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import type { ByteArray, Hex, Signature } from '../../../types/misc.js';
3
- import type { ErrorType } from '../../../errors/utils.js';
4
- import { type RecoverAddressErrorType } from '../../../utils/signature/recoverAddress.js';
5
- import { type ToAuthMessageParameters } from './toAuthMessage.js';
6
- export type RecoverAuthMessageAddressParameters = ToAuthMessageParameters & {
7
- signature: Hex | ByteArray | Signature;
8
- };
9
- export type RecoverAuthMessageAddressReturnType = Address;
10
- export type RecoverAuthMessageAddressErrorType = RecoverAddressErrorType | ErrorType;
11
- export declare function recoverAuthMessageAddress({ signature, ...parameters }: RecoverAuthMessageAddressParameters): Promise<RecoverAuthMessageAddressReturnType>;
12
- //# sourceMappingURL=recoverAuthMessageAddress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recoverAuthMessageAddress.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/recoverAuthMessageAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,KAAK,uBAAuB,EAAiB,MAAM,oBAAoB,CAAA;AAEhF,MAAM,MAAM,mCAAmC,GAAG,uBAAuB,GAAG;IAC1E,SAAS,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,OAAO,CAAA;AAEzD,MAAM,MAAM,kCAAkC,GAC1C,uBAAuB,GACvB,SAAS,CAAA;AAEb,wBAAsB,yBAAyB,CAAC,EAC9C,SAAS,EACT,GAAG,UAAU,EACd,EAAE,mCAAmC,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAGpF"}
@@ -1,16 +0,0 @@
1
- import { type SignErrorType } from '../../../accounts/utils/sign.js';
2
- import type { ErrorType } from '../../../errors/utils.js';
3
- import type { Hex } from '../../../types/misc.js';
4
- import { type SerializeSignatureErrorType } from '../../../utils/signature/serializeSignature.js';
5
- import { type ToAuthMessageErrorType, type ToAuthMessageParameters } from './toAuthMessage.js';
6
- export type SignAuthMessageParameters = ToAuthMessageParameters & {
7
- /** The private key to sign with. */
8
- privateKey: Hex;
9
- };
10
- export type SignAuthMessageReturnType = Hex;
11
- export type SignAuthMessageErrorType = SignErrorType | ToAuthMessageErrorType | SerializeSignatureErrorType | ErrorType;
12
- /**
13
- * Computes a EIP-3074 authorization signature in format: `keccak256(MAGIC || chainId || nonce || invokerAddress || commit))`.
14
- */
15
- export declare function signAuthMessage(parameters: SignAuthMessageParameters): Promise<SignAuthMessageReturnType>;
16
- //# sourceMappingURL=signAuthMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signAuthMessage.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/signAuthMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,iCAAiC,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,gDAAgD,CAAA;AACvD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,yBAAyB,GAAG,uBAAuB,GAAG;IAChE,oCAAoC;IACpC,UAAU,EAAE,GAAG,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE3C,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,sBAAsB,GACtB,2BAA2B,GAC3B,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAOpC"}
@@ -1,20 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import type { ErrorType } from '../../../errors/utils.js';
3
- import type { Hash } from '../../../types/misc.js';
4
- import { type EncodePackedErrorType } from '../../../utils/abi/encodePacked.js';
5
- import { type PadHexErrorType } from '../../../utils/data/pad.js';
6
- import { type NumberToHexErrorType } from '../../../utils/encoding/toHex.js';
7
- import type { Keccak256ErrorType } from '../../../utils/hash/keccak256.js';
8
- export type ToAuthMessageParameters = {
9
- chainId: number;
10
- commit: Hash;
11
- invokerAddress: Address;
12
- nonce: number;
13
- };
14
- export type ToAuthMessageReturnType = Hash;
15
- export type ToAuthMessageErrorType = Keccak256ErrorType | EncodePackedErrorType | NumberToHexErrorType | PadHexErrorType | ErrorType;
16
- /**
17
- * Returns the message to be signed for EIP-3074 authorization.
18
- */
19
- export declare function toAuthMessage({ chainId, commit, invokerAddress, nonce, }: ToAuthMessageParameters): ToAuthMessageReturnType;
20
- //# sourceMappingURL=toAuthMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toAuthMessage.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/toAuthMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,KAAK,eAAe,EAAU,MAAM,4BAA4B,CAAA;AACzE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,IAAI,CAAA;IACZ,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAE1C,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,eAAe,GACf,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,cAAc,EACd,KAAK,GACN,EAAE,uBAAuB,GAAG,uBAAuB,CAWnD"}
@@ -1,19 +0,0 @@
1
- import type { Address } from 'abitype';
2
- import type { ErrorType } from '../../../errors/utils.js';
3
- import { type GetAddressErrorType } from '../../../utils/address/getAddress.js';
4
- import { type IsAddressEqualErrorType } from '../../../utils/address/isAddressEqual.js';
5
- import { type RecoverAuthMessageAddressErrorType, type RecoverAuthMessageAddressParameters } from './recoverAuthMessageAddress.js';
6
- export type VerifyAuthMessageParameters = RecoverAuthMessageAddressParameters & {
7
- /** The address that signed the original auth message. */
8
- address: Address;
9
- };
10
- export type VerifyAuthMessageReturnType = boolean;
11
- export type VerifyAuthMessageErrorType = IsAddressEqualErrorType | GetAddressErrorType | RecoverAuthMessageAddressErrorType | ErrorType;
12
- /**
13
- * Verify that a auth message was signed by the provided address.
14
- *
15
- * @param parameters - {@link VerifyAuthMessageParameters}
16
- * @returns Whether or not the signature is valid. {@link VerifyAuthMessageReturnType}
17
- */
18
- export declare function verifyAuthMessage({ address, ...parameters }: VerifyAuthMessageParameters): Promise<VerifyAuthMessageReturnType>;
19
- //# sourceMappingURL=verifyAuthMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verifyAuthMessage.d.ts","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/verifyAuthMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EAEzC,MAAM,gCAAgC,CAAA;AAEvC,MAAM,MAAM,2BAA2B,GACrC,mCAAmC,GAAG;IACpC,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEH,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAClC,uBAAuB,GACvB,mBAAmB,GACnB,kCAAkC,GAClC,SAAS,CAAA;AAEb;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,EACP,GAAG,UAAU,EACd,EAAE,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAKpE"}
@@ -1,21 +0,0 @@
1
- import { defineChain } from '../../utils/chain/defineChain.js'
2
-
3
- export const scrollTestnet = /*#__PURE__*/ defineChain({
4
- id: 534_353,
5
- name: 'Scroll Testnet',
6
- nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
7
- rpcUrls: {
8
- default: {
9
- http: ['https://alpha-rpc.scroll.io/l2'],
10
- webSocket: ['wss://alpha-rpc.scroll.io/l2/ws'],
11
- },
12
- },
13
- blockExplorers: {
14
- default: {
15
- name: 'Blockscout',
16
- url: 'https://blockscout.scroll.io',
17
- apiUrl: 'https://blockscout.scroll.io/api',
18
- },
19
- },
20
- testnet: true,
21
- })
@@ -1,151 +0,0 @@
1
- import type { Address } from 'abitype'
2
- import { getTransactionCount } from '../../../actions/public/getTransactionCount.js'
3
- import type { Client } from '../../../clients/createClient.js'
4
- import type { Transport } from '../../../clients/transports/createTransport.js'
5
- import { AccountNotFoundError } from '../../../errors/account.js'
6
- import type { ErrorType } from '../../../errors/utils.js'
7
- import type {
8
- Account,
9
- DeriveAccount,
10
- LocalAccount,
11
- } from '../../../types/account.js'
12
- import type { Chain, GetChainParameter } from '../../../types/chain.js'
13
- import type { Hash, Hex } from '../../../types/misc.js'
14
- import type { IsUndefined } from '../../../types/utils.js'
15
- import { getAction } from '../../../utils/getAction.js'
16
-
17
- // TODO: Use `GetAccountParameter` from `types/utils.ts` when JSON-RPC method for sign auth message exists.
18
- type GetAccountParameter<
19
- account extends Account | undefined = Account | undefined,
20
- accountOverride extends Account | Address | undefined = Account | Address,
21
- > = IsUndefined<account> extends true
22
- ? { account: accountOverride | LocalAccount }
23
- : account extends LocalAccount
24
- ? {
25
- account?: accountOverride | LocalAccount | undefined
26
- }
27
- : { account: accountOverride | LocalAccount }
28
-
29
- type GetNonceParameter<account extends Account | Address | undefined> =
30
- account extends Address | Account
31
- ? {
32
- nonce?: number | undefined
33
- }
34
- : {
35
- nonce: number
36
- }
37
-
38
- export type SignAuthMessageParameters<
39
- chain extends Chain | undefined = Chain | undefined,
40
- account extends Account | undefined = Account | undefined,
41
- chainOverride extends Chain | undefined = Chain | undefined,
42
- accountOverride extends Account | Address | undefined = Account | Address,
43
- > = {
44
- commit: Hash
45
- invokerAddress: Address
46
- } & GetAccountParameter<account, accountOverride> &
47
- GetChainParameter<chain, chainOverride> &
48
- GetNonceParameter<DeriveAccount<account, accountOverride>>
49
-
50
- export type SignAuthMessageReturnType = Hex
51
-
52
- export type SignAuthMessageErrorType = ErrorType
53
-
54
- /**
55
- * Calculates an [EIP-3074](https://eips.ethereum.org/EIPS/eip-3074) auth signature.
56
- *
57
- * With the calculated signature, you can:
58
- * - pass it to an EIP-3074 compatible invoker contract,
59
- * - use [`verifyAuthMessage`](/experimental/eip3074/verifyAuthMessage) to verify the signature,
60
- * - use [`recoverAuthMessageAddress`](/experimental/eip3074/recoverAuthMessageAddress) to recover the signing address from a signature.
61
- *
62
- * @param client - Client to use
63
- * @param parameters - {@link SignAuthMessageParameters}
64
- * @returns The signed auth message. {@link SignAuthMessageReturnType}
65
- *
66
- * @example
67
- * import { createWalletClient, http } from 'viem'
68
- * import { privateKeyToAccount } from 'viem/accounts'
69
- * import { mainnet } from 'viem/chains'
70
- * import { signAuthMessage } from 'viem/experimental'
71
- *
72
- * const account = privateKeyToAccount('0x...')
73
- *
74
- * const client = createWalletClient({
75
- * chain: mainnet,
76
- * transport: http(),
77
- * })
78
- *
79
- * const signature = await signAuthMessage(client, {
80
- * account,
81
- * chainId: 1,
82
- * commit: keccak256('0x1234'),
83
- * invokerAddress: '0x0000000000000000000000000000000000000000',
84
- * nonce: 69,
85
- * })
86
- *
87
- * @example
88
- * // Account Hoisting
89
- * import { createWalletClient, http } from 'viem'
90
- * import { privateKeyToAccount } from 'viem/accounts'
91
- * import { mainnet } from 'viem/chains'
92
- * import { signAuthMessage } from 'viem/experimental'
93
- *
94
- * const client = createWalletClient({
95
- * account: privateKeyToAccount('0x…'),
96
- * chain: mainnet,
97
- * transport: http(),
98
- * })
99
- *
100
- * const signature = await signAuthMessage(client, {
101
- * chainId: 1,
102
- * commit: keccak256('0x1234'),
103
- * invokerAddress: '0x0000000000000000000000000000000000000000',
104
- * nonce: 69,
105
- * })
106
- */
107
- export async function signAuthMessage<
108
- chain extends Chain | undefined,
109
- account extends Account | undefined,
110
- chainOverride extends Chain | undefined = undefined,
111
- accountOverride extends Account | undefined = undefined,
112
- >(
113
- client: Client<Transport, chain, account>,
114
- parameters: SignAuthMessageParameters<
115
- chain,
116
- account,
117
- chainOverride,
118
- accountOverride
119
- >,
120
- ): Promise<SignAuthMessageReturnType> {
121
- const {
122
- account = client.account,
123
- chain = client.chain,
124
- commit,
125
- invokerAddress,
126
- } = parameters
127
-
128
- if (!account)
129
- throw new AccountNotFoundError({
130
- docsPath: '/experimental/eip5792/signAuthMessage',
131
- })
132
-
133
- const nonce = await (() => {
134
- if (typeof parameters.nonce === 'number') return parameters.nonce
135
- return getAction(
136
- client,
137
- getTransactionCount,
138
- 'getTransactionCount',
139
- )({
140
- address: account.address,
141
- blockTag: 'pending',
142
- })
143
- })()
144
-
145
- return account.experimental_signAuthMessage!({
146
- chainId: chain!.id,
147
- commit,
148
- invokerAddress,
149
- nonce,
150
- })
151
- }