viem 0.0.0-main.20230814T212021 → 0.0.0-multicall-types-20230815163843

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 (170) hide show
  1. package/dist/cjs/actions/getContract.js.map +1 -1
  2. package/dist/cjs/actions/public/multicall.js +3 -4
  3. package/dist/cjs/actions/public/multicall.js.map +1 -1
  4. package/dist/cjs/chains/index.js +1 -2
  5. package/dist/cjs/chains/index.js.map +1 -1
  6. package/dist/cjs/clients/decorators/public.js.map +1 -1
  7. package/dist/cjs/errors/version.js +1 -1
  8. package/dist/cjs/errors/version.js.map +1 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/utils/abi/decodeAbiParameters.js.map +1 -1
  11. package/dist/cjs/utils/abi/decodeDeployData.js.map +1 -1
  12. package/dist/cjs/utils/abi/decodeErrorResult.js.map +1 -1
  13. package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
  14. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  15. package/dist/cjs/utils/abi/encodeDeployData.js.map +1 -1
  16. package/dist/cjs/utils/abi/encodeEventTopics.js.map +1 -1
  17. package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
  18. package/dist/cjs/utils/poll.js +1 -1
  19. package/dist/cjs/utils/poll.js.map +1 -1
  20. package/dist/cjs/utils/typedData.js +2 -2
  21. package/dist/cjs/utils/typedData.js.map +1 -1
  22. package/dist/esm/actions/getContract.js.map +1 -1
  23. package/dist/esm/actions/public/multicall.js +3 -5
  24. package/dist/esm/actions/public/multicall.js.map +1 -1
  25. package/dist/esm/chains/index.js +0 -1
  26. package/dist/esm/chains/index.js.map +1 -1
  27. package/dist/esm/clients/decorators/public.js.map +1 -1
  28. package/dist/esm/errors/version.js +1 -1
  29. package/dist/esm/errors/version.js.map +1 -1
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
  32. package/dist/esm/utils/abi/decodeDeployData.js.map +1 -1
  33. package/dist/esm/utils/abi/decodeErrorResult.js.map +1 -1
  34. package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
  35. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  36. package/dist/esm/utils/abi/encodeDeployData.js.map +1 -1
  37. package/dist/esm/utils/abi/encodeEventTopics.js.map +1 -1
  38. package/dist/esm/utils/abi/encodePacked.js.map +1 -1
  39. package/dist/esm/utils/poll.js +1 -1
  40. package/dist/esm/utils/poll.js.map +1 -1
  41. package/dist/esm/utils/typedData.js +2 -2
  42. package/dist/esm/utils/typedData.js.map +1 -1
  43. package/dist/types/accounts/types.d.ts +1 -1
  44. package/dist/types/accounts/types.d.ts.map +1 -1
  45. package/dist/types/accounts/utils/signTypedData.d.ts +1 -1
  46. package/dist/types/accounts/utils/signTypedData.d.ts.map +1 -1
  47. package/dist/types/actions/getContract.d.ts +5 -5
  48. package/dist/types/actions/getContract.d.ts.map +1 -1
  49. package/dist/types/actions/public/createContractEventFilter.d.ts +3 -3
  50. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  51. package/dist/types/actions/public/createEventFilter.d.ts +5 -5
  52. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  53. package/dist/types/actions/public/estimateContractGas.d.ts +1 -1
  54. package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
  55. package/dist/types/actions/public/getFilterChanges.d.ts +1 -1
  56. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  57. package/dist/types/actions/public/getFilterLogs.d.ts +1 -1
  58. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  59. package/dist/types/actions/public/getLogs.d.ts +4 -4
  60. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  61. package/dist/types/actions/public/multicall.d.ts +5 -5
  62. package/dist/types/actions/public/multicall.d.ts.map +1 -1
  63. package/dist/types/actions/public/readContract.d.ts +1 -1
  64. package/dist/types/actions/public/readContract.d.ts.map +1 -1
  65. package/dist/types/actions/public/simulateContract.d.ts +1 -1
  66. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  67. package/dist/types/actions/public/watchContractEvent.d.ts +3 -3
  68. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  69. package/dist/types/actions/public/watchEvent.d.ts +4 -4
  70. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  71. package/dist/types/actions/wallet/deployContract.d.ts +3 -3
  72. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  73. package/dist/types/actions/wallet/signTypedData.d.ts +1 -1
  74. package/dist/types/actions/wallet/signTypedData.d.ts.map +1 -1
  75. package/dist/types/actions/wallet/writeContract.d.ts +1 -1
  76. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  77. package/dist/types/chains/index.d.ts +36 -154
  78. package/dist/types/chains/index.d.ts.map +1 -1
  79. package/dist/types/clients/decorators/public.d.ts +11 -11
  80. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  81. package/dist/types/clients/decorators/wallet.d.ts +3 -3
  82. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  83. package/dist/types/errors/version.d.ts +1 -1
  84. package/dist/types/errors/version.d.ts.map +1 -1
  85. package/dist/types/index.d.ts +1 -1
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/dist/types/types/contract.d.ts +2 -2
  88. package/dist/types/types/contract.d.ts.map +1 -1
  89. package/dist/types/types/multicall.d.ts +8 -8
  90. package/dist/types/types/multicall.d.ts.map +1 -1
  91. package/dist/types/types/typedData.d.ts +3 -3
  92. package/dist/types/types/typedData.d.ts.map +1 -1
  93. package/dist/types/utils/abi/decodeAbiParameters.d.ts +2 -2
  94. package/dist/types/utils/abi/decodeAbiParameters.d.ts.map +1 -1
  95. package/dist/types/utils/abi/decodeDeployData.d.ts +3 -3
  96. package/dist/types/utils/abi/decodeDeployData.d.ts.map +1 -1
  97. package/dist/types/utils/abi/decodeErrorResult.d.ts +3 -3
  98. package/dist/types/utils/abi/decodeErrorResult.d.ts.map +1 -1
  99. package/dist/types/utils/abi/decodeEventLog.d.ts +3 -3
  100. package/dist/types/utils/abi/decodeEventLog.d.ts.map +1 -1
  101. package/dist/types/utils/abi/decodeFunctionResult.d.ts +4 -4
  102. package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
  103. package/dist/types/utils/abi/encodeAbiParameters.d.ts +2 -2
  104. package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
  105. package/dist/types/utils/abi/encodeDeployData.d.ts +3 -3
  106. package/dist/types/utils/abi/encodeDeployData.d.ts.map +1 -1
  107. package/dist/types/utils/abi/encodeErrorResult.d.ts +4 -4
  108. package/dist/types/utils/abi/encodeErrorResult.d.ts.map +1 -1
  109. package/dist/types/utils/abi/encodeEventTopics.d.ts +4 -4
  110. package/dist/types/utils/abi/encodeEventTopics.d.ts.map +1 -1
  111. package/dist/types/utils/abi/encodeFunctionData.d.ts +4 -4
  112. package/dist/types/utils/abi/encodeFunctionData.d.ts.map +1 -1
  113. package/dist/types/utils/abi/encodeFunctionResult.d.ts +4 -4
  114. package/dist/types/utils/abi/encodeFunctionResult.d.ts.map +1 -1
  115. package/dist/types/utils/abi/encodePacked.d.ts +3 -3
  116. package/dist/types/utils/abi/encodePacked.d.ts.map +1 -1
  117. package/dist/types/utils/abi/getAbiItem.d.ts +3 -3
  118. package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
  119. package/dist/types/utils/signature/hashTypedData.d.ts +1 -1
  120. package/dist/types/utils/signature/hashTypedData.d.ts.map +1 -1
  121. package/dist/types/utils/signature/recoverTypedDataAddress.d.ts +1 -1
  122. package/dist/types/utils/signature/recoverTypedDataAddress.d.ts.map +1 -1
  123. package/dist/types/utils/signature/verifyTypedData.d.ts +1 -1
  124. package/dist/types/utils/signature/verifyTypedData.d.ts.map +1 -1
  125. package/dist/types/utils/typedData.d.ts +1 -1
  126. package/dist/types/utils/typedData.d.ts.map +1 -1
  127. package/package.json +3 -3
  128. package/src/accounts/types.ts +1 -1
  129. package/src/accounts/utils/signTypedData.ts +1 -1
  130. package/src/actions/getContract.ts +6 -5
  131. package/src/actions/public/createContractEventFilter.ts +3 -3
  132. package/src/actions/public/createEventFilter.ts +6 -6
  133. package/src/actions/public/estimateContractGas.ts +1 -1
  134. package/src/actions/public/getFilterChanges.ts +1 -1
  135. package/src/actions/public/getFilterLogs.ts +1 -1
  136. package/src/actions/public/getLogs.ts +5 -5
  137. package/src/actions/public/multicall.ts +19 -12
  138. package/src/actions/public/readContract.ts +1 -1
  139. package/src/actions/public/simulateContract.ts +1 -1
  140. package/src/actions/public/watchContractEvent.ts +3 -3
  141. package/src/actions/public/watchEvent.ts +5 -5
  142. package/src/actions/wallet/deployContract.ts +3 -3
  143. package/src/actions/wallet/signTypedData.ts +1 -1
  144. package/src/actions/wallet/writeContract.ts +1 -1
  145. package/src/chains/index.ts +0 -1
  146. package/src/clients/decorators/public.ts +20 -15
  147. package/src/clients/decorators/wallet.ts +3 -3
  148. package/src/errors/version.ts +1 -1
  149. package/src/index.ts +1 -0
  150. package/src/types/contract.ts +1 -2
  151. package/src/types/multicall.ts +14 -11
  152. package/src/types/typedData.ts +2 -3
  153. package/src/utils/abi/decodeAbiParameters.ts +7 -8
  154. package/src/utils/abi/decodeDeployData.ts +3 -3
  155. package/src/utils/abi/decodeErrorResult.ts +3 -8
  156. package/src/utils/abi/decodeEventLog.ts +3 -3
  157. package/src/utils/abi/decodeFunctionResult.ts +4 -6
  158. package/src/utils/abi/encodeAbiParameters.ts +8 -9
  159. package/src/utils/abi/encodeDeployData.ts +3 -3
  160. package/src/utils/abi/encodeErrorResult.ts +4 -4
  161. package/src/utils/abi/encodeEventTopics.ts +4 -9
  162. package/src/utils/abi/encodeFunctionData.ts +4 -4
  163. package/src/utils/abi/encodeFunctionResult.ts +4 -4
  164. package/src/utils/abi/encodePacked.ts +6 -8
  165. package/src/utils/abi/getAbiItem.ts +3 -3
  166. package/src/utils/poll.ts +1 -1
  167. package/src/utils/signature/hashTypedData.ts +1 -1
  168. package/src/utils/signature/recoverTypedDataAddress.ts +1 -1
  169. package/src/utils/signature/verifyTypedData.ts +1 -1
  170. package/src/utils/typedData.ts +2 -3
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiEvent, Address, ExtractAbiEvent, Narrow } from 'abitype'
1
+ import type { Abi, AbiEvent, Address, ExtractAbiEvent } from 'abitype'
2
2
 
