viem 2.13.10 → 2.14.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 (86) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/_cjs/actions/index.js +5 -4
  3. package/_cjs/actions/index.js.map +1 -1
  4. package/_cjs/actions/public/call.js +45 -2
  5. package/_cjs/actions/public/call.js.map +1 -1
  6. package/_cjs/actions/public/{getBytecode.js → getCode.js} +4 -4
  7. package/_cjs/actions/public/getCode.js.map +1 -0
  8. package/_cjs/actions/public/getEip712Domain.js +3 -1
  9. package/_cjs/actions/public/getEip712Domain.js.map +1 -1
  10. package/_cjs/actions/public/readContract.js.map +1 -1
  11. package/_cjs/actions/public/simulateContract.js.map +1 -1
  12. package/_cjs/actions/wallet/writeContract.js.map +1 -1
  13. package/_cjs/clients/decorators/public.js +3 -2
  14. package/_cjs/clients/decorators/public.js.map +1 -1
  15. package/_cjs/constants/contracts.js +3 -1
  16. package/_cjs/constants/contracts.js.map +1 -1
  17. package/_cjs/errors/contract.js +19 -1
  18. package/_cjs/errors/contract.js.map +1 -1
  19. package/_cjs/errors/version.js +1 -1
  20. package/_cjs/errors/version.js.map +1 -1
  21. package/_cjs/index.js +6 -5
  22. package/_cjs/index.js.map +1 -1
  23. package/_esm/actions/index.js +3 -1
  24. package/_esm/actions/index.js.map +1 -1
  25. package/_esm/actions/public/call.js +50 -3
  26. package/_esm/actions/public/call.js.map +1 -1
  27. package/_esm/actions/public/{getBytecode.js → getCode.js} +7 -7
  28. package/_esm/actions/public/getCode.js.map +1 -0
  29. package/_esm/actions/public/getEip712Domain.js +4 -2
  30. package/_esm/actions/public/getEip712Domain.js.map +1 -1
  31. package/_esm/actions/public/readContract.js.map +1 -1
  32. package/_esm/actions/public/simulateContract.js.map +1 -1
  33. package/_esm/actions/wallet/writeContract.js.map +1 -1
  34. package/_esm/clients/decorators/public.js +3 -2
  35. package/_esm/clients/decorators/public.js.map +1 -1
  36. package/_esm/constants/contracts.js +2 -0
  37. package/_esm/constants/contracts.js.map +1 -1
  38. package/_esm/errors/contract.js +17 -0
  39. package/_esm/errors/contract.js.map +1 -1
  40. package/_esm/errors/version.js +1 -1
  41. package/_esm/errors/version.js.map +1 -1
  42. package/_esm/index.js +1 -1
  43. package/_esm/index.js.map +1 -1
  44. package/_types/actions/index.d.ts +9 -1
  45. package/_types/actions/index.d.ts.map +1 -1
  46. package/_types/actions/public/call.d.ts +14 -2
  47. package/_types/actions/public/call.d.ts.map +1 -1
  48. package/_types/actions/public/{getBytecode.d.ts → getCode.d.ts} +10 -10
  49. package/_types/actions/public/getCode.d.ts.map +1 -0
  50. package/_types/actions/public/getEip712Domain.d.ts +4 -3
  51. package/_types/actions/public/getEip712Domain.d.ts.map +1 -1
  52. package/_types/actions/public/readContract.d.ts +1 -1
  53. package/_types/actions/public/readContract.d.ts.map +1 -1
  54. package/_types/actions/public/simulateContract.d.ts +1 -1
  55. package/_types/actions/public/simulateContract.d.ts.map +1 -1
  56. package/_types/actions/wallet/writeContract.d.ts +1 -1
  57. package/_types/actions/wallet/writeContract.d.ts.map +1 -1
  58. package/_types/clients/decorators/public.d.ts +19 -17
  59. package/_types/clients/decorators/public.d.ts.map +1 -1
  60. package/_types/constants/contracts.d.ts +2 -0
  61. package/_types/constants/contracts.d.ts.map +1 -1
  62. package/_types/errors/contract.d.ts +9 -0
  63. package/_types/errors/contract.d.ts.map +1 -1
  64. package/_types/errors/version.d.ts +1 -1
  65. package/_types/errors/version.d.ts.map +1 -1
  66. package/_types/index.d.ts +9 -3
  67. package/_types/index.d.ts.map +1 -1
  68. package/_types/types/contract.d.ts +6 -2
  69. package/_types/types/contract.d.ts.map +1 -1
  70. package/actions/index.ts +14 -6
  71. package/actions/public/call.ts +96 -3
  72. package/actions/public/{getBytecode.ts → getCode.ts} +11 -11
  73. package/actions/public/getEip712Domain.ts +14 -4
  74. package/actions/public/readContract.ts +11 -3
  75. package/actions/public/simulateContract.ts +8 -1
  76. package/actions/wallet/writeContract.ts +1 -0
  77. package/clients/decorators/public.ts +25 -22
  78. package/constants/contracts.ts +6 -0
  79. package/errors/contract.ts +22 -0
  80. package/errors/version.ts +1 -1
  81. package/index.ts +14 -4
  82. package/package.json +1 -1
  83. package/types/contract.ts +5 -2
  84. package/_cjs/actions/public/getBytecode.js.map +0 -1
  85. package/_esm/actions/public/getBytecode.js.map +0 -1
  86. package/_types/actions/public/getBytecode.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../types/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../types/contract.ts"],"names":[],"mappings":"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"}
