viem 1.16.6 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/_cjs/actions/ens/getEnsAddress.js +2 -1
  3. package/_cjs/actions/ens/getEnsAddress.js.map +1 -1
  4. package/_cjs/actions/ens/getEnsAvatar.js +2 -1
  5. package/_cjs/actions/ens/getEnsAvatar.js.map +1 -1
  6. package/_cjs/actions/ens/getEnsName.js +2 -1
  7. package/_cjs/actions/ens/getEnsName.js.map +1 -1
  8. package/_cjs/actions/ens/getEnsResolver.js +2 -1
  9. package/_cjs/actions/ens/getEnsResolver.js.map +1 -1
  10. package/_cjs/actions/ens/getEnsText.js +2 -1
  11. package/_cjs/actions/ens/getEnsText.js.map +1 -1
  12. package/_cjs/actions/getContract.js +8 -7
  13. package/_cjs/actions/getContract.js.map +1 -1
  14. package/_cjs/actions/public/estimateContractGas.js +2 -1
  15. package/_cjs/actions/public/estimateContractGas.js.map +1 -1
  16. package/_cjs/actions/public/estimateFeesPerGas.js +3 -2
  17. package/_cjs/actions/public/estimateFeesPerGas.js.map +1 -1
  18. package/_cjs/actions/public/estimateMaxPriorityFeePerGas.js +4 -3
  19. package/_cjs/actions/public/estimateMaxPriorityFeePerGas.js.map +1 -1
  20. package/_cjs/actions/public/getContractEvents.js +2 -1
  21. package/_cjs/actions/public/getContractEvents.js.map +1 -1
  22. package/_cjs/actions/public/getTransactionConfirmations.js +3 -2
  23. package/_cjs/actions/public/getTransactionConfirmations.js.map +1 -1
  24. package/_cjs/actions/public/multicall.js +2 -1
  25. package/_cjs/actions/public/multicall.js.map +1 -1
  26. package/_cjs/actions/public/readContract.js +2 -1
  27. package/_cjs/actions/public/readContract.js.map +1 -1
  28. package/_cjs/actions/public/simulateContract.js +2 -1
  29. package/_cjs/actions/public/simulateContract.js.map +1 -1
  30. package/_cjs/actions/public/verifyHash.js +2 -1
  31. package/_cjs/actions/public/verifyHash.js.map +1 -1
  32. package/_cjs/actions/public/waitForTransactionReceipt.js +6 -5
  33. package/_cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  34. package/_cjs/actions/public/watchBlockNumber.js +2 -1
  35. package/_cjs/actions/public/watchBlockNumber.js.map +1 -1
  36. package/_cjs/actions/public/watchBlocks.js +4 -3
  37. package/_cjs/actions/public/watchBlocks.js.map +1 -1
  38. package/_cjs/actions/public/watchContractEvent.js +6 -5
  39. package/_cjs/actions/public/watchContractEvent.js.map +1 -1
  40. package/_cjs/actions/public/watchEvent.js +6 -5
  41. package/_cjs/actions/public/watchEvent.js.map +1 -1
  42. package/_cjs/actions/public/watchPendingTransactions.js +4 -3
  43. package/_cjs/actions/public/watchPendingTransactions.js.map +1 -1
  44. package/_cjs/actions/wallet/prepareTransactionRequest.js +4 -3
  45. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  46. package/_cjs/actions/wallet/sendTransaction.js +5 -4
  47. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  48. package/_cjs/actions/wallet/signTransaction.js +2 -1
  49. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  50. package/_cjs/actions/wallet/writeContract.js +2 -1
  51. package/_cjs/actions/wallet/writeContract.js.map +1 -1
  52. package/_cjs/chains/definitions/astarZkatana.js +36 -0
  53. package/_cjs/chains/definitions/astarZkatana.js.map +1 -0
  54. package/_cjs/chains/definitions/modeTestnet.js +6 -0
  55. package/_cjs/chains/definitions/modeTestnet.js.map +1 -1
  56. package/_cjs/chains/definitions/zoraSepolia.js +41 -0
  57. package/_cjs/chains/definitions/zoraSepolia.js.map +1 -0
  58. package/_cjs/chains/index.js +7 -3
  59. package/_cjs/chains/index.js.map +1 -1
  60. package/_cjs/clients/createClient.js.map +1 -1
  61. package/_cjs/errors/version.js +1 -1
  62. package/_cjs/utils/getAction.js +8 -0
  63. package/_cjs/utils/getAction.js.map +1 -0
  64. package/_esm/actions/ens/getEnsAddress.js +2 -1
  65. package/_esm/actions/ens/getEnsAddress.js.map +1 -1
  66. package/_esm/actions/ens/getEnsAvatar.js +2 -1
  67. package/_esm/actions/ens/getEnsAvatar.js.map +1 -1
  68. package/_esm/actions/ens/getEnsName.js +2 -1
  69. package/_esm/actions/ens/getEnsName.js.map +1 -1
  70. package/_esm/actions/ens/getEnsResolver.js +2 -1
  71. package/_esm/actions/ens/getEnsResolver.js.map +1 -1
  72. package/_esm/actions/ens/getEnsText.js +2 -1
  73. package/_esm/actions/ens/getEnsText.js.map +1 -1
  74. package/_esm/actions/getContract.js +8 -7
  75. package/_esm/actions/getContract.js.map +1 -1
  76. package/_esm/actions/public/estimateContractGas.js +2 -1
  77. package/_esm/actions/public/estimateContractGas.js.map +1 -1
  78. package/_esm/actions/public/estimateFeesPerGas.js +3 -2
  79. package/_esm/actions/public/estimateFeesPerGas.js.map +1 -1
  80. package/_esm/actions/public/estimateMaxPriorityFeePerGas.js +4 -3
  81. package/_esm/actions/public/estimateMaxPriorityFeePerGas.js.map +1 -1
  82. package/_esm/actions/public/getContractEvents.js +2 -1
  83. package/_esm/actions/public/getContractEvents.js.map +1 -1
  84. package/_esm/actions/public/getTransactionConfirmations.js +3 -2
  85. package/_esm/actions/public/getTransactionConfirmations.js.map +1 -1
  86. package/_esm/actions/public/multicall.js +2 -1
  87. package/_esm/actions/public/multicall.js.map +1 -1
  88. package/_esm/actions/public/readContract.js +2 -1
  89. package/_esm/actions/public/readContract.js.map +1 -1
  90. package/_esm/actions/public/simulateContract.js +2 -1
  91. package/_esm/actions/public/simulateContract.js.map +1 -1
  92. package/_esm/actions/public/verifyHash.js +2 -1
  93. package/_esm/actions/public/verifyHash.js.map +1 -1
  94. package/_esm/actions/public/waitForTransactionReceipt.js +6 -5
  95. package/_esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  96. package/_esm/actions/public/watchBlockNumber.js +2 -1
  97. package/_esm/actions/public/watchBlockNumber.js.map +1 -1
  98. package/_esm/actions/public/watchBlocks.js +4 -3
  99. package/_esm/actions/public/watchBlocks.js.map +1 -1
  100. package/_esm/actions/public/watchContractEvent.js +6 -5
  101. package/_esm/actions/public/watchContractEvent.js.map +1 -1
  102. package/_esm/actions/public/watchEvent.js +6 -5
  103. package/_esm/actions/public/watchEvent.js.map +1 -1
  104. package/_esm/actions/public/watchPendingTransactions.js +4 -3
  105. package/_esm/actions/public/watchPendingTransactions.js.map +1 -1
  106. package/_esm/actions/wallet/prepareTransactionRequest.js +4 -3
  107. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  108. package/_esm/actions/wallet/sendTransaction.js +5 -4
  109. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  110. package/_esm/actions/wallet/signTransaction.js +2 -1
  111. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  112. package/_esm/actions/wallet/writeContract.js +2 -1
  113. package/_esm/actions/wallet/writeContract.js.map +1 -1
  114. package/_esm/chains/definitions/astarZkatana.js +33 -0
  115. package/_esm/chains/definitions/astarZkatana.js.map +1 -0
  116. package/_esm/chains/definitions/modeTestnet.js +6 -0
  117. package/_esm/chains/definitions/modeTestnet.js.map +1 -1
  118. package/_esm/chains/definitions/zoraSepolia.js +38 -0
  119. package/_esm/chains/definitions/zoraSepolia.js.map +1 -0
  120. package/_esm/chains/index.js +2 -0
  121. package/_esm/chains/index.js.map +1 -1
  122. package/_esm/clients/createClient.js.map +1 -1
  123. package/_esm/errors/version.js +1 -1
  124. package/_esm/utils/getAction.js +4 -0
  125. package/_esm/utils/getAction.js.map +1 -0
  126. package/_types/actions/ens/getEnsAddress.d.ts.map +1 -1
  127. package/_types/actions/ens/getEnsAvatar.d.ts.map +1 -1
  128. package/_types/actions/ens/getEnsName.d.ts.map +1 -1
  129. package/_types/actions/ens/getEnsResolver.d.ts.map +1 -1
  130. package/_types/actions/ens/getEnsText.d.ts.map +1 -1
  131. package/_types/actions/getContract.d.ts.map +1 -1
  132. package/_types/actions/public/estimateContractGas.d.ts.map +1 -1
  133. package/_types/actions/public/estimateFeesPerGas.d.ts.map +1 -1
  134. package/_types/actions/public/estimateMaxPriorityFeePerGas.d.ts.map +1 -1
  135. package/_types/actions/public/getContractEvents.d.ts.map +1 -1
  136. package/_types/actions/public/getTransactionConfirmations.d.ts.map +1 -1
  137. package/_types/actions/public/multicall.d.ts.map +1 -1
  138. package/_types/actions/public/readContract.d.ts.map +1 -1
  139. package/_types/actions/public/simulateContract.d.ts.map +1 -1
  140. package/_types/actions/public/verifyHash.d.ts.map +1 -1
  141. package/_types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  142. package/_types/actions/public/watchBlockNumber.d.ts.map +1 -1
  143. package/_types/actions/public/watchBlocks.d.ts.map +1 -1
  144. package/_types/actions/public/watchContractEvent.d.ts.map +1 -1
  145. package/_types/actions/public/watchEvent.d.ts.map +1 -1
  146. package/_types/actions/public/watchPendingTransactions.d.ts.map +1 -1
  147. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  148. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  149. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  150. package/_types/actions/wallet/writeContract.d.ts.map +1 -1
  151. package/_types/chains/definitions/astarZkatana.d.ts +30 -0
  152. package/_types/chains/definitions/astarZkatana.d.ts.map +1 -0
  153. package/_types/chains/definitions/modeTestnet.d.ts +6 -0
  154. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  155. package/_types/chains/definitions/zoraSepolia.d.ts +331 -0
  156. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -0
  157. package/_types/chains/index.d.ts +2 -0
  158. package/_types/chains/index.d.ts.map +1 -1
  159. package/_types/clients/createClient.d.ts +6 -2
  160. package/_types/clients/createClient.d.ts.map +1 -1
  161. package/_types/errors/version.d.ts +1 -1
  162. package/_types/utils/getAction.d.ts +3 -0
  163. package/_types/utils/getAction.d.ts.map +1 -0
  164. package/actions/ens/getEnsAddress.ts +5 -1
  165. package/actions/ens/getEnsAvatar.ts +5 -1
  166. package/actions/ens/getEnsName.ts +5 -1
  167. package/actions/ens/getEnsResolver.ts +5 -1
  168. package/actions/ens/getEnsText.ts +5 -1
  169. package/actions/getContract.ts +29 -7
  170. package/actions/public/estimateContractGas.ts +5 -1
  171. package/actions/public/estimateFeesPerGas.ts +4 -2
  172. package/actions/public/estimateMaxPriorityFeePerGas.ts +4 -3
  173. package/actions/public/getContractEvents.ts +5 -1
  174. package/actions/public/getTransactionConfirmations.ts +3 -2
  175. package/actions/public/multicall.ts +5 -1
  176. package/actions/public/readContract.ts +5 -1
  177. package/actions/public/simulateContract.ts +5 -1
  178. package/actions/public/verifyHash.ts +5 -1
  179. package/actions/public/waitForTransactionReceipt.ts +19 -6
  180. package/actions/public/watchBlockNumber.ts +5 -1
  181. package/actions/public/watchBlocks.ts +10 -3
  182. package/actions/public/watchContractEvent.ts +12 -5
  183. package/actions/public/watchEvent.ts +12 -5
  184. package/actions/public/watchPendingTransactions.ts +7 -3
  185. package/actions/wallet/prepareTransactionRequest.ts +10 -3
  186. package/actions/wallet/sendTransaction.ts +11 -4
  187. package/actions/wallet/signTransaction.ts +2 -1
  188. package/actions/wallet/writeContract.ts +5 -1
  189. package/chains/definitions/astarZkatana.ts +33 -0
  190. package/chains/definitions/modeTestnet.ts +6 -0
  191. package/chains/definitions/zoraSepolia.ts +41 -0
  192. package/chains/index.ts +2 -0
  193. package/clients/createClient.ts +39 -2
  194. package/errors/version.ts +1 -1
  195. package/package.json +1 -1
  196. package/utils/getAction.ts +13 -0