3
3
  import type { Client } from '../../clients/createClient.js'
4
4
  import type { Transport } from '../../clients/transports/createTransport.js'
@@ -68,7 +68,7 @@ export type WatchContractEventParameters<
68
68
  /** The address of the contract. */
69
69
  address?: Address | Address[]
70
70
  /** Contract ABI. */
71
- abi: Narrow<TAbi>
71
+ abi: TAbi
72
72
  args?: GetEventArgs<TAbi, TEventName>
73
73
  /** Contract event. */
74
74
  eventName?: InferEventName<TAbi, TEventName>
@@ -137,7 +137,7 @@ export type WatchContractEventReturnType = () => void
137
137
  */
138
138
  export function watchContractEvent<
139
139
  TChain extends Chain | undefined,
140
- TAbi extends Abi | readonly unknown[],
140
+ const TAbi extends Abi | readonly unknown[],
141
141
  TEventName extends string,
142
142
  TStrict extends boolean | undefined = undefined,
143
143
  >(
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiEvent, Address, Narrow } from 'abitype'
1
+ import type { Abi, AbiEvent, Address } from 'abitype'
2
2
 
3
3
  import type { Client } from '../../clients/createClient.js'
4
4
  import type { Transport } from '../../clients/transports/createTransport.js'
@@ -107,7 +107,7 @@ export type WatchEventParameters<
107
107
  }) &
