viem 1.6.0 → 1.6.3
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/ens/getEnsAddress.js +2 -2
- package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/cjs/actions/getContract.js.map +1 -1
- package/dist/cjs/actions/public/multicall.js +2 -3
- package/dist/cjs/actions/public/multicall.js.map +1 -1
- package/dist/cjs/chains/index.js +2 -1
- package/dist/cjs/chains/index.js.map +1 -1
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/constants/number.js +96 -96
- package/dist/cjs/constants/number.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/ens/getEnsAddress.js +2 -2
- package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/esm/actions/getContract.js.map +1 -1
- package/dist/esm/actions/public/multicall.js +2 -4
- package/dist/esm/actions/public/multicall.js.map +1 -1
- package/dist/esm/chains/index.js +1 -0
- package/dist/esm/chains/index.js.map +1 -1
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/constants/number.js +96 -96
- package/dist/esm/constants/number.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/ens/getEnsAddress.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 +1 -1
- 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/chains/index.d.ts +154 -36
- package/dist/types/chains/index.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +10 -10
- 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/constants/number.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/eip1193.d.ts +1 -1
- package/dist/types/types/eip1193.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 +2 -2
- package/src/accounts/types.ts +1 -1
- package/src/accounts/utils/signTypedData.ts +1 -1
- package/src/actions/ens/getEnsAddress.ts +6 -8
- package/src/actions/getContract.ts +6 -5
- 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 +9 -8
- 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/chains/index.ts +1 -0
- package/src/clients/decorators/public.ts +14 -14
- package/src/clients/decorators/wallet.ts +3 -3
- package/src/constants/number.ts +96 -96
- package/src/errors/version.ts +1 -1
- package/src/index.ts +2 -0
- package/src/types/eip1193.ts +1 -1
- package/src/types/multicall.ts +14 -11
- package/src/types/typedData.ts +2 -3
- package/src/utils/abi/decodeAbiParameters.ts +7 -8
- package/src/utils/abi/decodeDeployData.ts +3 -3
- package/src/utils/abi/decodeErrorResult.ts +3 -8
- package/src/utils/abi/decodeEventLog.ts +3 -3
- package/src/utils/abi/decodeFunctionResult.ts +4 -6
- package/src/utils/abi/encodeAbiParameters.ts +8 -9
- package/src/utils/abi/encodeDeployData.ts +3 -3
- package/src/utils/abi/encodeErrorResult.ts +4 -4
- package/src/utils/abi/encodeEventTopics.ts +4 -9
- package/src/utils/abi/encodeFunctionData.ts +4 -4
- package/src/utils/abi/encodeFunctionResult.ts +4 -4
- package/src/utils/abi/encodePacked.ts +6 -8
- 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 +2 -3
@@ -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:
|
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
|
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:
|
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?:
|
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
|
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:
|
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
|
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:
|
28
|
+
? { abi: TAbi } & Partial<GetFunctionArgs<TAbi, TFunctionName>>
|
29
29
|
: _FunctionName extends string
|
30
|
-
? { abi: [
|
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:
|
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:
|
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
|
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:
|
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
|
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:
|
29
|
+
? { abi: TAbi } & GetErrorArgs<TAbi, TErrorName>
|
30
30
|
: _ErrorName extends string
|
31
|
-
? { abi: [
|
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
|
@@ -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:
|
27
|
+
? { abi: TAbi; args?: GetEventArgs<TAbi, TEventName> }
|
33
28
|
: _EventName extends string
|
34
|
-
? { abi: [
|
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
|
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:
|
23
|
+
? { abi: TAbi } & GetFunctionArgs<TAbi, TFunctionName>
|
24
24
|
: _FunctionName extends string
|
25
|
-
? { abi: [
|
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
|
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:
|
25
|
+
? { abi: TAbi; result?: ContractFunctionResult<TAbi, TFunctionName> }
|
26
26
|
: _FunctionName extends string
|
27
27
|
? {
|
28
|
-
abi: [
|
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<
|
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
|
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:
|
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,
|
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
|
-
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
|
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.
|