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.
- package/dist/cjs/actions/getContract.js.map +1 -1
- package/dist/cjs/actions/public/multicall.js +6 -5
- package/dist/cjs/actions/public/multicall.js.map +1 -1
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/abi/decodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/abi/decodeDeployData.js.map +1 -1
- package/dist/cjs/utils/abi/decodeErrorResult.js.map +1 -1
- package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
- package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/abi/encodeDeployData.js.map +1 -1
- package/dist/cjs/utils/abi/encodeEventTopics.js.map +1 -1
- package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
- package/dist/cjs/utils/poll.js +1 -1
- package/dist/cjs/utils/poll.js.map +1 -1
- package/dist/cjs/utils/typedData.js +2 -2
- package/dist/cjs/utils/typedData.js.map +1 -1
- package/dist/esm/actions/getContract.js.map +1 -1
- package/dist/esm/actions/public/multicall.js +7 -5
- package/dist/esm/actions/public/multicall.js.map +1 -1
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/decodeDeployData.js.map +1 -1
- package/dist/esm/utils/abi/decodeErrorResult.js.map +1 -1
- package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/encodeDeployData.js.map +1 -1
- package/dist/esm/utils/abi/encodeEventTopics.js.map +1 -1
- package/dist/esm/utils/abi/encodePacked.js.map +1 -1
- package/dist/esm/utils/poll.js +1 -1
- package/dist/esm/utils/poll.js.map +1 -1
- package/dist/esm/utils/typedData.js +2 -2
- package/dist/esm/utils/typedData.js.map +1 -1
- package/dist/types/accounts/types.d.ts +1 -1
- package/dist/types/accounts/types.d.ts.map +1 -1
- package/dist/types/accounts/utils/signTypedData.d.ts +1 -1
- package/dist/types/accounts/utils/signTypedData.d.ts.map +1 -1
- package/dist/types/actions/getContract.d.ts +5 -5
- package/dist/types/actions/getContract.d.ts.map +1 -1
- package/dist/types/actions/public/createContractEventFilter.d.ts +3 -3
- package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/createEventFilter.d.ts +5 -5
- package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/estimateContractGas.d.ts +1 -1
- package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterChanges.d.ts +1 -1
- package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterLogs.d.ts +1 -1
- package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getLogs.d.ts +4 -4
- package/dist/types/actions/public/getLogs.d.ts.map +1 -1
- package/dist/types/actions/public/multicall.d.ts +6 -6
- package/dist/types/actions/public/multicall.d.ts.map +1 -1
- package/dist/types/actions/public/readContract.d.ts +1 -1
- package/dist/types/actions/public/readContract.d.ts.map +1 -1
- package/dist/types/actions/public/simulateContract.d.ts +1 -1
- package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
- package/dist/types/actions/public/watchContractEvent.d.ts +3 -3
- package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
- package/dist/types/actions/public/watchEvent.d.ts +4 -4
- package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
- package/dist/types/actions/wallet/deployContract.d.ts +3 -3
- package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
- package/dist/types/actions/wallet/signTypedData.d.ts +1 -1
- package/dist/types/actions/wallet/signTypedData.d.ts.map +1 -1
- package/dist/types/actions/wallet/writeContract.d.ts +1 -1
- package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +11 -11
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/clients/decorators/wallet.d.ts +3 -3
- package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/contract.d.ts +2 -2
- package/dist/types/types/contract.d.ts.map +1 -1
- package/dist/types/types/multicall.d.ts +8 -8
- package/dist/types/types/multicall.d.ts.map +1 -1
- package/dist/types/types/typedData.d.ts +3 -3
- package/dist/types/types/typedData.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeAbiParameters.d.ts +2 -2
- package/dist/types/utils/abi/decodeAbiParameters.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeDeployData.d.ts +3 -3
- package/dist/types/utils/abi/decodeDeployData.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeErrorResult.d.ts +3 -3
- package/dist/types/utils/abi/decodeErrorResult.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeEventLog.d.ts +3 -3
- package/dist/types/utils/abi/decodeEventLog.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeFunctionResult.d.ts +4 -4
- package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeAbiParameters.d.ts +2 -2
- package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeDeployData.d.ts +3 -3
- package/dist/types/utils/abi/encodeDeployData.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeErrorResult.d.ts +4 -4
- package/dist/types/utils/abi/encodeErrorResult.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeEventTopics.d.ts +4 -4
- package/dist/types/utils/abi/encodeEventTopics.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeFunctionData.d.ts +4 -4
- package/dist/types/utils/abi/encodeFunctionData.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeFunctionResult.d.ts +4 -4
- package/dist/types/utils/abi/encodeFunctionResult.d.ts.map +1 -1
- package/dist/types/utils/abi/encodePacked.d.ts +3 -3
- package/dist/types/utils/abi/encodePacked.d.ts.map +1 -1
- package/dist/types/utils/abi/getAbiItem.d.ts +3 -3
- package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
- package/dist/types/utils/signature/hashTypedData.d.ts +1 -1
- package/dist/types/utils/signature/hashTypedData.d.ts.map +1 -1
- package/dist/types/utils/signature/recoverTypedDataAddress.d.ts +1 -1
- package/dist/types/utils/signature/recoverTypedDataAddress.d.ts.map +1 -1
- package/dist/types/utils/signature/verifyTypedData.d.ts +1 -1
- package/dist/types/utils/signature/verifyTypedData.d.ts.map +1 -1
- package/dist/types/utils/typedData.d.ts +1 -1
- package/dist/types/utils/typedData.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/accounts/types.ts +1 -1
- package/src/accounts/utils/signTypedData.ts +1 -1
- package/src/actions/getContract.ts +5 -6
- package/src/actions/public/createContractEventFilter.ts +3 -3
- package/src/actions/public/createEventFilter.ts +6 -6
- package/src/actions/public/estimateContractGas.ts +1 -1
- package/src/actions/public/getFilterChanges.ts +1 -1
- package/src/actions/public/getFilterLogs.ts +1 -1
- package/src/actions/public/getLogs.ts +5 -5
- package/src/actions/public/multicall.ts +14 -17
- package/src/actions/public/readContract.ts +1 -1
- package/src/actions/public/simulateContract.ts +1 -1
- package/src/actions/public/watchContractEvent.ts +3 -3
- package/src/actions/public/watchEvent.ts +5 -5
- package/src/actions/wallet/deployContract.ts +3 -3
- package/src/actions/wallet/signTypedData.ts +1 -1
- package/src/actions/wallet/writeContract.ts +1 -1
- package/src/clients/decorators/public.ts +15 -20
- package/src/clients/decorators/wallet.ts +3 -3
- package/src/errors/version.ts +1 -1
- package/src/index.ts +0 -1
- package/src/types/contract.ts +2 -1
- package/src/types/multicall.ts +11 -14
- package/src/types/typedData.ts +3 -2
- package/src/utils/abi/decodeAbiParameters.ts +8 -7
- package/src/utils/abi/decodeDeployData.ts +3 -3
- package/src/utils/abi/decodeErrorResult.ts +8 -3
- package/src/utils/abi/decodeEventLog.ts +3 -3
- package/src/utils/abi/decodeFunctionResult.ts +6 -4
- package/src/utils/abi/encodeAbiParameters.ts +9 -8
- package/src/utils/abi/encodeDeployData.ts +3 -3
- package/src/utils/abi/encodeErrorResult.ts +4 -4
- package/src/utils/abi/encodeEventTopics.ts +9 -4
- package/src/utils/abi/encodeFunctionData.ts +4 -4
- package/src/utils/abi/encodeFunctionResult.ts +4 -4
- package/src/utils/abi/encodePacked.ts +8 -6
- package/src/utils/abi/getAbiItem.ts +3 -3
- package/src/utils/poll.ts +1 -1
- package/src/utils/signature/hashTypedData.ts +1 -1
- package/src/utils/signature/recoverTypedDataAddress.ts +1 -1
- package/src/utils/signature/verifyTypedData.ts +1 -1
- 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
|
-
|
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<
|
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
|
-
|
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
|
-
|
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<
|
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<
|
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<
|
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<
|
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
|
-
|
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<
|
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
|
-
|
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 {
|
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
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
44
|
-
>(
|
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<
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
38
|
+
TTypedData extends TypedData | { [key: string]: unknown },
|
39
39
|
TPrimaryType extends string = string,
|
40
40
|
>({
|
41
41
|
address,
|
package/src/utils/typedData.ts
CHANGED
@@ -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
|
-
|
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
|
66
|
+
if (types['EIP712Domain'] && domain)
|
67
|
+
validateData(types['EIP712Domain'], domain)
|
67
68
|
|
68
69
|
if (primaryType !== 'EIP712Domain') {
|
69
70
|
// Validate message types.
|