package/actions/index.ts CHANGED
@@ -126,17 +126,25 @@ export {
126
126
  type GetBlockTransactionCountReturnType,
127
127
  getBlockTransactionCount,
128
128
  } from './public/getBlockTransactionCount.js'
129
- export {
130
- type GetBytecodeErrorType,
131
- type GetBytecodeParameters,
132
- type GetBytecodeReturnType,
133
- getBytecode,
134
- } from './public/getBytecode.js'
135
129
  export {
136
130
  type GetChainIdErrorType,
137
131
  type GetChainIdReturnType,
138
132
  getChainId,
139
133
  } from './public/getChainId.js'
134
+ export {
135
+ /** @deprecated Use `GetCodeErrorType` instead */
136
+ type GetCodeErrorType as GetBytecodeErrorType,
137
+ /** @deprecated Use `GetCodeParameters` instead */
138
+ type GetCodeParameters as GetBytecodeParameters,
139
+ /** @deprecated Use `GetCodeReturnType` instead */
140
+ type GetCodeReturnType as GetBytecodeReturnType,
141
+ /** @deprecated Use `getCode` instead */
142
+ getCode as getBytecode,
143
+ type GetCodeErrorType,
144
+ type GetCodeParameters,
145
+ type GetCodeReturnType,
146
+ getCode,
147
+ } from './public/getCode.js'
140
148
  export {
141
149
  type GetContractEventsErrorType,
142
150
  type GetContractEventsParameters,
@@ -1,4 +1,4 @@
1
- import type { Address } from 'abitype'
1
+ import { type Address, parseAbi } from 'abitype'
2
2
 
3
3
  import type { Account } from '../../accounts/types.js'
4
4
  import {
@@ -9,12 +9,17 @@ import type { Client } from '../../clients/createClient.js'
9
9
  import type { Transport } from '../../clients/transports/createTransport.js'
10
10
  import { multicall3Abi } from '../../constants/abis.js'
11
11
  import { aggregate3Signature } from '../../constants/contract.js'
12
+ import {
13
+ deploylessCallViaBytecodeBytecode,
14
+ deploylessCallViaFactoryBytecode,
15
+ } from '../../constants/contracts.js'
12
16
  import { BaseError } from '../../errors/base.js'
13
17
  import {
14
18
  ChainDoesNotSupportContract,
15
19
  ClientChainNotConfiguredError,
16
20
  } from '../../errors/chain.js'
17
21
  import {
22
+ CounterfactualDeploymentFailedError,
18
23
  RawContractError,
19
24
  type RawContractErrorType,
20
25
  } from '../../errors/contract.js'
@@ -30,6 +35,10 @@ import {
30
35
  type DecodeFunctionResultErrorType,
31
36
  decodeFunctionResult,
32
37
  } from '../../utils/abi/decodeFunctionResult.js'
38
+ import {
39
+ type EncodeDeployDataErrorType,
40
+ encodeDeployData,
41
+ } from '../../utils/abi/encodeDeployData.js'
33
42
  import {
34
43
  type EncodeFunctionDataErrorType,
35
44
  encodeFunctionData,
@@ -70,8 +79,17 @@ import type {
70
79
  export type CallParameters<
71
80
  TChain extends Chain | undefined = Chain | undefined,
72
81
  > = UnionOmit<FormattedCall<TChain>, 'from'> & {
82
+ /** Account attached to the call (msg.sender). */
73
83
  account?: Account | Address | undefined
84
+ /** Whether or not to enable multicall batching on this call. */
74
85
  batch?: boolean | undefined
86
+ /** Bytecode to perform the call on. */
87
+ code?: Hex | undefined
88
+ /** Contract deployment factory address (ie. Create2 factory, Smart Account factory, etc). */
89
+ factory?: Address | undefined
90
+ /** Calldata to execute on the factory to deploy the contract. */
91
+ factoryData?: Hex | undefined
92
+ /** State overrides for the call. */
75
93
  stateOverride?: StateOverride | undefined
76
94
  } & (
77
95
  | {
@@ -101,6 +119,8 @@ export type CallErrorType = GetCallErrorReturnType<
101
119
  | FormatTransactionRequestErrorType
102
120
  | ScheduleMulticallErrorType
103
121
  | RequestErrorType
122
+ | ToDeploylessCallViaBytecodeDataErrorType
123
+ | ToDeploylessCallViaFactoryDataErrorType
104
124
  >
105
125
 
106
126
  /**
@@ -139,7 +159,10 @@ export async function call<TChain extends Chain | undefined>(
139
159
  blockTag = 'latest',
140
160
  accessList,
141
161
  blobs,
142
- data,
162
+ code,
163
+ data: data_,
164
+ factory,
165
+ factoryData,
143
166
  gas,
144
167
  gasPrice,
145
168
  maxFeePerBlobGas,
@@ -153,6 +176,35 @@ export async function call<TChain extends Chain | undefined>(
153
176
  } = args
154
177
  const account = account_ ? parseAccount(account_) : undefined
155
178
 
179
+ if (code && (factory || factoryData))
180
+ throw new BaseError(
181
+ 'Cannot provide both `code` & `factory`/`factoryData` as parameters.',
182
+ )
183
+ if (code && to)
184
+ throw new BaseError('Cannot provide both `code` & `to` as parameters.')
185
+
186
+ // Check if the call is deployless via bytecode.
187
+ const deploylessCallViaBytecode = code && data_
188
+ // Check if the call is deployless via a factory.
189
+ const deploylessCallViaFactory = factory && factoryData && to && data_
190
+ const deploylessCall = deploylessCallViaBytecode || deploylessCallViaFactory
191
+
192
+ const data = (() => {
193
+ if (deploylessCallViaBytecode)
194
+ return toDeploylessCallViaBytecodeData({
195
+ code,
196
+ data: data_,
197
+ })
198
+ if (deploylessCallViaFactory)
199
+ return toDeploylessCallViaFactoryData({
200
+ data: data_,
201
+ factory,
202
+ factoryData,
203
+ to,
204
+ })
205
+ return data_
206
+ })()
207
+
156
208
  try {
157
209
  assertRequest(args as AssertRequestParameters)
158
210
 
@@ -177,7 +229,7 @@ export async function call<TChain extends Chain | undefined>(
177
229
  maxFeePerGas,
178
230
  maxPriorityFeePerGas,
179
231
  nonce,
180
- to,
232
+ to: deploylessCall ? undefined : to,
181
233
  value,
182
234
  } as TransactionRequest) as TransactionRequest
183
235
 
@@ -211,6 +263,8 @@ export async function call<TChain extends Chain | undefined>(
211
263
  return { data: response }
212
264
  } catch (err) {
213
265
  const data = getRevertErrorData(err)
266
+
267
+ // Check for CCIP-Read offchain lookup signature.
214
268
  const { offchainLookup, offchainLookupSignature } = await import(
215
269
  '../../utils/ccip.js'
216
270
  )
@@ -220,6 +274,11 @@ export async function call<TChain extends Chain | undefined>(
220
274
  to
221
275
  )
222
276
  return { data: await offchainLookup(client, { data, to }) }
277
+
278
+ // Check for counterfactual deployment error.
279
+ if (deploylessCall && data?.slice(0, 10) === '0x101bb98d')
280
+ throw new CounterfactualDeploymentFailedError({ factory })
281
+
223
282
  throw getCallError(err as ErrorType, {
224
283
  ...args,
225
284
  account,
@@ -343,6 +402,40 @@ async function scheduleMulticall<TChain extends Chain | undefined>(
343
402
  return { data: returnData }
344
403
  }
345
404
 
405
+ type ToDeploylessCallViaBytecodeDataErrorType =
406
+ | EncodeDeployDataErrorType
407
+ | ErrorType
408
+
409
+ function toDeploylessCallViaBytecodeData(parameters: {
410
+ code: Hex
411
+ data: Hex
412
+ }) {
413
+ const { code, data } = parameters
414
+ return encodeDeployData({
415
+ abi: parseAbi(['constructor(bytes, bytes)']),
416
+ bytecode: deploylessCallViaBytecodeBytecode,
417
+ args: [code, data],
418
+ })
419
+ }
420
+
421
+ type ToDeploylessCallViaFactoryDataErrorType =
422
+ | EncodeDeployDataErrorType
423
+ | ErrorType
424
+
425
+ function toDeploylessCallViaFactoryData(parameters: {
426
+ data: Hex
427
+ factory: Address
428
+ factoryData: Hex
429
+ to: Address
430
+ }) {
431
+ const { data, factory, factoryData, to } = parameters
432
+ return encodeDeployData({
433
+ abi: parseAbi(['constructor(address, bytes, address, bytes)']),
434
+ bytecode: deploylessCallViaFactoryBytecode,
435
+ args: [to, data, factory, factoryData],
436
+ })
437
+ }
438
+
346
439
  /** @internal */
347
440
  export type GetRevertErrorDataErrorType = ErrorType
348
441
 
@@ -12,7 +12,7 @@ import {
12
12
  numberToHex,
13
13
  } from '../../utils/encoding/toHex.js'
14
14
 
15
- export type GetBytecodeParameters = {
15
+ export type GetCodeParameters = {
16
16
  address: Address
17
17
  } & (
18
18
  | {
@@ -25,9 +25,9 @@ export type GetBytecodeParameters = {
25
25
  }
26
26
  )
27
27
 
28
- export type GetBytecodeReturnType = Hex | undefined
28
+ export type GetCodeReturnType = Hex | undefined
29
29
 
30
- export type GetBytecodeErrorType =
30
+ export type GetCodeErrorType =
31
31
  | NumberToHexErrorType
32
32
  | RequestErrorType
33
33
  | ErrorType
@@ -35,30 +35,30 @@ export type GetBytecodeErrorType =
35
35
  /**
36
36
  * Retrieves the bytecode at an address.
37
37
  *
38
- * - Docs: https://viem.sh/docs/contract/getBytecode
38
+ * - Docs: https://viem.sh/docs/contract/getCode
39
39
  * - JSON-RPC Methods: [`eth_getCode`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getcode)
40
40
  *
41
41
  * @param client - Client to use
42
- * @param parameters - {@link GetBytecodeParameters}
43
- * @returns The contract's bytecode. {@link GetBytecodeReturnType}
42
+ * @param parameters - {@link GetCodeParameters}
43
+ * @returns The contract's bytecode. {@link GetCodeReturnType}
44
44
  *
45
45
  * @example
46
46
  * import { createPublicClient, http } from 'viem'
47
47
  * import { mainnet } from 'viem/chains'
48
- * import { getBytecode } from 'viem/contract'
48
+ * import { getCode } from 'viem/contract'
49
49
  *
50
50
  * const client = createPublicClient({
51
51
  * chain: mainnet,
52
52
  * transport: http(),
53
53
  * })
54
- * const code = await getBytecode(client, {
54
+ * const code = await getCode(client, {
55
55
  * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
56
56
  * })
57
57
  */
58
- export async function getBytecode<TChain extends Chain | undefined>(
58
+ export async function getCode<TChain extends Chain | undefined>(
59
59
  client: Client<Transport, TChain>,
60
- { address, blockNumber, blockTag = 'latest' }: GetBytecodeParameters,
61
- ): Promise<GetBytecodeReturnType> {
60
+ { address, blockNumber, blockTag = 'latest' }: GetCodeParameters,
61
+ ): Promise<GetCodeReturnType> {
62
62
  const blockNumberHex =
63
63
  blockNumber !== undefined ? numberToHex(blockNumber) : undefined
64
64
  const hex = await client.request({
@@ -7,15 +7,23 @@ import {
7
7
  } from '../../errors/eip712.js'
8
8
  import type { ErrorType } from '../../errors/utils.js'
9
9
  import type { Hex } from '../../types/misc.js'
10
+ import type { RequiredBy } from '../../types/utils.js'
10
11
  import { getAction } from '../../utils/getAction.js'
11
- import { type ReadContractErrorType, readContract } from './readContract.js'
12
+ import {
13
+ type ReadContractErrorType,
14
+ type ReadContractParameters,
15
+ readContract,
16
+ } from './readContract.js'
12
17
 
13
18
  export type GetEip712DomainParameters = {
14
19
  address: Address
15
- }
20
+ } & Pick<ReadContractParameters, 'factory' | 'factoryData'>
16
21
 
17
22
  export type GetEip712DomainReturnType = {
18
- domain: TypedDataDomain
23
+ domain: RequiredBy<
24
+ TypedDataDomain,
25
+ 'chainId' | 'name' | 'verifyingContract' | 'version'
26
+ >
19
27
  fields: Hex
20
28
  extensions: readonly bigint[]
21
29
  }
@@ -61,7 +69,7 @@ export async function getEip712Domain(
61
69
  client: Client<Transport>,
62
70
  parameters: GetEip712DomainParameters,
63
71
  ): Promise<GetEip712DomainReturnType> {
64
- const { address } = parameters
72
+ const { address, factory, factoryData } = parameters
65
73
 
66
74
  try {
67
75
  const [
@@ -80,6 +88,8 @@ export async function getEip712Domain(
80
88
  abi,
81
89
  address,
82
90
  functionName: 'eip712Domain',
91
+ factory,
92
+ factoryData,
83
93
  })
84
94
 
85
95
  return {
@@ -40,9 +40,17 @@ export type ReadContractParameters<
40
40
  functionName
41
41
  > = ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
42
42
  > = UnionEvaluate<
43
- Pick<CallParameters, 'account' | 'blockNumber' | 'blockTag' | 'stateOverride'>
43
+ Pick<
44
+ CallParameters,
45
+ | 'account'
46
+ | 'blockNumber'
47
+ | 'blockTag'
48
+ | 'factory'
49
+ | 'factoryData'
50
+ | 'stateOverride'
51
+ >
44
52
  > &
45
- ContractFunctionParameters<abi, 'pure' | 'view', functionName, args>
53
+ ContractFunctionParameters<abi, 'pure' | 'view', functionName, args, boolean>
46
54
 
47
55
  export type ReadContractReturnType<
48
56
  abi extends Abi | readonly unknown[] = Abi,
@@ -116,7 +124,7 @@ export async function readContract<
116
124
  )({
117
125
  ...(rest as CallParameters),
118
126
  data: calldata,
119
- to: address,
127
+ to: address!,
120
128
  })
121
129
  return decodeFunctionResult({
122
130
  abi,
@@ -66,7 +66,14 @@ export type SimulateContractParameters<
66
66
  > &
67
67
  UnionOmit<
68
68
  CallParameters<derivedChain>,
69
- 'account' | 'batch' | 'to' | 'data' | 'value'
69
+ | 'account'
70
+ | 'batch'
71
+ | 'code'
72
+ | 'to'
73
+ | 'data'
74
+ | 'factory'
75
+ | 'factoryData'
76
+ | 'value'
70
77
  > &
71
78
  GetValue<
72
79
  abi,
@@ -53,6 +53,7 @@ export type WriteContractParameters<
53
53
  'nonpayable' | 'payable',
54
54
  functionName,
55
55
  args,
56
+ false,
56
57
  allFunctionNames
57
58
  > &
58
59
  GetChainParameter<chain, chainOverride> &
@@ -92,15 +92,15 @@ import {
92
92
  type GetBlockTransactionCountReturnType,
93
93
  getBlockTransactionCount,
94
94
  } from '../../actions/public/getBlockTransactionCount.js'
95
- import {
96
- type GetBytecodeParameters,
97
- type GetBytecodeReturnType,
98
- getBytecode,
99
- } from '../../actions/public/getBytecode.js'
100
95
  import {
101
96
  type GetChainIdReturnType,
102
97
  getChainId,
103
98
  } from '../../actions/public/getChainId.js'
99
+ import {
100
+ type GetCodeParameters,
101
+ type GetCodeReturnType,
102
+ getCode,
103
+ } from '../../actions/public/getCode.js'
104
104
  import {
105
105
  type GetContractEventsParameters,
106
106
  type GetContractEventsReturnType,
@@ -624,14 +624,15 @@ export type PublicActions<
624
624
  getBlockTransactionCount: (
625
625
  args?: GetBlockTransactionCountParameters | undefined,
626
626
  ) => Promise<GetBlockTransactionCountReturnType>
627
+ /** @deprecated Use `getCode` instead. */
628
+ getBytecode: (args: GetCodeParameters) => Promise<GetCodeReturnType>
627
629
  /**
628
- * Retrieves the bytecode at an address.
630
+ * Returns the chain ID associated with the current network.
629
631
  *
630
- * - Docs: https://viem.sh/docs/contract/getBytecode
631
- * - JSON-RPC Methods: [`eth_getCode`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getcode)
632
+ * - Docs: https://viem.sh/docs/actions/public/getChainId
633
+ * - JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid)
632
634
  *
633
- * @param args - {@link GetBytecodeParameters}
634
- * @returns The contract's bytecode. {@link GetBytecodeReturnType}
635
+ * @returns The current chain ID. {@link GetChainIdReturnType}
635
636
  *
636
637
  * @example
637
638
  * import { createPublicClient, http } from 'viem'
@@ -641,18 +642,18 @@ export type PublicActions<
641
642
  * chain: mainnet,
642
643
  * transport: http(),
643
644
  * })
644
- * const code = await client.getBytecode({
645
- * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
646
- * })
645
+ * const chainId = await client.getChainId()
646
+ * // 1
647
647
  */
648
- getBytecode: (args: GetBytecodeParameters) => Promise<GetBytecodeReturnType>
648
+ getChainId: () => Promise<GetChainIdReturnType>
649
649
  /**
650
- * Returns the chain ID associated with the current network.
650
+ * Retrieves the bytecode at an address.
651
651
  *
652
- * - Docs: https://viem.sh/docs/actions/public/getChainId
653
- * - JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid)
652
+ * - Docs: https://viem.sh/docs/contract/getCode
653
+ * - JSON-RPC Methods: [`eth_getCode`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getcode)
654
654
  *
655
- * @returns The current chain ID. {@link GetChainIdReturnType}
655
+ * @param args - {@link GetBytecodeParameters}
656
+ * @returns The contract's bytecode. {@link GetBytecodeReturnType}
656
657
  *
657
658
  * @example
658
659
  * import { createPublicClient, http } from 'viem'
@@ -662,10 +663,11 @@ export type PublicActions<
662
663
  * chain: mainnet,
663
664
  * transport: http(),
664
665
  * })
665
- * const chainId = await client.getChainId()
666
- * // 1
666
+ * const code = await client.getCode({
667
+ * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
668
+ * })
667
669
  */
668
- getChainId: () => Promise<GetChainIdReturnType>
670
+ getCode: (args: GetCodeParameters) => Promise<GetCodeReturnType>
669
671
  /**
670
672
  * Returns a list of event logs emitted by a contract.
671
673
  *
@@ -1853,8 +1855,9 @@ export function publicActions<
1853
1855
  getBlock: (args) => getBlock(client, args),
1854
1856
  getBlockNumber: (args) => getBlockNumber(client, args),
1855
1857
  getBlockTransactionCount: (args) => getBlockTransactionCount(client, args),
1856
- getBytecode: (args) => getBytecode(client, args),
1858
+ getBytecode: (args) => getCode(client, args),
1857
1859
  getChainId: () => getChainId(client),
1860
+ getCode: (args) => getCode(client, args),
1858
1861
  getContractEvents: (args) => getContractEvents(client, args),
1859
1862
  getEip712Domain: (args) => getEip712Domain(client, args),
1860
1863
  getEnsAddress: (args) => getEnsAddress(client, args),
@@ -1,2 +1,8 @@
1
+ export const deploylessCallViaBytecodeBytecode =
2
+ '0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe'
3
+
4
+ export const deploylessCallViaFactoryBytecode =
5
+ '0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe'
6
+
1
7
  export const universalSignatureValidatorByteCode =
2
8
  '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572'
@@ -278,6 +278,28 @@ export class ContractFunctionZeroDataError extends BaseError {
278
278
  }
279
279
  }
280
280
 
281
+ export type CounterfactualDeploymentFailedErrorType =
282
+ CounterfactualDeploymentFailedError & {
283
+ name: 'CounterfactualDeploymentFailedError'
284
+ }
285
+ export class CounterfactualDeploymentFailedError extends BaseError {
286
+ override name = 'CounterfactualDeploymentFailedError'
287
+ constructor({ factory }: { factory?: Address | undefined }) {
288
+ super(
289
+ `Deployment for counterfactual contract call failed${
290
+ factory ? ` for factory "${factory}".` : ''
291
+ }`,
292
+ {
293
+ metaMessages: [
294
+ 'Please ensure:',
295
+ '- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).',
296
+ '- The `factoryData` is a valid encoded function call for contract deployment function on the factory.',
297
+ ],
298
+ },
299
+ )
300
+ }
301
+ }
302
+
281
303
  export type RawContractErrorType = RawContractError & {
282
304
  name: 'RawContractError'
283
305
  }
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.13.10'
1
+ export const version = '2.14.1'
package/index.ts CHANGED
@@ -146,10 +146,16 @@ export type {
146
146
  GetBlockTransactionCountReturnType,
147
147
  } from './actions/public/getBlockTransactionCount.js'
148
148
  export type {
149
- GetBytecodeErrorType,
150
- GetBytecodeParameters,
151
- GetBytecodeReturnType,
152
- } from './actions/public/getBytecode.js'
149
+ /** @deprecated Use `GetCodeErrorType` instead */
150
+ GetCodeErrorType as GetBytecodeErrorType,
151
+ /** @deprecated Use `GetCodeParameters` instead */
152
+ GetCodeParameters as GetBytecodeParameters,
153
+ /** @deprecated Use `GetCodeReturnType` instead */
154
+ GetCodeReturnType as GetBytecodeReturnType,
155
+ GetCodeErrorType,
156
+ GetCodeParameters,
157
+ GetCodeReturnType,
158
+ } from './actions/public/getCode.js'
153
159
  export type {
154
160
  GetChainIdErrorType,
155
161
  GetChainIdReturnType,
@@ -720,6 +726,8 @@ export {
720
726
  type ContractFunctionZeroDataErrorType,
721
727
  RawContractError,
722
728
  type RawContractErrorType,
729
+ CounterfactualDeploymentFailedError,
730
+ type CounterfactualDeploymentFailedErrorType,
723
731
  } from './errors/contract.js'
724
732
  export {
725
733
  BaseFeeScalarError,
@@ -921,6 +929,8 @@ export type {
921
929
  LogTopicType,
922
930
  MaybeAbiEventName,
923
931
  MaybeExtractEventArgsFromAbi,
932
+ UnionWiden,
933
+ Widen,
924
934
  } from './types/contract.js'
925
935
  export type {
926
936
  AccessList,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.13.10",
4
+ "version": "2.14.1",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/types/contract.ts CHANGED
@@ -197,19 +197,22 @@ export type ContractFunctionParameters<
197
197
  mutability,
198
198
  functionName
199
199
  > = ContractFunctionArgs<abi, mutability, functionName>,
200
+ deployless extends boolean = false,
200
201
  ///
201
202
  allFunctionNames = ContractFunctionName<abi, mutability>,
202
203
  allArgs = ContractFunctionArgs<abi, mutability, functionName>,
203
204
  // when `args` is inferred to `readonly []` ("inputs": []) or `never` (`abi` declared as `Abi` or not inferrable), allow `args` to be optional.
204
205
  // important that both branches return same structural type
205
206
  > = {
206
- address: Address
207
207
  abi: abi
208
208
  functionName:
209
209
  | allFunctionNames // show all options
210
210
  | (functionName extends allFunctionNames ? functionName : never) // infer value
211
211
  args?: (abi extends Abi ? UnionWiden<args> : never) | allArgs | undefined
212
- } & (readonly [] extends allArgs ? {} : { args: Widen<args> })
212
+ } & (readonly [] extends allArgs ? {} : { args: Widen<args> }) &
213
+ (deployless extends true
214
+ ? { address?: undefined; code: Hex }
215
+ : { address: Address })
213
216
 
214
217
  export type ContractFunctionReturnType<
215
218
  abi extends Abi | readonly unknown[] = Abi,
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBytecode.js","sourceRoot":"","sources":["../../../actions/public/getBytecode.ts"],"names":[],"mappings":";;;AASA,4DAGsC;AA6C/B,KAAK,UAAU,WAAW,CAC/B,MAAiC,EACjC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAyB;IAEpE,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC;KAC9C,CAAC,CAAA;IACF,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAClC,OAAO,GAAG,CAAA;AACZ,CAAC;AAZD,kCAYC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBytecode.js","sourceRoot":"","sources":["../../../actions/public/getBytecode.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AAsBtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiC,EACjC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAyB;IAEpE,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC;KAC9C,CAAC,CAAA;IACF,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAClC,OAAO,GAAG,CAAA;AACZ,CAAC"}