@@ -0,0 +1,41 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+ import { formattersOptimism } from '../optimism/formatters.js'
3
+
4
+ export const zoraSepolia = /*#__PURE__*/ defineChain(
5
+ {
6
+ id: 999999999,
7
+ name: 'Zora Sepolia',
8
+ network: 'zora-sepolia',
9
+ nativeCurrency: {
10
+ decimals: 18,
11
+ name: 'Zora Sepolia',
12
+ symbol: 'ETH',
13
+ },
14
+ rpcUrls: {
15
+ default: {
16
+ http: ['https://sepolia.rpc.zora.energy'],
17
+ webSocket: ['wss://sepolia.rpc.zora.energy'],
18
+ },
19
+ public: {
20
+ http: ['https://sepolia.rpc.zora.energy'],
21
+ webSocket: ['wss://sepolia.rpc.zora.energy'],
22
+ },
23
+ },
24
+ blockExplorers: {
25
+ default: {
26
+ name: 'Zora Sepolia Explorer',
27
+ url: 'https://sepolia.explorer.zora.energy/',
28
+ },
29
+ },
30
+ contracts: {
31
+ multicall3: {
32
+ address: '0xcA11bde05977b3631167028862bE2a173976CA11',
33
+ blockCreated: 83160,
34
+ },
35
+ },
36
+ testnet: true,
37
+ },
38
+ {
39
+ formatters: formattersOptimism,
40
+ },
41
+ )
package/chains/index.ts CHANGED
@@ -4,6 +4,7 @@ export { arbitrum } from './definitions/arbitrum.js'
4
4
  export { arbitrumGoerli } from './definitions/arbitrumGoerli.js'