108
108
  (
109
109
  | {
110
- event: Narrow<TAbiEvent>
110
+ event: TAbiEvent
111
111
  events?: never
112
112
  args?: MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
113
113
  /**
@@ -118,7 +118,7 @@ export type WatchEventParameters<
118
118
  }
119
119
  | {
120
120
  event?: never
121
- events?: Narrow<TAbiEvents>
121
+ events?: TAbiEvents
122
122
  args?: never
123
123
  /**
124
124
  * Whether or not the logs must match the indexed/non-indexed arguments on `event`.
@@ -170,8 +170,8 @@ export type WatchEventReturnType = () => void
170
170
  */
171
171
  export function watchEvent<
172
172
  TChain extends Chain | undefined,
173
- TAbiEvent extends AbiEvent | undefined = undefined,
174
- TAbiEvents extends
173
+ const TAbiEvent extends AbiEvent | undefined = undefined,
174
+ const TAbiEvents extends
175
175
  | readonly AbiEvent[]
176
176
  | readonly unknown[]
177
177
  | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
@@ -1,4 +1,4 @@
1
- import type { Abi, Narrow } from 'abitype'
1
+ import type { Abi } from 'abitype'
2
2
 
3
3
  import type { Account } from '../../accounts/types.js'
4
4
  import type { Client } from '../../clients/createClient.js'
@@ -24,7 +24,7 @@ export type DeployContractParameters<
24
24
  SendTransactionParameters<TChain, TAccount, TChainOverride>,
25
25
  'accessList' | 'chain' | 'to' | 'data'
26
26
  > & {
27
- abi: Narrow<TAbi>
27
+ abi: TAbi
28
28
  bytecode: Hex
29
29
  } & GetChain<TChain, TChainOverride> &
30
30
  GetConstructorArgs<TAbi>
@@ -59,7 +59,7 @@ export type DeployContractReturnType = SendTransactionReturnType
59
59
  * })
60
60
  */
61
61
  export function deployContract<
62
- TAbi extends Abi | readonly unknown[],
62
+ const TAbi extends Abi | readonly unknown[],
63
63
  TChain extends Chain | undefined,
64
64
  TAccount extends Account | undefined,
65
65
  TChainOverride extends Chain | undefined,
@@ -121,7 +121,7 @@ export type SignTypedDataReturnType = Hex
121
121
  * })
122
122
  */
123
123
  export async function signTypedData<
124
- TTypedData extends TypedData | { [key: string]: unknown },
124
+ const TTypedData extends TypedData | { [key: string]: unknown },
125
125
  TPrimaryType extends string,
126
126
  TChain extends Chain | undefined,
127
127
  TAccount extends Account | undefined,
@@ -104,7 +104,7 @@ export type WriteContractReturnType = SendTransactionReturnType
104
104
  export async function writeContract<
105
105
  TChain extends Chain | undefined,
106
106
  TAccount extends Account | undefined,
107
- TAbi extends Abi | readonly unknown[],
107
+ const TAbi extends Abi | readonly unknown[],
108
108
  TFunctionName extends string,
109
109
  TChainOverride extends Chain | undefined,
