viem 0.0.0-main.20230814T205407 → 0.0.0-main.20230814T211804

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 (160) hide show
  1. package/dist/cjs/actions/getContract.js.map +1 -1
  2. package/dist/cjs/actions/public/multicall.js +6 -5
  3. package/dist/cjs/actions/public/multicall.js.map +1 -1
  4. package/dist/cjs/clients/decorators/public.js.map +1 -1
  5. package/dist/cjs/errors/version.js +1 -1
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/utils/abi/decodeAbiParameters.js.map +1 -1
  8. package/dist/cjs/utils/abi/decodeDeployData.js.map +1 -1
  9. package/dist/cjs/utils/abi/decodeErrorResult.js.map +1 -1
  10. package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
  11. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  12. package/dist/cjs/utils/abi/encodeDeployData.js.map +1 -1
  13. package/dist/cjs/utils/abi/encodeEventTopics.js.map +1 -1
  14. package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
  15. package/dist/cjs/utils/poll.js +1 -1
  16. package/dist/cjs/utils/poll.js.map +1 -1
  17. package/dist/cjs/utils/typedData.js +2 -2
  18. package/dist/cjs/utils/typedData.js.map +1 -1
  19. package/dist/esm/actions/getContract.js.map +1 -1
  20. package/dist/esm/actions/public/multicall.js +7 -5
  21. package/dist/esm/actions/public/multicall.js.map +1 -1
  22. package/dist/esm/clients/decorators/public.js.map +1 -1
  23. package/dist/esm/errors/version.js +1 -1
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
  26. package/dist/esm/utils/abi/decodeDeployData.js.map +1 -1
  27. package/dist/esm/utils/abi/decodeErrorResult.js.map +1 -1
  28. package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
  29. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  30. package/dist/esm/utils/abi/encodeDeployData.js.map +1 -1
  31. package/dist/esm/utils/abi/encodeEventTopics.js.map +1 -1
  32. package/dist/esm/utils/abi/encodePacked.js.map +1 -1
  33. package/dist/esm/utils/poll.js +1 -1
  34. package/dist/esm/utils/poll.js.map +1 -1
  35. package/dist/esm/utils/typedData.js +2 -2
  36. package/dist/esm/utils/typedData.js.map +1 -1
  37. package/dist/types/accounts/types.d.ts +1 -1
  38. package/dist/types/accounts/types.d.ts.map +1 -1
  39. package/dist/types/accounts/utils/signTypedData.d.ts +1 -1
  40. package/dist/types/accounts/utils/signTypedData.d.ts.map +1 -1
  41. package/dist/types/actions/getContract.d.ts +5 -5
  42. package/dist/types/actions/getContract.d.ts.map +1 -1
  43. package/dist/types/actions/public/createContractEventFilter.d.ts +3 -3
  44. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  45. package/dist/types/actions/public/createEventFilter.d.ts +5 -5
  46. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  47. package/dist/types/actions/public/estimateContractGas.d.ts +1 -1
  48. package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
  49. package/dist/types/actions/public/getFilterChanges.d.ts +1 -1
  50. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  51. package/dist/types/actions/public/getFilterLogs.d.ts +1 -1
  52. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  53. package/dist/types/actions/public/getLogs.d.ts +4 -4
  54. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  55. package/dist/types/actions/public/multicall.d.ts +6 -6
  56. package/dist/types/actions/public/multicall.d.ts.map +1 -1
  57. package/dist/types/actions/public/readContract.d.ts +1 -1
  58. package/dist/types/actions/public/readContract.d.ts.map +1 -1
  59. package/dist/types/actions/public/simulateContract.d.ts +1 -1
  60. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  61. package/dist/types/actions/public/watchContractEvent.d.ts +3 -3
  62. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  63. package/dist/types/actions/public/watchEvent.d.ts +4 -4
  64. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  65. package/dist/types/actions/wallet/deployContract.d.ts +3 -3
  66. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  67. package/dist/types/actions/wallet/signTypedData.d.ts +1 -1
  68. package/dist/types/actions/wallet/signTypedData.d.ts.map +1 -1
  69. package/dist/types/actions/wallet/writeContract.d.ts +1 -1
  70. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  71. package/dist/types/clients/decorators/public.d.ts +11 -11
  72. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  73. package/dist/types/clients/decorators/wallet.d.ts +3 -3
  74. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  75. package/dist/types/errors/version.d.ts +1 -1
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/dist/types/types/contract.d.ts +2 -2
  79. package/dist/types/types/contract.d.ts.map +1 -1
  80. package/dist/types/types/multicall.d.ts +8 -8
  81. package/dist/types/types/multicall.d.ts.map +1 -1
  82. package/dist/types/types/typedData.d.ts +3 -3
  83. package/dist/types/types/typedData.d.ts.map +1 -1
  84. package/dist/types/utils/abi/decodeAbiParameters.d.ts +2 -2
  85. package/dist/types/utils/abi/decodeAbiParameters.d.ts.map +1 -1
  86. package/dist/types/utils/abi/decodeDeployData.d.ts +3 -3
  87. package/dist/types/utils/abi/decodeDeployData.d.ts.map +1 -1
  88. package/dist/types/utils/abi/decodeErrorResult.d.ts +3 -3
  89. package/dist/types/utils/abi/decodeErrorResult.d.ts.map +1 -1
  90. package/dist/types/utils/abi/decodeEventLog.d.ts +3 -3
  91. package/dist/types/utils/abi/decodeEventLog.d.ts.map +1 -1
  92. package/dist/types/utils/abi/decodeFunctionResult.d.ts +4 -4
  93. package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
  94. package/dist/types/utils/abi/encodeAbiParameters.d.ts +2 -2
  95. package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
  96. package/dist/types/utils/abi/encodeDeployData.d.ts +3 -3
  97. package/dist/types/utils/abi/encodeDeployData.d.ts.map +1 -1
  98. package/dist/types/utils/abi/encodeErrorResult.d.ts +4 -4
  99. package/dist/types/utils/abi/encodeErrorResult.d.ts.map +1 -1
  100. package/dist/types/utils/abi/encodeEventTopics.d.ts +4 -4
  101. package/dist/types/utils/abi/encodeEventTopics.d.ts.map +1 -1
  102. package/dist/types/utils/abi/encodeFunctionData.d.ts +4 -4
  103. package/dist/types/utils/abi/encodeFunctionData.d.ts.map +1 -1
  104. package/dist/types/utils/abi/encodeFunctionResult.d.ts +4 -4
  105. package/dist/types/utils/abi/encodeFunctionResult.d.ts.map +1 -1
  106. package/dist/types/utils/abi/encodePacked.d.ts +3 -3
  107. package/dist/types/utils/abi/encodePacked.d.ts.map +1 -1
  108. package/dist/types/utils/abi/getAbiItem.d.ts +3 -3
  109. package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
  110. package/dist/types/utils/signature/hashTypedData.d.ts +1 -1
  111. package/dist/types/utils/signature/hashTypedData.d.ts.map +1 -1
  112. package/dist/types/utils/signature/recoverTypedDataAddress.d.ts +1 -1
  113. package/dist/types/utils/signature/recoverTypedDataAddress.d.ts.map +1 -1
  114. package/dist/types/utils/signature/verifyTypedData.d.ts +1 -1
  115. package/dist/types/utils/signature/verifyTypedData.d.ts.map +1 -1
  116. package/dist/types/utils/typedData.d.ts +1 -1
  117. package/dist/types/utils/typedData.d.ts.map +1 -1
  118. package/package.json +1 -1
  119. package/src/accounts/types.ts +1 -1
  120. package/src/accounts/utils/signTypedData.ts +1 -1
  121. package/src/actions/getContract.ts +5 -6
  122. package/src/actions/public/createContractEventFilter.ts +3 -3
  123. package/src/actions/public/createEventFilter.ts +6 -6
  124. package/src/actions/public/estimateContractGas.ts +1 -1
  125. package/src/actions/public/getFilterChanges.ts +1 -1
  126. package/src/actions/public/getFilterLogs.ts +1 -1
  127. package/src/actions/public/getLogs.ts +5 -5
  128. package/src/actions/public/multicall.ts +14 -17
  129. package/src/actions/public/readContract.ts +1 -1
  130. package/src/actions/public/simulateContract.ts +1 -1
  131. package/src/actions/public/watchContractEvent.ts +3 -3
  132. package/src/actions/public/watchEvent.ts +5 -5
  133. package/src/actions/wallet/deployContract.ts +3 -3
  134. package/src/actions/wallet/signTypedData.ts +1 -1
  135. package/src/actions/wallet/writeContract.ts +1 -1
  136. package/src/clients/decorators/public.ts +15 -20
  137. package/src/clients/decorators/wallet.ts +3 -3
  138. package/src/errors/version.ts +1 -1
  139. package/src/index.ts +0 -1
  140. package/src/types/contract.ts +2 -1
  141. package/src/types/multicall.ts +11 -14
  142. package/src/types/typedData.ts +3 -2
  143. package/src/utils/abi/decodeAbiParameters.ts +8 -7
  144. package/src/utils/abi/decodeDeployData.ts +3 -3
  145. package/src/utils/abi/decodeErrorResult.ts +8 -3
  146. package/src/utils/abi/decodeEventLog.ts +3 -3
  147. package/src/utils/abi/decodeFunctionResult.ts +6 -4
  148. package/src/utils/abi/encodeAbiParameters.ts +9 -8
  149. package/src/utils/abi/encodeDeployData.ts +3 -3
  150. package/src/utils/abi/encodeErrorResult.ts +4 -4
  151. package/src/utils/abi/encodeEventTopics.ts +9 -4
  152. package/src/utils/abi/encodeFunctionData.ts +4 -4
  153. package/src/utils/abi/encodeFunctionResult.ts +4 -4
  154. package/src/utils/abi/encodePacked.ts +8 -6
  155. package/src/utils/abi/getAbiItem.ts +3 -3
  156. package/src/utils/poll.ts +1 -1
  157. package/src/utils/signature/hashTypedData.ts +1 -1
  158. package/src/utils/signature/recoverTypedDataAddress.ts +1 -1
  159. package/src/utils/signature/verifyTypedData.ts +1 -1
  160. package/src/utils/typedData.ts +3 -2
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiParameter, ExtractAbiEventNames } from 'abitype'
1
+ import type { Abi, AbiParameter, ExtractAbiEventNames, Narrow } 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: TAbi
29
+ abi: Narrow<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
- const TAbi extends Abi | readonly unknown[],
64
+ 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 } from 'abitype'
1
+ import type { Abi, ExtractAbiFunctionNames, Narrow } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiFunctionNotFoundError,
@@ -25,9 +25,11 @@ export type DecodeFunctionResultParameters<
25
25
  functionName?: _FunctionName
