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,9 +1,4 @@
1
- import type {
2
- Abi,
3
- AbiParameter,
4
- AbiParameterToPrimitiveType,
5
- Narrow,
6
- } from 'abitype'
1
+ import type { Abi, AbiParameter, AbiParameterToPrimitiveType } from 'abitype'
7
2
 
8
3
  import { AbiEventNotFoundError } from '../../errors/abi.js'
9
4
  import { FilterTypeNotSupportedError } from '../../errors/log.js'
@@ -29,13 +24,13 @@ export type EncodeEventTopicsParameters<
29
24
  > = {
30
25
  eventName?: _EventName
31
26
  } & (TEventName extends string
32
- ? { abi: Narrow<TAbi>; args?: GetEventArgs<TAbi, TEventName> }
27
+ ? { abi: TAbi; args?: GetEventArgs<TAbi, TEventName> }
33
28
  : _EventName extends string
34
- ? { abi: [Narrow<TAbi[number]>]; args?: GetEventArgs<TAbi, _EventName> }
29
+ ? { abi: [TAbi[number]]; args?: GetEventArgs<TAbi, _EventName> }
35
30
  : never)
36
31
 
37
32
  export function encodeEventTopics<
38
- TAbi extends Abi | readonly unknown[],
33
+ const TAbi extends Abi | readonly unknown[],
39
34
  TEventName extends string | undefined = undefined,
40
35
  >({ abi, eventName, args }: EncodeEventTopicsParameters<TAbi, TEventName>) {
41
36
  let abiItem = abi[0] as AbiItem
@@ -1,4 +1,4 @@
1
- import type { Abi, Narrow } from 'abitype'
1
+ import type { Abi } 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: Narrow<TAbi> } & GetFunctionArgs<TAbi, TFunctionName>
23
+ ? { abi: TAbi } & GetFunctionArgs<TAbi, TFunctionName>
24
24
  : _FunctionName extends string
25
- ? { abi: [Narrow<TAbi[number]>] } & GetFunctionArgs<TAbi, _FunctionName>
25
+ ? { abi: [TAbi[number]] } & GetFunctionArgs<TAbi, _FunctionName>
26
26
  : never)
27
27
 
28
28
  export function encodeFunctionData<
29
- TAbi extends Abi | readonly unknown[],
29
+ const 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, Narrow } from 'abitype'
1
+ import type { Abi } 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: Narrow<TAbi>; result?: ContractFunctionResult<TAbi, TFunctionName> }
25
+ ? { abi: TAbi; result?: ContractFunctionResult<TAbi, TFunctionName> }
26
26
  : _FunctionName extends string
27
27
  ? {
28
- abi: [Narrow<TAbi[number]>]
28
+ abi: [TAbi[number]]
29
29
  result?: ContractFunctionResult<TAbi, _FunctionName>
30
30
  }
31
31
  : never)
32
32
 
33
33
  export function encodeFunctionResult<
34
- TAbi extends Abi | readonly unknown[],
34
+ const TAbi extends Abi | readonly unknown[],
35
35
  TFunctionName extends string | undefined = undefined,
36
36
  >({
37
37
  abi,
@@ -2,7 +2,6 @@ import type {
2
2
  AbiParameterToPrimitiveType,
3
3
  AbiType,
4
4
  Address,
5
- Narrow,
6
5
  SolidityAddress,
7
6
  SolidityArrayWithoutTuple,
8
7
  SolidityBool,
@@ -32,18 +31,17 @@ type PackedAbiType =
32
31
  | SolidityString
33
32
  | SolidityArrayWithoutTuple
34
33
 
35
- type EncodePackedValues<TPackedAbiTypes extends PackedAbiType[] | unknown[]> = {
34
+ type EncodePackedValues<
35
+ TPackedAbiTypes extends readonly PackedAbiType[] | readonly unknown[],
36
+ > = {
36
37
  [K in keyof TPackedAbiTypes]: TPackedAbiTypes[K] extends AbiType
37
38
  ? AbiParameterToPrimitiveType<{ type: TPackedAbiTypes[K] }>
38
39
  : unknown
39
40
  }
40
41
 
41
42
  export function encodePacked<
42
- TPackedAbiTypes extends PackedAbiType[] | unknown[],
43
- >(
44
- types: Narrow<TPackedAbiTypes>,
45
- values: EncodePackedValues<TPackedAbiTypes>,
46
- ): Hex {
43
+ const TPackedAbiTypes extends readonly PackedAbiType[] | readonly unknown[],
44
+ >(types: TPackedAbiTypes, values: EncodePackedValues<TPackedAbiTypes>): Hex {
47
45
  if (types.length !== values.length)
48
46
  throw new AbiEncodingLengthMismatchError({
49
47
  expectedLength: types.length as number,
@@ -59,7 +57,7 @@ export function encodePacked<
59
57
  return concat(data)
60
58
  }
61
59
 
62
- function encode<TPackedAbiType extends PackedAbiType | unknown>(
60
+ function encode<const TPackedAbiType extends PackedAbiType | unknown>(
63
61
  type: TPackedAbiType,
64
62
  value: EncodePackedValues<[TPackedAbiType]>[0],
65
63
  isArray = false,
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiParameter, Address, Narrow } from 'abitype'
1
+ import type { Abi, AbiParameter, Address } 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: Narrow<TAbi>
10
+ abi: 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
- TAbi extends Abi | readonly unknown[],
25
+ const 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
24
+ let data: TData | void = undefined
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
- TTypedData extends TypedData | { [key: string]: unknown },
26
+ const 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
- TTypedData extends TypedData | { [key: string]: unknown },
18
+ const 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
- TTypedData extends TypedData | { [key: string]: unknown },
38
+ const 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
- TTypedData extends TypedData | { [key: string]: unknown },
14
+ const TTypedData extends TypedData | { [key: string]: unknown },
15
15
  TPrimaryType extends string = string,
16
16
  >({
17
17
  domain,
@@ -63,8 +63,7 @@ export function validateTypedData<
63
63
  }
64
64
 
65
65
  // Validate domain types.
66
- if (types['EIP712Domain'] && domain)
67
- validateData(types['EIP712Domain'], domain)
66
+ if (types.EIP712Domain && domain) validateData(types.EIP712Domain, domain)
68
67
 
69
68
  if (primaryType !== 'EIP712Domain') {
70
69
  // Validate message types.