viem 0.0.0-main.20240115T194206 → 0.0.0-main.20240115T204848
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/_cjs/errors/cursor.js +13 -1
- package/_cjs/errors/cursor.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/utils/abi/decodeAbiParameters.js +117 -126
- package/_cjs/utils/abi/decodeAbiParameters.js.map +1 -1
- package/_cjs/utils/cursor.js +38 -3
- package/_cjs/utils/cursor.js.map +1 -1
- package/_cjs/utils/encoding/fromBytes.js +2 -2
- package/_cjs/utils/encoding/fromBytes.js.map +1 -1
- package/_esm/errors/cursor.js +11 -0
- package/_esm/errors/cursor.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/utils/abi/decodeAbiParameters.js +145 -140
- package/_esm/utils/abi/decodeAbiParameters.js.map +1 -1
- package/_esm/utils/cursor.js +39 -4
- package/_esm/utils/cursor.js.map +1 -1
- package/_esm/utils/encoding/fromBytes.js +2 -2
- package/_esm/utils/encoding/fromBytes.js.map +1 -1
- package/_types/errors/cursor.d.ts +10 -0
- package/_types/errors/cursor.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/utils/abi/decodeAbiParameters.d.ts +18 -19
- package/_types/utils/abi/decodeAbiParameters.d.ts.map +1 -1
- package/_types/utils/cursor.d.ts +13 -3
- package/_types/utils/cursor.d.ts.map +1 -1
- package/errors/cursor.ts +13 -0
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/utils/abi/decodeAbiParameters.ts +226 -249
- package/utils/cursor.ts +52 -6
- package/utils/encoding/fromBytes.ts +2 -2
@@ -1,25 +1,24 @@
|
|
1
1
|
import type { AbiParameter, AbiParametersToPrimitiveTypes } from 'abitype';
|
2
|
-
import
|
3
|
-
import type
|
2
|
+
import type { ByteArray, Hex } from '../../types/misc.js';
|
3
|
+
import { type InvalidAbiDecodingTypeErrorType } from '../../errors/abi.js';
|
4
|
+
import type { ErrorType } from '../../errors/utils.js';
|
4
5
|
import { type ChecksumAddressErrorType } from '../address/getAddress.js';
|
5
6
|
import { type SizeErrorType } from '../data/size.js';
|
6
|
-
import { type
|
7
|
+
import { type SliceBytesErrorType } from '../data/slice.js';
|
7
8
|
import { type TrimErrorType } from '../data/trim.js';
|
8
|
-
import { type
|
9
|
-
import type
|
10
|
-
import { type
|
11
|
-
export type DecodeAbiParametersReturnType<TParams extends readonly AbiParameter[]
|
12
|
-
export type DecodeAbiParametersErrorType =
|
13
|
-
export declare function decodeAbiParameters<const TParams extends readonly AbiParameter[]
|
14
|
-
type
|
15
|
-
type
|
16
|
-
type
|
17
|
-
type
|
18
|
-
type
|
19
|
-
type
|
20
|
-
type
|
21
|
-
type DecodeStringErrorType =
|
22
|
-
type DecodeTupleErrorType = HasDynamicChildErrorType | HexToNumberErrorType | SliceErrorType | ErrorType;
|
23
|
-
type HasDynamicChildErrorType = GetArrayComponentsErrorType | ErrorType;
|
9
|
+
import { type BytesToBigIntErrorType, type BytesToBoolErrorType, type BytesToNumberErrorType, type BytesToStringErrorType } from '../encoding/fromBytes.js';
|
10
|
+
import { type HexToBytesErrorType } from '../encoding/toBytes.js';
|
11
|
+
import { type BytesToHexErrorType } from '../encoding/toHex.js';
|
12
|
+
export type DecodeAbiParametersReturnType<TParams extends readonly AbiParameter[] = readonly AbiParameter[]> = AbiParametersToPrimitiveTypes<TParams extends readonly AbiParameter[] ? TParams : AbiParameter[]>;
|
13
|
+
export type DecodeAbiParametersErrorType = HexToBytesErrorType | BytesToHexErrorType | DecodeParameterErrorType | SizeErrorType | ErrorType;
|
14
|
+
export declare function decodeAbiParameters<const TParams extends readonly AbiParameter[]>(params: TParams, data: ByteArray | Hex): DecodeAbiParametersReturnType<TParams>;
|
15
|
+
type DecodeParameterErrorType = DecodeArrayErrorType | DecodeTupleErrorType | DecodeAddressErrorType | DecodeBoolErrorType | DecodeBytesErrorType | DecodeNumberErrorType | DecodeStringErrorType | InvalidAbiDecodingTypeErrorType;
|
16
|
+
type DecodeAddressErrorType = ChecksumAddressErrorType | BytesToHexErrorType | SliceBytesErrorType | ErrorType;
|
17
|
+
type DecodeArrayErrorType = BytesToNumberErrorType | ErrorType;
|
18
|
+
type DecodeBoolErrorType = BytesToBoolErrorType | ErrorType;
|
19
|
+
type DecodeBytesErrorType = BytesToNumberErrorType | BytesToHexErrorType | ErrorType;
|
20
|
+
type DecodeNumberErrorType = BytesToNumberErrorType | BytesToBigIntErrorType | ErrorType;
|
21
|
+
type DecodeTupleErrorType = BytesToNumberErrorType | ErrorType;
|
22
|
+
type DecodeStringErrorType = BytesToNumberErrorType | BytesToStringErrorType | TrimErrorType | ErrorType;
|
24
23
|
export {};
|
25
24
|
//# sourceMappingURL=decodeAbiParameters.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decodeAbiParameters.d.ts","sourceRoot":"","sources":["../../../utils/abi/decodeAbiParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"decodeAbiParameters.d.ts","sourceRoot":"","sources":["../../../utils/abi/decodeAbiParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAIL,KAAK,+BAA+B,EACrC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,KAAK,mBAAmB,EAAc,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAK5B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,mBAAmB,EAAc,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAc,MAAM,sBAAsB,CAAA;AAG3E,MAAM,MAAM,6BAA6B,CACvC,OAAO,SAAS,SAAS,YAAY,EAAE,GAAG,SAAS,YAAY,EAAE,IAC/D,6BAA6B,CAC/B,OAAO,SAAS,SAAS,YAAY,EAAE,GAAG,OAAO,GAAG,YAAY,EAAE,CACnE,CAAA;AAED,MAAM,MAAM,4BAA4B,GACpC,mBAAmB,GACnB,mBAAmB,GACnB,wBAAwB,GACxB,aAAa,GACb,SAAS,CAAA;AAEb,wBAAgB,mBAAmB,CACjC,KAAK,CAAC,OAAO,SAAS,SAAS,YAAY,EAAE,EAE7C,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,SAAS,GAAG,GAAG,GACpB,6BAA6B,CAAC,OAAO,CAAC,CAyBxC;AAED,KAAK,wBAAwB,GACzB,oBAAoB,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,+BAA+B,CAAA;AAiCnC,KAAK,sBAAsB,GACvB,wBAAwB,GACxB,mBAAmB,GACnB,mBAAmB,GACnB,SAAS,CAAA;AAOb,KAAK,oBAAoB,GAAG,sBAAsB,GAAG,SAAS,CAAA;AAiF9D,KAAK,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAA;AAM3D,KAAK,oBAAoB,GACrB,sBAAsB,GACtB,mBAAmB,GACnB,SAAS,CAAA;AAmCb,KAAK,qBAAqB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,SAAS,CAAA;AAgBb,KAAK,oBAAoB,GAAG,sBAAsB,GAAG,SAAS,CAAA;AAwD9D,KAAK,qBAAqB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,aAAa,GACb,SAAS,CAAA"}
|
package/_types/utils/cursor.d.ts
CHANGED
@@ -5,8 +5,13 @@ export type Cursor = {
|
|
5
5
|
bytes: ByteArray;
|
6
6
|
dataView: DataView;
|
7
7
|
position: number;
|
8
|
+
positionReadCount: Map<number, number>;
|
9
|
+
recursiveReadCount: number;
|
10
|
+
recursiveReadLimit: number;
|
11
|
+
assertReadLimit(position?: number): void;
|
8
12
|
assertPosition(position: number): void;
|
9
13
|
decrementPosition(offset: number): void;
|
14
|
+
getReadCount(position?: number): number;
|
10
15
|
incrementPosition(offset: number): void;
|
11
16
|
inspectByte(position?: number): ByteArray[number];
|
12
17
|
inspectBytes(length: number, position?: number): ByteArray;
|
@@ -21,17 +26,22 @@ export type Cursor = {
|
|
21
26
|
pushUint24(value: number): void;
|
22
27
|
pushUint32(value: number): void;
|
23
28
|
readByte(): ByteArray[number];
|
24
|
-
readBytes(length: number): ByteArray;
|
29
|
+
readBytes(length: number, size?: number): ByteArray;
|
25
30
|
readUint8(): number;
|
26
31
|
readUint16(): number;
|
27
32
|
readUint24(): number;
|
28
33
|
readUint32(): number;
|
29
|
-
setPosition(position: number): void;
|
34
|
+
setPosition(position: number): () => void;
|
35
|
+
_touch(): void;
|
30
36
|
};
|
31
37
|
export type CreateCursorErrorType = ErrorType;
|
32
38
|
export type CursorErrorType = CursorAssertPositionErrorType | CursorDecrementPositionErrorType | CursorIncrementPositionErrorType | ErrorType;
|
33
39
|
export type CursorAssertPositionErrorType = PositionOutOfBoundsError | ErrorType;
|
34
40
|
export type CursorDecrementPositionErrorType = NegativeOffsetError | ErrorType;
|
35
41
|
export type CursorIncrementPositionErrorType = NegativeOffsetError | ErrorType;
|
36
|
-
|
42
|
+
type CursorConfig = {
|
43
|
+
recursiveReadLimit?: number;
|
44
|
+
};
|
45
|
+
export declare function createCursor(bytes: ByteArray, { recursiveReadLimit }?: CursorConfig): Cursor;
|
46
|
+
export {};
|
37
47
|
//# sourceMappingURL=cursor.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../utils/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../utils/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACjD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1D,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAC7B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnD,SAAS,IAAI,MAAM,CAAA;IACnB,UAAU,IAAI,MAAM,CAAA;IACpB,UAAU,IAAI,MAAM,CAAA;IACpB,UAAU,IAAI,MAAM,CAAA;IACpB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,IAAI,CAAA;IACzC,MAAM,IAAI,IAAI,CAAA;CACf,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAA;AAE7C,MAAM,MAAM,eAAe,GACvB,6BAA6B,GAC7B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,CAAA;AAEb,MAAM,MAAM,6BAA6B,GAAG,wBAAwB,GAAG,SAAS,CAAA;AAEhF,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,GAAG,SAAS,CAAA;AAE9E,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,GAAG,SAAS,CAAA;AA6J9E,KAAK,YAAY,GAAG;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,EAAE,kBAA0B,EAAE,GAAE,YAAiB,GAChD,MAAM,CAWR"}
|
package/errors/cursor.ts
CHANGED
@@ -21,3 +21,16 @@ export class PositionOutOfBoundsError extends BaseError {
|
|
21
21
|
)
|
22
22
|
}
|
23
23
|
}
|
24
|
+
|
25
|
+
export type RecursiveReadLimitExceededErrorType =
|
26
|
+
RecursiveReadLimitExceededError & {
|
27
|
+
name: 'RecursiveReadLimitExceededError'
|
28
|
+
}
|
29
|
+
export class RecursiveReadLimitExceededError extends BaseError {
|
30
|
+
override name = 'RecursiveReadLimitExceededError'
|
31
|
+
constructor({ count, limit }: { count: number; limit: number }) {
|
32
|
+
super(
|
33
|
+
`Recursive read limit of \`${limit}\` exceeded (recursive read count: \`${count}\`).`,
|
34
|
+
)
|
35
|
+
}
|
36
|
+
}
|
package/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20240115T204848'
|
package/package.json
CHANGED