5
5
  export { arbitrumNova } from './definitions/arbitrumNova.js'
6
6
  export { arbitrumSepolia } from './definitions/arbitrumSepolia.js'
7
+ export { astarZkatana } from './definitions/astarZkatana.js'
7
8
  export { aurora } from './definitions/aurora.js'
8
9
  export { auroraTestnet } from './definitions/auroraTestnet.js'
9
10
  export { avalanche } from './definitions/avalanche.js'
@@ -146,4 +147,5 @@ export { zkSync } from './definitions/zkSync.js'
146
147
  export { zkSyncTestnet } from './definitions/zkSyncTestnet.js'
147
148
  export { zetachainAthensTestnet } from './definitions/zetachainAthensTestnet.js'
148
149
  export { zora } from './definitions/zora.js'
150
+ export { zoraSepolia } from './definitions/zoraSepolia.js'
149
151
  export { zoraTestnet } from './definitions/zoraTestnet.js'
@@ -1,8 +1,9 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import type { Account, JsonRpcAccount } from '../accounts/types.js'
3
+ import type { JsonRpcAccount } from '../accounts/types.js'
4
4
  import type { ParseAccountErrorType } from '../accounts/utils/parseAccount.js'
5
5
  import type { ErrorType } from '../errors/utils.js'
