viem 2.13.10 → 2.14.1

Sign up to get free protection for your applications and to get access to all the features.
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"}