110
110
  >(
@@ -94,7 +94,6 @@ export const polygonZkEvmTestnet = /*#__PURE__*/ defineChain(
94
94
  )
95
95
  export const pulsechain = /*#__PURE__*/ defineChain(chains.pulsechain)
96
96
  export const pulsechainV4 = /*#__PURE__*/ defineChain(chains.pulsechainV4)
97
- export const scrollSepolia = /*#__PURE__*/ defineChain(chains.scrollSepolia)
98
97
  export const scrollTestnet = /*#__PURE__*/ defineChain(chains.scrollTestnet)
99
98
  export const sepolia = /*#__PURE__*/ defineChain(chains.sepolia)
100
99
  export const skaleBlockBrawlers = /*#__PURE__*/ defineChain(
@@ -278,7 +278,7 @@ export type PublicActions<
278
278
  * })
279
279
  */
280
280
  createContractEventFilter: <
281
- TAbi extends Abi | readonly unknown[],
281
+ const TAbi extends Abi | readonly unknown[],
282
282
  TEventName extends string | undefined,
283
283
  TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,
284
284
  TStrict extends boolean | undefined = undefined,
@@ -325,8 +325,8 @@ export type PublicActions<
325
325
  * })
326
326
  */
327
327
  createEventFilter: <
328
- TAbiEvent extends AbiEvent | undefined = undefined,
329
- TAbiEvents extends
328
+ const TAbiEvent extends AbiEvent | undefined = undefined,
329
+ const TAbiEvents extends
330
330
  | readonly AbiEvent[]
331
331
  | readonly unknown[]
332
332
  | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
@@ -406,7 +406,7 @@ export type PublicActions<
406
406
  */
407
407
  estimateContractGas: <
408
408
  TChain extends Chain | undefined,
409
- TAbi extends Abi | readonly unknown[],
409
+ const TAbi extends Abi | readonly unknown[],
410
410
  TFunctionName extends string,
411
411
  >(
412
412
  args: EstimateContractGasParameters<TAbi, TFunctionName, TChain, TAccount>,
@@ -844,7 +844,7 @@ export type PublicActions<
844
844
  */
845
845
  getFilterChanges: <
846
846
  TFilterType extends FilterType,
847
- TAbi extends Abi | readonly unknown[] | undefined,
847
+ const TAbi extends Abi | readonly unknown[] | undefined,
848
848
  TEventName extends string | undefined,
849
849
  TStrict extends boolean | undefined = undefined,
850
850
  TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
@@ -895,7 +895,7 @@ export type PublicActions<
895
895
  * const logs = await client.getFilterLogs({ filter })
896
896
  */
897
897
  getFilterLogs: <
898
- TAbi extends Abi | readonly unknown[] | undefined,
898
+ const TAbi extends Abi | readonly unknown[] | undefined,
899
899
  TEventName extends string | undefined,
900
900
  TStrict extends boolean | undefined = undefined,
901
901
  TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
@@ -951,8 +951,8 @@ export type PublicActions<
951
951
  * const logs = await client.getLogs()
952
952
  */
953
953
  getLogs: <
954
- TAbiEvent extends AbiEvent | undefined = undefined,
955
- TAbiEvents extends
954
+ const TAbiEvent extends AbiEvent | undefined = undefined,
955
+ const TAbiEvents extends
956
956
  | readonly AbiEvent[]
957
957
  | readonly unknown[]
958
958
  | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
@@ -1133,7 +1133,12 @@ export type PublicActions<
1133
1133
  * // [{ result: 424122n, status: 'success' }, { result: 1000000n, status: 'success' }]
1134
1134
  */
1135
1135
  multicall: <
1136
- TContracts extends ContractFunctionConfig[],
1136
+ const TAbi extends Abi | readonly unknown[],
1137
+ TFunctionName extends string,
1138
+ const TContracts extends readonly ContractFunctionConfig<
1139
+ TAbi,
1140
+ TFunctionName
1141
+ >[],
1137
1142
  TAllowFailure extends boolean = true,
1138
1143
  >(
1139
1144
  args: MulticallParameters<TContracts, TAllowFailure>,
@@ -1170,7 +1175,7 @@ export type PublicActions<
1170
1175
  * // 424122n
1171
1176
  */
1172
1177
  readContract: <
1173
- TAbi extends Abi | readonly unknown[],
1178
+ const TAbi extends Abi | readonly unknown[],
1174
1179
  TFunctionName extends string,
1175
1180
  >(
1176
1181
  args: ReadContractParameters<TAbi, TFunctionName>,
@@ -1206,7 +1211,7 @@ export type PublicActions<
1206
1211
  * })
1207
1212
  */
1208
1213
  simulateContract: <
1209
- TAbi extends Abi | readonly unknown[],
1214
+ const TAbi extends Abi | readonly unknown[],
1210
1215
  TFunctionName extends string,
1211
1216
  TChainOverride extends Chain | undefined,
1212
1217
  >(
@@ -1383,7 +1388,7 @@ export type PublicActions<
1383
1388
  * })
1384
1389
  */
1385
1390
  watchContractEvent: <
1386
- TAbi extends Abi | readonly unknown[],
1391
+ const TAbi extends Abi | readonly unknown[],
1387
1392
  TEventName extends string,