6
+ import type { Account } from '../types/account.js'
6
7
  import type { Chain } from '../types/chain.js'
7
8
  import type {
8
9
  EIP1193RequestFn,
@@ -12,6 +13,8 @@ import type {
12
13
  import type { Prettify } from '../types/utils.js'
13
14
  import { parseAccount } from '../utils/accounts.js'
14
15
  import { uid } from '../utils/uid.js'
16
+ import type { PublicActions } from './decorators/public.js'
17
+ import type { WalletActions } from './decorators/wallet.js'
15
18
  import type { Transport } from './transports/createTransport.js'
16
19
 
17
20
  export type ClientConfig<
@@ -53,6 +56,38 @@ export type ClientConfig<
53
56
  type?: string | undefined
54
57
  }
55
58
 
59
+ // Actions that are used internally by other Actions (ie. `call` is used by `readContract`).
60
+ // They are allowed to be extended, but must conform to their parameter & return type interfaces.
61
+ // Example: an extended `call` action must accept `CallParameters` as parameters,
62
+ // and conform to the `CallReturnType` return type.
63
+ type ExtendableProtectedActions = Pick<
64
+ PublicActions,
65
+ | 'call'
66
+ | 'createContractEventFilter'
67
+ | 'createEventFilter'
68
+ | 'estimateContractGas'
69
+ | 'estimateGas'
70
+ | 'getBlock'
71
+ | 'getBlockNumber'
72
+ | 'getChainId'
73
+ | 'getContractEvents'
74
+ | 'getEnsText'
75
+ | 'getFilterChanges'
76
+ | 'getGasPrice'
77
+ | 'getLogs'
78
+ | 'getTransaction'
79
+ | 'getTransactionCount'
80
+ | 'getTransactionReceipt'
81
+ | 'prepareTransactionRequest'
82
+ | 'readContract'
83
+ | 'sendRawTransaction'
84
+ | 'simulateContract'
85
+ | 'uninstallFilter'
86
+ | 'watchBlockNumber'
87
+ | 'watchContractEvent'
88
+ > &
89
+ Pick<WalletActions, 'sendTransaction' | 'writeContract'>
90
+
56
91
  // TODO: Move `transport` to slot index 2 since `chain` and `account` used more frequently.
57
92
  // Otherwise, we end up with a lot of `Client<Transport, chain, account>` in actions.
58
93
  export type Client<
@@ -63,7 +98,9 @@ export type Client<
63
98
  extended extends Extended | undefined = Extended | undefined,
64
99
  > = Client_Base<transport, chain, account, rpcSchema> &
65
100
  (extended extends Extended ? extended : unknown) & {
66
- extend: <const client extends Extended>(
101
+ extend: <
102
+ const client extends Extended & Partial<ExtendableProtectedActions>,
103
+ >(
67
104
  fn: (
68
105
  client: Client<transport, chain, account, rpcSchema, extended>,
69
106
  ) => client,
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.16.5'
1
+ export const version = '1.17.1'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "1.16.6",
4
+ "version": "1.17.1",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -0,0 +1,13 @@
1
+ import type { Client } from '../clients/createClient.js'
2
+
3
+ export function getAction<params extends {}, returnType extends {}>(
4
+ client: Client,
5
+ action: (_: any, params: params) => returnType,
6
+ ) {
7
+ return (params: params): returnType =>
8
+ (
9
+ client as Client & {
10
+ [key: string]: (params: params) => returnType
11
+ }
12
+ )[action.name]?.(params) ?? action(client, params)
13
+ }