26
26
  data: Hex
27
27
  } & (TFunctionName extends string
28
- ? { abi: TAbi } & Partial<GetFunctionArgs<TAbi, TFunctionName>>
28
+ ? { abi: Narrow<TAbi> } & Partial<GetFunctionArgs<TAbi, TFunctionName>>
29
29
  : _FunctionName extends string
30
- ? { abi: [TAbi[number]] } & Partial<GetFunctionArgs<TAbi, _FunctionName>>
30
+ ? { abi: [Narrow<TAbi[number]>] } & Partial<
31
+ GetFunctionArgs<TAbi, _FunctionName>
32
+ >
31
33
  : never)
32
34
 
33
35
  export type DecodeFunctionResultReturnType<
@@ -43,7 +45,7 @@ export type DecodeFunctionResultReturnType<
43
45
  : ContractFunctionResult<TAbi, _FunctionName>
44
46
 
45
47
  export function decodeFunctionResult<
46
- const TAbi extends Abi | readonly unknown[],
48
+ TAbi extends Abi | readonly unknown[],
47
49
  TFunctionName extends string | undefined = undefined,
48
50
  >({
49
51
  abi,
@@ -2,6 +2,7 @@ import type {
2
2
  AbiParameter,
3
3
  AbiParameterToPrimitiveType,
4
4
  AbiParametersToPrimitiveTypes,
5
+ Narrow,
5
6
  } from 'abitype'
6
7
 
7
8
  import {
@@ -26,9 +27,9 @@ export type EncodeAbiParametersReturnType = Hex
26
27
  * @description Encodes a list of primitive values into an ABI-encoded hex value.
27
28
  */
28
29
  export function encodeAbiParameters<
29
- const TParams extends readonly AbiParameter[] | readonly unknown[],
30
+ TParams extends readonly AbiParameter[] | readonly unknown[],
30
31
  >(
31
- params: TParams,
32
+ params: Narrow<TParams>,
32
33
  values: TParams extends readonly AbiParameter[]
33
34
  ? AbiParametersToPrimitiveTypes<TParams>
34
35
  : never,
@@ -55,11 +56,11 @@ type PreparedParam = { dynamic: boolean; encoded: Hex }
55
56
  type TupleAbiParameter = AbiParameter & { components: readonly AbiParameter[] }
56
57
  type Tuple = AbiParameterToPrimitiveType<TupleAbiParameter>
57
58
 
58
- function prepareParams<const TParams extends readonly AbiParameter[]>({
59
+ function prepareParams<TParams extends readonly AbiParameter[]>({
59
60
  params,
60
61
  values,
61
62
  }: {
62
- params: TParams
63
+ params: Narrow<TParams>
63
64
  values: AbiParametersToPrimitiveTypes<TParams>
64
65
  }) {
65
66
  const preparedParams: PreparedParam[] = []
@@ -69,7 +70,7 @@ function prepareParams<const TParams extends readonly AbiParameter[]>({
69
70
  return preparedParams
70
71
  }
71
72
 
72
- function prepareParam<const TParam extends AbiParameter>({
73
+ function prepareParam<TParam extends AbiParameter>({
73
74
  param,
74
75
  value,
75
76
  }: {
@@ -144,7 +145,7 @@ function encodeAddress(value: Hex): PreparedParam {
144
145
  return { dynamic: false, encoded: padHex(value.toLowerCase() as Hex) }
145
146
  }
146
147
 
147
- function encodeArray<const TParam extends AbiParameter>(
148
+ function encodeArray<TParam extends AbiParameter>(
148
149
  value: AbiParameterToPrimitiveType<TParam>,
149
150
  {
150
151
  length,
@@ -189,7 +190,7 @@ function encodeArray<const TParam extends AbiParameter>(
189
190
  }
190
191
  }
191
192
 
192
- function encodeBytes<const TParam extends AbiParameter>(
193
+ function encodeBytes<TParam extends AbiParameter>(
193
194
  value: Hex,
194
195
  { param }: { param: TParam },
195
196
  ): PreparedParam {
@@ -255,7 +256,7 @@ function encodeString(value: string): PreparedParam {
255
256
  }
256
257
 
257
258
  function encodeTuple<
258
- const TParam extends AbiParameter & { components: readonly AbiParameter[] },
259
+ TParam extends AbiParameter & { components: readonly AbiParameter[] },
259
260
  >(
260
261
  value: AbiParameterToPrimitiveType<TParam>,
261
262
  { param }: { param: TParam },
@@ -1,4 +1,4 @@
1
- import type { Abi } from 'abitype'
1
+ import type { Abi, Narrow } 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: TAbi
18
+ abi: Narrow<TAbi>
19
19
  bytecode: Hex
20
20
  } & GetConstructorArgs<TAbi>
21
21
 
22
- export function encodeDeployData<const TAbi extends Abi | readonly unknown[]>({
22
+ export function encodeDeployData<TAbi extends Abi | readonly unknown[]>({
23
23
  abi,
24
24
  args,
25
25
  bytecode,
@@ -1,4 +1,4 @@
1
- import type { Abi } from 'abitype'
1
+ import type { Abi, Narrow } 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: TAbi } & GetErrorArgs<TAbi, TErrorName>
29
+ ? { abi: Narrow<TAbi> } & GetErrorArgs<TAbi, TErrorName>
30
30
  : _ErrorName extends string
31
- ? { abi: [TAbi[number]] } & GetErrorArgs<TAbi, _ErrorName>
31
+ ? { abi: [Narrow<TAbi[number]>] } & GetErrorArgs<TAbi, _ErrorName>
32
32
  : never)
33
33
 
34
34
  export function encodeErrorResult<
35
- const TAbi extends Abi | readonly unknown[],
35
+ 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
@@ -1,4 +1,9 @@
1
- import type { Abi, AbiParameter, AbiParameterToPrimitiveType } from 'abitype'
1
+ import type {
2
+ Abi,
3
+ AbiParameter,
4
+ AbiParameterToPrimitiveType,
5
+ Narrow,
6
+ } from 'abitype'
2
7
 
3
8
  import { AbiEventNotFoundError } from '../../errors/abi.js'
4
9
  import { FilterTypeNotSupportedError } from '../../errors/log.js'
@@ -24,13 +29,13 @@ export type EncodeEventTopicsParameters<
24
29
  > = {
25
30
  eventName?: _EventName
26
31
  } & (TEventName extends string
27
- ? { abi: TAbi; args?: GetEventArgs<TAbi, TEventName> }
32
+ ? { abi: Narrow<TAbi>; args?: GetEventArgs<TAbi, TEventName> }
28
33
  : _EventName extends string
29
- ? { abi: [TAbi[number]]; args?: GetEventArgs<TAbi, _EventName> }
34
+ ? { abi: [Narrow<TAbi[number]>]; args?: GetEventArgs<TAbi, _EventName> }
30
35
  : never)
31
36
 
32
37
  export function encodeEventTopics<
33
- const TAbi extends Abi | readonly unknown[],
38
+ TAbi extends Abi | readonly unknown[],
34
39
  TEventName extends string | undefined = undefined,
35
40
  >({ abi, eventName, args }: EncodeEventTopicsParameters<TAbi, TEventName>) {
36
41
  let abiItem = abi[0] as AbiItem
@@ -1,4 +1,4 @@
1
- import type { Abi } from 'abitype'
1
+ import type { Abi, Narrow } from 'abitype'
2
2
 
3
3
  import { AbiFunctionNotFoundError } from '../../errors/abi.js'
4
4
  import type {
@@ -20,13 +20,13 @@ export type EncodeFunctionDataParameters<
20
20
  > = {
21
21
  functionName?: _FunctionName
22
22
  } & (TFunctionName extends string
23
- ? { abi: TAbi } & GetFunctionArgs<TAbi, TFunctionName>
23
+ ? { abi: Narrow<TAbi> } & GetFunctionArgs<TAbi, TFunctionName>
24
24
  : _FunctionName extends string
25
- ? { abi: [TAbi[number]] } & GetFunctionArgs<TAbi, _FunctionName>
25
+ ? { abi: [Narrow<TAbi[number]>] } & GetFunctionArgs<TAbi, _FunctionName>
26
26
  : never)
27
27
 
28
28
  export function encodeFunctionData<
29
- const TAbi extends Abi | readonly unknown[],
29
+ TAbi extends Abi | readonly unknown[],
30
30
  TFunctionName extends string | undefined = undefined,
31
31
  >({
32
32
  abi,
@@ -1,4 +1,4 @@
1
- import type { Abi } from 'abitype'
1
+ import type { Abi, Narrow } from 'abitype'
2
2
 
3
3
  import {
4
4
  AbiFunctionNotFoundError,
@@ -22,16 +22,16 @@ export type EncodeFunctionResultParameters<
22
22
  > = {
23
23
  functionName?: _FunctionName
24
24
  } & (TFunctionName extends string
25
- ? { abi: TAbi; result?: ContractFunctionResult<TAbi, TFunctionName> }
25
+ ? { abi: Narrow<TAbi>; result?: ContractFunctionResult<TAbi, TFunctionName> }
26
26
  : _FunctionName extends string
27
27
  ? {
28
- abi: [TAbi[number]]
28
+ abi: [Narrow<TAbi[number]>]
29
29
  result?: ContractFunctionResult<TAbi, _FunctionName>
30
30
  }
31
31
  : never)
32
32
 
33
33
  export function encodeFunctionResult<
34
- const TAbi extends Abi | readonly unknown[],
34
+ TAbi extends Abi | readonly unknown[],
35
35
  TFunctionName extends string | undefined = undefined,
36
36
  >({
37
37
  abi,
@@ -2,6 +2,7 @@ import type {
2
2
  AbiParameterToPrimitiveType,
3
3
  AbiType,
4
4
  Address,
5
+ Narrow,
5
6
  SolidityAddress,
6
7
  SolidityArrayWithoutTuple,
7
8
  SolidityBool,
@@ -31,17 +32,18 @@ type PackedAbiType =
31
32
  | SolidityString
32
33
  | SolidityArrayWithoutTuple
33
34
 
34
- type EncodePackedValues<
35
- TPackedAbiTypes extends readonly PackedAbiType[] | readonly unknown[],
36
- > = {
35
+ type EncodePackedValues<TPackedAbiTypes extends PackedAbiType[] | unknown[]> = {
37
36
  [K in keyof TPackedAbiTypes]: TPackedAbiTypes[K] extends AbiType
38
37
  ? AbiParameterToPrimitiveType<{ type: TPackedAbiTypes[K] }>
39
38
  : unknown
40
39
  }
41
40
 
42
41
  export function encodePacked<
43
- const TPackedAbiTypes extends readonly PackedAbiType[] | readonly unknown[],
44
- >(types: TPackedAbiTypes, values: EncodePackedValues<TPackedAbiTypes>): Hex {
42
+ TPackedAbiTypes extends PackedAbiType[] | unknown[],
43
+ >(
44
+ types: Narrow<TPackedAbiTypes>,
45
+ values: EncodePackedValues<TPackedAbiTypes>,
46
+ ): Hex {
45
47
  if (types.length !== values.length)
46
48
  throw new AbiEncodingLengthMismatchError({
47
49
  expectedLength: types.length as number,
@@ -57,7 +59,7 @@ export function encodePacked<
57
59
  return concat(data)
58
60
  }
59
61
 
60
- function encode<const TPackedAbiType extends PackedAbiType | unknown>(
62
+ function encode<TPackedAbiType extends PackedAbiType | unknown>(
61
63
  type: TPackedAbiType,
62
64
  value: EncodePackedValues<[TPackedAbiType]>[0],
63
65
  isArray = false,
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiParameter, Address } from 'abitype'
1
+ import type { Abi, AbiParameter, Address, Narrow } from 'abitype'
2
2
 
3
3
  import type { GetFunctionArgs, InferItemName } from '../../types/contract.js'
4
4
  import { isAddress } from '../address/isAddress.js'
@@ -7,7 +7,7 @@ export type GetAbiItemParameters<
7
7
  TAbi extends Abi | readonly unknown[] = Abi,
8
8
  TItemName extends string = string,
9
9
  > = {
10
- abi: TAbi
10
+ abi: Narrow<TAbi>
11
11
  name: InferItemName<TAbi, TItemName>
12
12
  } & Partial<GetFunctionArgs<TAbi, TItemName>>
13
13
 
@@ -22,7 +22,7 @@ export type GetAbiItemReturnType<
22
22
  >
23
23
 
24
24
  export function getAbiItem<
25
- const TAbi extends Abi | readonly unknown[],
25
+ TAbi extends Abi | readonly unknown[],
26
26
  TItemName extends string,
27
27
  >({
28
28
  abi,
package/src/utils/poll.ts CHANGED
@@ -21,7 +21,7 @@ export function poll<TData>(
21
21
  const unwatch = () => (active = false)
22
22
 
23
23
  const watch = async () => {
24
- let data: TData | void = undefined
24
+ let data: TData | void
25
25
  if (emitOnBegin) data = await fn({ unpoll: unwatch })
26
26
 
27
27
  const initialWait = (await initialWaitTime?.(data)) ?? interval
@@ -23,7 +23,7 @@ export type HashTypedDataParameters<
23
23
  export type HashTypedDataReturnType = Hex
24
24
 
25
25
  export function hashTypedData<
26
- const TTypedData extends TypedData | { [key: string]: unknown },
26
+ TTypedData extends TypedData | { [key: string]: unknown },
27
27
  TPrimaryType extends string = string,
28
28
  >({
29
29
  domain: domain_,
@@ -15,7 +15,7 @@ export type RecoverTypedDataAddressParameters<
15
15
  export type RecoverTypedDataAddressReturnType = Address
16
16
 
17
17
  export async function recoverTypedDataAddress<
18
- const TTypedData extends TypedData | { [key: string]: unknown },
18
+ TTypedData extends TypedData | { [key: string]: unknown },
19
19
  TPrimaryType extends string = string,
20
20
  >({
21
21
  domain,
@@ -35,7 +35,7 @@ export type VerifyTypedDataReturnType = boolean
35
35
  * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}
36
36
  */
37
37
  export async function verifyTypedData<
38
- const TTypedData extends TypedData | { [key: string]: unknown },
38
+ TTypedData extends TypedData | { [key: string]: unknown },
39
39
  TPrimaryType extends string = string,
40
40
  >({
41
41
  address,
@@ -11,7 +11,7 @@ import { numberToHex } from './encoding/toHex.js'
11
11
  import { bytesRegex, integerRegex } from './regex.js'
12
12
 
13
13
  export function validateTypedData<
14
- const TTypedData extends TypedData | { [key: string]: unknown },
14
+ TTypedData extends TypedData | { [key: string]: unknown },
15
15
  TPrimaryType extends string = string,
16
16
  >({
17
17
  domain,
@@ -63,7 +63,8 @@ export function validateTypedData<
63
63
  }
64
64
 
65
65
  // Validate domain types.
66
- if (types.EIP712Domain && domain) validateData(types.EIP712Domain, domain)
66
+ if (types['EIP712Domain'] && domain)
67
+ validateData(types['EIP712Domain'], domain)
67
68
 
68
69
  if (primaryType !== 'EIP712Domain') {
69
70
  // Validate message types.