1388
1393
  TStrict extends boolean | undefined = undefined,
1389
1394
  >(
@@ -1421,8 +1426,8 @@ export type PublicActions<
1421
1426
  * })
1422
1427
  */
1423
1428
  watchEvent: <
1424
- TAbiEvent extends AbiEvent | undefined = undefined,
1425
- TAbiEvents extends
1429
+ const TAbiEvent extends AbiEvent | undefined = undefined,
1430
+ const TAbiEvents extends
1426
1431
  | readonly AbiEvent[]
1427
1432
  | readonly unknown[]
1428
1433
  | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
@@ -1502,7 +1507,7 @@ export function publicActions<
1502
1507
  getTransactionConfirmations(client, args),
1503
1508
  getTransactionCount: (args) => getTransactionCount(client, args),
1504
1509
  getTransactionReceipt: (args) => getTransactionReceipt(client, args),
1505
- multicall: (args) => multicall(client, args),
1510
+ multicall: (args) => multicall(client, args as any) as any,
1506
1511
  readContract: (args) => readContract(client, args),
1507
1512
  simulateContract: (args) => simulateContract(client, args),
1508
1513
  verifyMessage: (args) => verifyMessage(client, args),
@@ -112,7 +112,7 @@ export type WalletActions<
112
112
  * })
113
113
  */
114
114
  deployContract: <
115
- TAbi extends Abi | readonly unknown[],
115
+ const TAbi extends Abi | readonly unknown[],
116
116
  TChainOverride extends Chain | undefined,
117
117
  >(
118
118
  args: DeployContractParameters<TAbi, TChain, TAccount, TChainOverride>,
@@ -410,7 +410,7 @@ export type WalletActions<
410
410
  * })
411
411
  */
412
412
  signTypedData: <
413
- TTypedData extends TypedData | { [key: string]: unknown },
413
+ const TTypedData extends TypedData | { [key: string]: unknown },
414
414
  TPrimaryType extends string,
415
415
  >(
416
416
  args: SignTypedDataParameters<TTypedData, TPrimaryType, TAccount>,
@@ -509,7 +509,7 @@ export type WalletActions<
509
509
  * const hash = await client.writeContract(request)
510
510
  */
511
511
  writeContract: <
512
- TAbi extends Abi | readonly unknown[],
512
+ const TAbi extends Abi | readonly unknown[],
513
513
  TFunctionName extends string,
514
514
  TChainOverride extends Chain | undefined,
515
515
  >(
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20230814T212021'
1
+ export const version = '1.5.4'
package/src/index.ts CHANGED
@@ -633,6 +633,7 @@ export type { GetTransportConfig } from './types/transport.js'
633
633
  export type { HDKey } from '@scure/bip32'
634
634
  export type { Log } from './types/log.js'
635
635
  export type {
636
+ MulticallContract,
636
637
  MulticallContracts,
637
638
  MulticallResult,
638
639
  MulticallResults,
@@ -15,7 +15,6 @@ import type {
15
15
  ExtractAbiEventNames,
16
16
  ExtractAbiFunction,
17
17
  ExtractAbiFunctionNames,
18
- Narrow,
19
18
  } from 'abitype'
20
19
 
21
20
  import type { Hex, LogTopic } from './misc.js'
@@ -38,7 +37,7 @@ export type ContractFunctionConfig<
38
37
  TAbiStateMutability extends AbiStateMutability = AbiStateMutability,
39
38
  > = {
40
39
  /** Contract ABI */
41
- abi: Narrow<TAbi>
40
+ abi: TAbi
42
41
  /** Contract address */
43
42
  address: Address
44
43
  /** Function to invoke on the contract */
@@ -1,4 +1,4 @@
1
- import type { Abi } from 'abitype'
1
+ import type { Abi, ExtractAbiFunctionNames } from 'abitype'
2
2
 
3
3
  import type {
4
4
  ContractFunctionConfig,
@@ -7,13 +7,16 @@ import type {
7
7
 
8
8
  type MAXIMUM_DEPTH = 20
9
9
 
10
- export type Contract<
10
+ export type MulticallContract<
11
11
  TAbi extends Abi | readonly unknown[] = Abi | readonly unknown[],
12
- TFunctionName extends string = string,
12
+ TFunctionName extends ExtractAbiFunctionNames<
13
+ TAbi extends Abi ? TAbi : Abi,
14
+ 'pure' | 'view'
15
+ > = string,
13
16
  > = { abi: TAbi; functionName: TFunctionName }
14
17
 
15
18
  export type MulticallContracts<
16
- TContracts extends Contract[],
19
+ TContracts extends readonly MulticallContract[],
17
20
  TProperties extends Record<string, any> = object,
18
21
  Result extends any[] = [],
19
22
  Depth extends readonly number[] = [],
@@ -21,14 +24,14 @@ export type MulticallContracts<
21
24
  ? (ContractFunctionConfig & TProperties)[]
22
25
  : TContracts extends []
23
26
  ? []
24
- : TContracts extends [infer Head extends Contract]
27
+ : TContracts extends [infer Head extends MulticallContract]
25
28
  ? [
26
29
  ...Result,
27
30
  ContractFunctionConfig<Head['abi'], Head['functionName']> & TProperties,
28
31
  ]
29
32
  : TContracts extends [
30
- infer Head extends Contract,
31
- ...infer Tail extends Contract[],
33
+ infer Head extends MulticallContract,
34
+ ...infer Tail extends readonly MulticallContract[],
32
35
  ]
33
36
  ? MulticallContracts<
34
37
  [...Tail],
@@ -65,7 +68,7 @@ export type MulticallResult<
65
68
  : Result
66
69
 
67
70
  export type MulticallResults<
68
- TContracts extends Contract[],
71
+ TContracts extends readonly MulticallContract[],
69
72
  TAllowFailure extends boolean = true,
70
73
  Result extends any[] = [],
71
74
  Depth extends readonly number[] = [],
@@ -73,7 +76,7 @@ export type MulticallResults<
73
76
  ? MulticallResult<ContractFunctionResult, TAllowFailure>[]
74
77
  : TContracts extends []
75
78
  ? []
76
- : TContracts extends [infer Head extends Contract]
79
+ : TContracts extends [infer Head extends MulticallContract]
77
80
  ? [
78
81
  ...Result,
79
82
  MulticallResult<
@@ -82,8 +85,8 @@ export type MulticallResults<
82
85
  >,
83
86
  ]
84
87
  : TContracts extends [
85
- infer Head extends Contract,
86
- ...infer Tail extends Contract[],
88
+ infer Head extends MulticallContract,
89
+ ...infer Tail extends readonly MulticallContract[],
87
90
  ]
88
91
  ? MulticallResults<
89
92
  [...Tail],
@@ -1,5 +1,4 @@
1
1
  import type {
2
- Narrow,
3
2
  TypedData,
4
3
  TypedDataDomain,
5
4
  TypedDataToPrimitiveTypes,
@@ -74,8 +73,8 @@ export type GetTypedDataTypes<
74
73
  TPrimaryType extends string = string,
75
74
  > = TPrimaryType extends 'EIP712Domain'
76
75
  ? {
77
- types?: Narrow<TTypedData>
76
+ types?: TTypedData
78
77
  }
79
78
  : {
80
- types: Narrow<TTypedData>
79
+ types: TTypedData
81
80
  }
@@ -2,7 +2,6 @@ import type {
2
2
  AbiParameter,
3
3
  AbiParameterToPrimitiveType,
4
4
  AbiParametersToPrimitiveTypes,
5
- Narrow,
6
5
  } from 'abitype'
7
6
 
8
7
  import {
@@ -33,8 +32,8 @@ export type DecodeAbiParametersReturnType<
33
32
  >
34
33
 
35
34
  export function decodeAbiParameters<
36
- TParams extends readonly AbiParameter[] | readonly unknown[],
37
- >(params: Narrow<TParams>, data: Hex): DecodeAbiParametersReturnType<TParams> {
35
+ const TParams extends readonly AbiParameter[] | readonly unknown[],
36
+ >(params: TParams, data: Hex): DecodeAbiParametersReturnType<TParams> {
38
37
  if (data === '0x' && (params as unknown[]).length > 0)
39
38
  throw new AbiDecodingZeroDataError()
40
39
  if (size(data) && size(data) < 32)
@@ -53,7 +52,7 @@ export function decodeAbiParameters<
53
52
 
54
53
  type TupleAbiParameter = AbiParameter & { components: readonly AbiParameter[] }
55
54
 
56
- function decodeParams<TParams extends readonly AbiParameter[]>({
55
+ function decodeParams<const TParams extends readonly AbiParameter[]>({
57
56
  data,
58
57
  params,
59
58
  }: { data: Hex; params: TParams }) {
@@ -126,7 +125,7 @@ function decodeAddress(value: Hex) {
126
125
  return { consumed: 32, value: checksumAddress(slice(value, -20)) }
127
126
  }
128
127
 
129
- function decodeArray<TParam extends AbiParameter>(
128
+ function decodeArray<const TParam extends AbiParameter>(
130
129
  data: Hex,
131
130
  {
132
131
  param,
@@ -211,7 +210,7 @@ function decodeBool(value: Hex) {
211
210
  return { consumed: 32, value: hexToBool(value) }
212
211
  }
213
212
 
214
- function decodeBytes<TParam extends AbiParameter>(
213
+ function decodeBytes<const TParam extends AbiParameter>(
215
214
  data: Hex,
216
215
  { param, position }: { param: TParam; position: number },
217
216
  ) {
@@ -239,7 +238,7 @@ function decodeBytes<TParam extends AbiParameter>(
239
238
  return { consumed: 32, value }
240
239
  }
241
240
 
242
- function decodeNumber<TParam extends AbiParameter>(
241
+ function decodeNumber<const TParam extends AbiParameter>(
243
242
  value: Hex,
244
243
  { param }: { param: TParam },
245
244
  ) {
@@ -268,7 +267,7 @@ function decodeString(data: Hex, { position }: { position: number }) {
268
267
  }
269
268
 
270
269
  function decodeTuple<
271
- TParam extends AbiParameter & { components: readonly AbiParameter[] },
270
+ const TParam extends AbiParameter & { components: readonly AbiParameter[] },
272
271
  >(data: Hex, { param, position }: { param: TParam; position: number }) {
273
272
  // Tuples can have unnamed components (i.e. they are arrays), so we must
274
273
  // determine whether the tuple is named or unnamed. In the case of a named
@@ -1,4 +1,4 @@
1
- import type { Abi, Narrow } from 'abitype'
1
+ import type { Abi } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiConstructorNotFoundError,
@@ -14,7 +14,7 @@ const docsPath = '/docs/contract/decodeDeployData'
14
14
  export type DecodeDeployDataParameters<
15
15
  TAbi extends Abi | readonly unknown[] = Abi,
16
16
  > = {
17
- abi: Narrow<TAbi>
17
+ abi: TAbi
18
18
  bytecode: Hex
19
19
  data: Hex
20
20
  }
@@ -24,7 +24,7 @@ export type DecodeDeployDataReturnType<
24
24
  bytecode: Hex
25
25
  } & GetConstructorArgs<TAbi>
26
26
 
27
- export function decodeDeployData<TAbi extends Abi | readonly unknown[]>({
27
+ export function decodeDeployData<const TAbi extends Abi | readonly unknown[]>({
28
28
  abi,
29
29
  bytecode,
30
30
  data,
@@ -1,9 +1,4 @@
1
- import type {
2
- Abi,
3
- ExtractAbiError,
4
- ExtractAbiErrorNames,
5
- Narrow,
6
- } from 'abitype'
1
+ import type { Abi, ExtractAbiError, ExtractAbiErrorNames } from 'abitype'
7
2
 
8
3
  import { solidityError, solidityPanic } from '../../constants/solidity.js'
9
4
  import {
@@ -20,7 +15,7 @@ import { formatAbiItem } from './formatAbiItem.js'
20
15
 
21
16
  export type DecodeErrorResultParameters<
22
17
  TAbi extends Abi | readonly unknown[] = Abi,
23
- > = { abi?: Narrow<TAbi>; data: Hex }
18
+ > = { abi?: TAbi; data: Hex }
24
19
 
25
20
  export type DecodeErrorResultReturnType<
26
21
  TAbi extends Abi | readonly unknown[] = Abi,
@@ -37,7 +32,7 @@ export type DecodeErrorResultReturnType<
37
32
  }
38
33
  }[_ErrorNames]
39
34
 
40
- export function decodeErrorResult<TAbi extends Abi | readonly unknown[]>({
35
+ export function decodeErrorResult<const TAbi extends Abi | readonly unknown[]>({
41
36
  abi,
42
37
  data,
43
38
  }: DecodeErrorResultParameters<TAbi>): DecodeErrorResultReturnType<TAbi> {
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiParameter, ExtractAbiEventNames, Narrow } from 'abitype'
1
+ import type { Abi, AbiParameter, ExtractAbiEventNames } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiDecodingDataSizeTooSmallError,
@@ -26,7 +26,7 @@ export type DecodeEventLogParameters<
26
26
  TData extends Hex | undefined = undefined,
27
27
  TStrict extends boolean = true,
28
28
  > = {
29
- abi: Narrow<TAbi>
29
+ abi: TAbi
30
30
  data?: TData
31
31
  eventName?: InferEventName<TAbi, TEventName>
32
32
  strict?: TStrict
@@ -61,7 +61,7 @@ export type DecodeEventLogReturnType<
61
61
  const docsPath = '/docs/contract/decodeEventLog'
62
62
 
63
63
  export function decodeEventLog<
64
- TAbi extends Abi | readonly unknown[],
64
+ const TAbi extends Abi | readonly unknown[],
65
65
  TEventName extends string | undefined = undefined,
66
66
  TTopics extends Hex[] = Hex[],
67
67
  TData extends Hex | undefined = undefined,
@@ -1,4 +1,4 @@
1
- import type { Abi, ExtractAbiFunctionNames, Narrow } from 'abitype'
1
+ import type { Abi, ExtractAbiFunctionNames } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiFunctionNotFoundError,
@@ -25,11 +25,9 @@ export type DecodeFunctionResultParameters<
25
25
  functionName?: _FunctionName
26
26
  data: Hex
27
27
  } & (TFunctionName extends string
28
- ? { abi: Narrow<TAbi> } & Partial<GetFunctionArgs<TAbi, TFunctionName>>
28
+ ? { abi: TAbi } & Partial<GetFunctionArgs<TAbi, TFunctionName>>
29
29
  : _FunctionName extends string
30
- ? { abi: [Narrow<TAbi[number]>] } & Partial<
31
- GetFunctionArgs<TAbi, _FunctionName>
32
- >
30
+ ? { abi: [TAbi[number]] } & Partial<GetFunctionArgs<TAbi, _FunctionName>>
33
31
  : never)
34
32
 
35
33
  export type DecodeFunctionResultReturnType<
@@ -45,7 +43,7 @@ export type DecodeFunctionResultReturnType<
45
43
  : ContractFunctionResult<TAbi, _FunctionName>
46
44
 
47
45
  export function decodeFunctionResult<
48
- TAbi extends Abi | readonly unknown[],
46
+ const TAbi extends Abi | readonly unknown[],
49
47
  TFunctionName extends string | undefined = undefined,
50
48
  >({
51
49
  abi,
@@ -2,7 +2,6 @@ import type {
2
2
  AbiParameter,
3
3
  AbiParameterToPrimitiveType,
4
4
  AbiParametersToPrimitiveTypes,
5
- Narrow,
6
5
  } from 'abitype'
7
6
 
8
7
  import {
@@ -27,9 +26,9 @@ export type EncodeAbiParametersReturnType = Hex
27
26
  * @description Encodes a list of primitive values into an ABI-encoded hex value.
28
27
  */
29
28
  export function encodeAbiParameters<
30
- TParams extends readonly AbiParameter[] | readonly unknown[],
29
+ const TParams extends readonly AbiParameter[] | readonly unknown[],
31
30
  >(
32
- params: Narrow<TParams>,
31
+ params: TParams,
33
32
  values: TParams extends readonly AbiParameter[]
34
33
  ? AbiParametersToPrimitiveTypes<TParams>
35
34
  : never,
@@ -56,11 +55,11 @@ type PreparedParam = { dynamic: boolean; encoded: Hex }
56
55
  type TupleAbiParameter = AbiParameter & { components: readonly AbiParameter[] }
57
56
  type Tuple = AbiParameterToPrimitiveType<TupleAbiParameter>
58
57
 
59
- function prepareParams<TParams extends readonly AbiParameter[]>({
58
+ function prepareParams<const TParams extends readonly AbiParameter[]>({
60
59
  params,
61
60
  values,
62
61
  }: {
63
- params: Narrow<TParams>
62
+ params: TParams
64
63
  values: AbiParametersToPrimitiveTypes<TParams>
65
64
  }) {
66
65
  const preparedParams: PreparedParam[] = []
@@ -70,7 +69,7 @@ function prepareParams<TParams extends readonly AbiParameter[]>({
70
69
  return preparedParams
71
70
  }
72
71
 
73
- function prepareParam<TParam extends AbiParameter>({
72
+ function prepareParam<const TParam extends AbiParameter>({
74
73
  param,
75
74
  value,
76
75
  }: {
@@ -145,7 +144,7 @@ function encodeAddress(value: Hex): PreparedParam {
145
144
  return { dynamic: false, encoded: padHex(value.toLowerCase() as Hex) }
146
145
  }
147
146
 
148
- function encodeArray<TParam extends AbiParameter>(
147
+ function encodeArray<const TParam extends AbiParameter>(
149
148
  value: AbiParameterToPrimitiveType<TParam>,
150
149
  {
151
150
  length,
@@ -190,7 +189,7 @@ function encodeArray<TParam extends AbiParameter>(
190
189
  }
191
190
  }
192
191
 
193
- function encodeBytes<TParam extends AbiParameter>(
192
+ function encodeBytes<const TParam extends AbiParameter>(
194
193
  value: Hex,
195
194
  { param }: { param: TParam },
196
195
  ): PreparedParam {
@@ -256,7 +255,7 @@ function encodeString(value: string): PreparedParam {
256
255
  }
257
256
 
258
257
  function encodeTuple<
259
- TParam extends AbiParameter & { components: readonly AbiParameter[] },
258
+ const TParam extends AbiParameter & { components: readonly AbiParameter[] },
260
259
  >(
261
260
  value: AbiParameterToPrimitiveType<TParam>,
262
261
  { param }: { param: TParam },
@@ -1,4 +1,4 @@
1
- import type { Abi, Narrow } from 'abitype'
1
+ import type { Abi } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiConstructorNotFoundError,
@@ -15,11 +15,11 @@ const docsPath = '/docs/contract/encodeDeployData'
15
15
  export type EncodeDeployDataParameters<
16
16
  TAbi extends Abi | readonly unknown[] = Abi,
17
17
  > = {
18
- abi: Narrow<TAbi>
18
+ abi: TAbi
19
19
  bytecode: Hex
20
20
  } & GetConstructorArgs<TAbi>
21
21
 
22
- export function encodeDeployData<TAbi extends Abi | readonly unknown[]>({
22
+ export function encodeDeployData<const TAbi extends Abi | readonly unknown[]>({
23
23
  abi,
24
24
  args,
25
25
  bytecode,
@@ -1,4 +1,4 @@
1
- import type { Abi, Narrow } from 'abitype'
1
+ import type { Abi } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiErrorInputsNotFoundError,
@@ -26,13 +26,13 @@ export type EncodeErrorResultParameters<
26
26
  > = {
27
27
  errorName?: _ErrorName
28
28
  } & (TErrorName extends string
29
- ? { abi: Narrow<TAbi> } & GetErrorArgs<TAbi, TErrorName>
29
+ ? { abi: TAbi } & GetErrorArgs<TAbi, TErrorName>
30
30
  : _ErrorName extends string
31
- ? { abi: [Narrow<TAbi[number]>] } & GetErrorArgs<TAbi, _ErrorName>
31
+ ? { abi: [TAbi[number]] } & GetErrorArgs<TAbi, _ErrorName>
32
32
  : never)
33
33
 
34
34
  export function encodeErrorResult<
35
- TAbi extends Abi | readonly unknown[],
35
+ const TAbi extends Abi | readonly unknown[],
36
36
  TErrorName extends string | undefined = undefined,
37
37
  >({ abi, errorName, args }: EncodeErrorResultParameters<TAbi, TErrorName>) {
38
38
  let abiItem = abi[0] as AbiItem