viem 2.0.10 → 2.1.0

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 (74) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/chains/definitions/baseSepolia.js +4 -0
  3. package/_cjs/chains/definitions/baseSepolia.js.map +1 -1
  4. package/_cjs/chains/definitions/palm.js +32 -0
  5. package/_cjs/chains/definitions/palm.js.map +1 -0
  6. package/_cjs/chains/definitions/palmTestnet.js +33 -0
  7. package/_cjs/chains/definitions/palmTestnet.js.map +1 -0
  8. package/_cjs/chains/index.js +6 -2
  9. package/_cjs/chains/index.js.map +1 -1
  10. package/_cjs/errors/cursor.js +13 -1
  11. package/_cjs/errors/cursor.js.map +1 -1
  12. package/_cjs/errors/version.js +1 -1
  13. package/_cjs/errors/version.js.map +1 -1
  14. package/_cjs/utils/abi/decodeAbiParameters.js +117 -126
  15. package/_cjs/utils/abi/decodeAbiParameters.js.map +1 -1
  16. package/_cjs/utils/abi/decodeEventLog.js +7 -4
  17. package/_cjs/utils/abi/decodeEventLog.js.map +1 -1
  18. package/_cjs/utils/cursor.js +40 -3
  19. package/_cjs/utils/cursor.js.map +1 -1
  20. package/_cjs/utils/encoding/fromBytes.js +2 -2
  21. package/_cjs/utils/encoding/fromBytes.js.map +1 -1
  22. package/_cjs/utils/encoding/fromRlp.js +1 -1
  23. package/_cjs/utils/encoding/fromRlp.js.map +1 -1
  24. package/_esm/chains/definitions/baseSepolia.js +4 -0
  25. package/_esm/chains/definitions/baseSepolia.js.map +1 -1
  26. package/_esm/chains/definitions/palm.js +29 -0
  27. package/_esm/chains/definitions/palm.js.map +1 -0
  28. package/_esm/chains/definitions/palmTestnet.js +30 -0
  29. package/_esm/chains/definitions/palmTestnet.js.map +1 -0
  30. package/_esm/chains/index.js +2 -0
  31. package/_esm/chains/index.js.map +1 -1
  32. package/_esm/errors/cursor.js +11 -0
  33. package/_esm/errors/cursor.js.map +1 -1
  34. package/_esm/errors/version.js +1 -1
  35. package/_esm/errors/version.js.map +1 -1
  36. package/_esm/utils/abi/decodeAbiParameters.js +145 -140
  37. package/_esm/utils/abi/decodeAbiParameters.js.map +1 -1
  38. package/_esm/utils/abi/decodeEventLog.js +7 -4
  39. package/_esm/utils/abi/decodeEventLog.js.map +1 -1
  40. package/_esm/utils/cursor.js +41 -4
  41. package/_esm/utils/cursor.js.map +1 -1
  42. package/_esm/utils/encoding/fromBytes.js +2 -2
  43. package/_esm/utils/encoding/fromBytes.js.map +1 -1
  44. package/_esm/utils/encoding/fromRlp.js +1 -1
  45. package/_esm/utils/encoding/fromRlp.js.map +1 -1
  46. package/_types/chains/definitions/baseSepolia.d.ts +4 -0
  47. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  48. package/_types/chains/definitions/palm.d.ts +33 -0
  49. package/_types/chains/definitions/palm.d.ts.map +1 -0
  50. package/_types/chains/definitions/palmTestnet.d.ts +33 -0
  51. package/_types/chains/definitions/palmTestnet.d.ts.map +1 -0
  52. package/_types/chains/index.d.ts +2 -0
  53. package/_types/chains/index.d.ts.map +1 -1
  54. package/_types/errors/cursor.d.ts +10 -0
  55. package/_types/errors/cursor.d.ts.map +1 -1
  56. package/_types/errors/version.d.ts +1 -1
  57. package/_types/errors/version.d.ts.map +1 -1
  58. package/_types/utils/abi/decodeAbiParameters.d.ts +18 -19
  59. package/_types/utils/abi/decodeAbiParameters.d.ts.map +1 -1
  60. package/_types/utils/abi/decodeEventLog.d.ts.map +1 -1
  61. package/_types/utils/cursor.d.ts +13 -3
  62. package/_types/utils/cursor.d.ts.map +1 -1
  63. package/chains/definitions/baseSepolia.ts +4 -0
  64. package/chains/definitions/palm.ts +29 -0
  65. package/chains/definitions/palmTestnet.ts +30 -0
  66. package/chains/index.ts +2 -0
  67. package/errors/cursor.ts +13 -0
  68. package/errors/version.ts +1 -1
  69. package/package.json +1 -1
  70. package/utils/abi/decodeAbiParameters.ts +226 -249
  71. package/utils/abi/decodeEventLog.ts +9 -4
  72. package/utils/cursor.ts +53 -6
  73. package/utils/encoding/fromBytes.ts +2 -2
  74. package/utils/encoding/fromRlp.ts +1 -1
@@ -1,182 +1,168 @@
1
- import { AbiDecodingDataSizeTooSmallError, AbiDecodingOffsetOutOfBoundsError, AbiDecodingZeroDataError, InvalidAbiDecodingTypeError, } from '../../errors/abi.js';
1
+ import { AbiDecodingDataSizeTooSmallError, AbiDecodingZeroDataError, InvalidAbiDecodingTypeError, } from '../../errors/abi.js';
2
2
  import { checksumAddress, } from '../address/getAddress.js';
3
+ import { createCursor } from '../cursor.js';
3
4
  import { size } from '../data/size.js';
4
- import { slice } from '../data/slice.js';
5
+ import { sliceBytes } from '../data/slice.js';
5
6
  import { trim } from '../data/trim.js';
6
- import { hexToBigInt, hexToBool, hexToNumber, hexToString, } from '../encoding/fromHex.js';
7
- import { getArrayComponents, } from './encodeAbiParameters.js';
7
+ import { bytesToBigInt, bytesToBool, bytesToNumber, bytesToString, } from '../encoding/fromBytes.js';
8
+ import { hexToBytes } from '../encoding/toBytes.js';
9
+ import { bytesToHex } from '../encoding/toHex.js';
10
+ import { getArrayComponents } from './encodeAbiParameters.js';
8
11
  export function decodeAbiParameters(params, data) {
9
- if (data === '0x' && params.length > 0)
12
+ const bytes = typeof data === 'string' ? hexToBytes(data) : data;
13
+ const cursor = createCursor(bytes);
14
+ if (size(bytes) === 0 && params.length > 0)
10
15
  throw new AbiDecodingZeroDataError();
11
16
  if (size(data) && size(data) < 32)
12
17
  throw new AbiDecodingDataSizeTooSmallError({
13
- data,
18
+ data: typeof data === 'string' ? data : bytesToHex(data),
14
19
  params: params,
15
20
  size: size(data),
16
21
  });
17
- return decodeParams({
18
- data,
19
- params: params,
20
- });
21
- }
22
- function decodeParams({ data, params, }) {
23
- const decodedValues = [];
24
- let position = 0;
25
- for (let i = 0; i < params.length; i++) {
26
- if (position >= size(data))
27
- throw new AbiDecodingDataSizeTooSmallError({
28
- data,
29
- params,
30
- size: size(data),
31
- });
22
+ let consumed = 0;
23
+ const values = [];
24
+ for (let i = 0; i < params.length; ++i) {
32
25
  const param = params[i];
33
- const { consumed, value } = decodeParam({ data, param, position });
34
- decodedValues.push(value);
35
- // Step across the data by the amount of data consumed by this parameter.
36
- position += consumed;
26
+ cursor.setPosition(consumed);
27
+ const [data, consumed_] = decodeParameter(cursor, param, {
28
+ staticPosition: 0,
29
+ });
30
+ consumed += consumed_;
31
+ values.push(data);
37
32
  }
38
- return decodedValues;
33
+ return values;
39
34
  }
40
- function decodeParam({ data, param, position, }) {
35
+ function decodeParameter(cursor, param, { staticPosition }) {
41
36
  const arrayComponents = getArrayComponents(param.type);
42
37
  if (arrayComponents) {
43
38
  const [length, type] = arrayComponents;
44
- return decodeArray(data, {
45
- length,
46
- param: { ...param, type: type },
47
- position,
48
- });
49
- }
50
- if (param.type === 'tuple') {
51
- return decodeTuple(data, { param: param, position });
52
- }
53
- if (param.type === 'string') {
54
- return decodeString(data, { position });
55
- }
56
- if (param.type.startsWith('bytes')) {
57
- return decodeBytes(data, { param, position });
58
- }
59
- const value = slice(data, position, position + 32, { strict: true });
60
- if (param.type.startsWith('uint') || param.type.startsWith('int')) {
61
- return decodeNumber(value, { param });
62
- }
63
- if (param.type === 'address') {
64
- return decodeAddress(value);
65
- }
66
- if (param.type === 'bool') {
67
- return decodeBool(value);
39
+ return decodeArray(cursor, { ...param, type }, { length, staticPosition });
68
40
  }
41
+ if (param.type === 'tuple')
42
+ return decodeTuple(cursor, param, { staticPosition });
43
+ if (param.type === 'address')
44
+ return decodeAddress(cursor);
45
+ if (param.type === 'bool')
46
+ return decodeBool(cursor);
47
+ if (param.type.startsWith('bytes'))
48
+ return decodeBytes(cursor, param, { staticPosition });
49
+ if (param.type.startsWith('uint') || param.type.startsWith('int'))
50
+ return decodeNumber(cursor, param);
51
+ if (param.type === 'string')
52
+ return decodeString(cursor, { staticPosition });
69
53
  throw new InvalidAbiDecodingTypeError(param.type, {
70
54
  docsPath: '/docs/contract/decodeAbiParameters',
71
55
  });
72
56
  }
73
- function decodeAddress(value) {
74
- return { consumed: 32, value: checksumAddress(slice(value, -20)) };
57
+ ////////////////////////////////////////////////////////////////////
58
+ // Type Decoders
59
+ const sizeOfLength = 32;
60
+ const sizeOfOffset = 32;
61
+ function decodeAddress(cursor) {
62
+ const value = cursor.readBytes(32);
63
+ return [checksumAddress(bytesToHex(sliceBytes(value, -20))), 32];
75
64
  }
76
- function decodeArray(data, { param, length, position, }) {
65
+ function decodeArray(cursor, param, { length, staticPosition }) {
77
66
  // If the length of the array is not known in advance (dynamic array),
78
- // we will need to decode the offset of the array data.
67
+ // this means we will need to wonder off to the pointer and decode.
79
68
  if (!length) {
80
- // Get the offset of the array data.
81
- const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));
82
- if (offset < position)
83
- throw new AbiDecodingOffsetOutOfBoundsError({ offset, position });
69
+ // Dealing with a dynamic type, so get the offset of the array data.
70
+ const offset = bytesToNumber(cursor.readBytes(sizeOfOffset));
71
+ // Start is the static position of current slot + offset.
72
+ const start = staticPosition + offset;
73
+ const startOfData = start + sizeOfLength;
84
74
  // Get the length of the array from the offset.
85
- const length = hexToNumber(slice(data, offset, offset + 32, { strict: true }));
75
+ cursor.setPosition(start);
76
+ const length = bytesToNumber(cursor.readBytes(sizeOfLength));
77
+ // Check if the array has any dynamic children.
78
+ const dynamicChild = hasDynamicChild(param);
86
79
  let consumed = 0;
87
80
  const value = [];
88
81
  for (let i = 0; i < length; ++i) {
89
- const decodedChild = decodeParam({
90
- data: slice(data, offset + 32),
91
- param,
92
- position: consumed,
82
+ // If any of the children is dynamic, then all elements will be offset pointer, thus size of one slot (32 bytes).
83
+ // Otherwise, elements will be the size of their encoding (consumed bytes).
84
+ cursor.setPosition(startOfData + (dynamicChild ? i * 32 : consumed));
85
+ const [data, consumed_] = decodeParameter(cursor, param, {
86
+ staticPosition: startOfData,
93
87
  });
94
- consumed += decodedChild.consumed;
95
- value.push(decodedChild.value);
88
+ consumed += consumed_;
89
+ value.push(data);
96
90
  }
97
- return { value, consumed: 32 };
91
+ // As we have gone wondering, restore to the original position + next slot.
92
+ cursor.setPosition(staticPosition + 32);
93
+ return [value, 32];
98
94
  }
99
95
  // If the length of the array is known in advance,
100
96
  // and the length of an element deeply nested in the array is not known,
101
97
  // we need to decode the offset of the array data.
102
98
  if (hasDynamicChild(param)) {
103
- // Get the child type of the array.
104
- const arrayComponents = getArrayComponents(param.type);
105
- // If the child type is not known, the array is dynamic.
106
- const dynamicChild = !arrayComponents?.[0];
107
- let consumed = 0;
99
+ // Dealing with dynamic types, so get the offset of the array data.
100
+ const offset = bytesToNumber(cursor.readBytes(sizeOfOffset));
101
+ // Start is the static position of current slot + offset.
102
+ const start = staticPosition + offset;
108
103
  const value = [];
109
104
  for (let i = 0; i < length; ++i) {
110
- const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));
111
- const decodedChild = decodeParam({
112
- data: slice(data, offset),
113
- param,
114
- position: dynamicChild ? consumed : i * 32,
105
+ // Move cursor along to the next slot (next offset pointer).
106
+ cursor.setPosition(start + i * 32);
107
+ const [data] = decodeParameter(cursor, param, {
108
+ staticPosition: start,
115
109
  });
116
- consumed += decodedChild.consumed;
117
- value.push(decodedChild.value);
110
+ value.push(data);
118
111
  }
119
- return { value, consumed: 32 };
112
+ // As we have gone wondering, restore to the original position + next slot.
113
+ cursor.setPosition(staticPosition + 32);
114
+ return [value, 32];
120
115
  }
121
- // If the length of the array is known in advance,
122
- // and the length of each element in the array is known,
123
- // the array data is encoded contiguously after the array.
116
+ // If the length of the array is known in advance and the array is deeply static,
117
+ // then we can just decode each element in sequence.
124
118
  let consumed = 0;
125
119
  const value = [];
126
120
  for (let i = 0; i < length; ++i) {
127
- const decodedChild = decodeParam({
128
- data,
129
- param,
130
- position: position + consumed,
121
+ const [data, consumed_] = decodeParameter(cursor, param, {
122
+ staticPosition: staticPosition + consumed,
131
123
  });
132
- consumed += decodedChild.consumed;
133
- value.push(decodedChild.value);
124
+ consumed += consumed_;
125
+ value.push(data);
134
126
  }
135
- return { value, consumed };
127
+ return [value, consumed];
136
128
  }
137
- function decodeBool(value) {
138
- return { consumed: 32, value: hexToBool(value) };
129
+ function decodeBool(cursor) {
130
+ return [bytesToBool(cursor.readBytes(32), { size: 32 }), 32];
139
131
  }
140
- function decodeBytes(data, { param, position }) {
132
+ function decodeBytes(cursor, param, { staticPosition }) {
141
133
  const [_, size] = param.type.split('bytes');
142
134
  if (!size) {
143
- // If we don't have a size, we're dealing with a dynamic-size array
144
- // so we need to read the offset of the data part first.
145
- const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));
146
- const length = hexToNumber(slice(data, offset, offset + 32, { strict: true }));
135
+ // Dealing with dynamic types, so get the offset of the bytes data.
136
+ const offset = bytesToNumber(cursor.readBytes(32));
137
+ // Set position of the cursor to start of bytes data.
138
+ cursor.setPosition(staticPosition + offset);
139
+ const length = bytesToNumber(cursor.readBytes(32));
147
140
  // If there is no length, we have zero data.
148
- if (length === 0)
149
- return { consumed: 32, value: '0x' };
150
- const value = slice(data, offset + 32, offset + 32 + length, {
151
- strict: true,
152
- });
153
- return { consumed: 32, value };
141
+ if (length === 0) {
142
+ // As we have gone wondering, restore to the original position + next slot.
143
+ cursor.setPosition(staticPosition + 32);
144
+ return ['0x', 32];
145
+ }
146
+ const data = cursor.readBytes(length);
147
+ // As we have gone wondering, restore to the original position + next slot.
148
+ cursor.setPosition(staticPosition + 32);
149
+ return [bytesToHex(data), 32];
154
150
  }
155
- const value = slice(data, position, position + parseInt(size), {
156
- strict: true,
157
- });
158
- return { consumed: 32, value };
151
+ const value = bytesToHex(cursor.readBytes(parseInt(size), 32));
152
+ return [value, 32];
159
153
  }
160
- function decodeNumber(value, { param }) {
154
+ function decodeNumber(cursor, param) {
161
155
  const signed = param.type.startsWith('int');
162
156
  const size = parseInt(param.type.split('int')[1] || '256');
163
- return {
164
- consumed: 32,
165
- value: size > 48
166
- ? hexToBigInt(value, { signed })
167
- : hexToNumber(value, { signed }),
168
- };
157
+ const value = cursor.readBytes(32);
158
+ return [
159
+ size > 48
160
+ ? bytesToBigInt(value, { signed })
161
+ : bytesToNumber(value, { signed }),
162
+ 32,
163
+ ];
169
164
  }
170
- function decodeString(data, { position }) {
171
- const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));
172
- const length = hexToNumber(slice(data, offset, offset + 32, { strict: true }));
173
- // If there is no length, we have zero data (empty string).
174
- if (length === 0)
175
- return { consumed: 32, value: '' };
176
- const value = hexToString(trim(slice(data, offset + 32, offset + 32 + length, { strict: true })));
177
- return { consumed: 32, value };
178
- }
179
- function decodeTuple(data, { param, position }) {
165
+ function decodeTuple(cursor, param, { staticPosition }) {
180
166
  // Tuples can have unnamed components (i.e. they are arrays), so we must
181
167
  // determine whether the tuple is named or unnamed. In the case of a named
182
168
  // tuple, the value will be an object where each property is the name of the
@@ -189,33 +175,52 @@ function decodeTuple(data, { param, position }) {
189
175
  // If the tuple has a dynamic child, we must first decode the offset to the
190
176
  // tuple data.
191
177
  if (hasDynamicChild(param)) {
192
- const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));
193
- // Decode each component of the tuple, starting at the offset.
178
+ // Dealing with dynamic types, so get the offset of the tuple data.
179
+ const offset = bytesToNumber(cursor.readBytes(sizeOfOffset));
180
+ // Start is the static position of referencing slot + offset.
181
+ const start = staticPosition + offset;
194
182
  for (let i = 0; i < param.components.length; ++i) {
195
183
  const component = param.components[i];
196
- const decodedChild = decodeParam({
197
- data: slice(data, offset),
198
- param: component,
199
- position: consumed,
184
+ cursor.setPosition(start + consumed);
185
+ const [data, consumed_] = decodeParameter(cursor, component, {
186
+ staticPosition: start,
200
187
  });
201
- consumed += decodedChild.consumed;
202
- value[hasUnnamedChild ? i : component?.name] = decodedChild.value;
188
+ consumed += consumed_;
189
+ value[hasUnnamedChild ? i : component?.name] = data;
203
190
  }
204
- return { consumed: 32, value };
191
+ // As we have gone wondering, restore to the original position + next slot.
192
+ cursor.setPosition(staticPosition + 32);
193
+ return [value, 32];
205
194
  }
206
195
  // If the tuple has static children, we can just decode each component
207
196
  // in sequence.
208
197
  for (let i = 0; i < param.components.length; ++i) {
209
198
  const component = param.components[i];
210
- const decodedChild = decodeParam({
211
- data,
212
- param: component,
213
- position: position + consumed,
199
+ const [data, consumed_] = decodeParameter(cursor, component, {
200
+ staticPosition,
214
201
  });
215
- consumed += decodedChild.consumed;
216
- value[hasUnnamedChild ? i : component?.name] = decodedChild.value;
202
+ value[hasUnnamedChild ? i : component?.name] = data;
203
+ consumed += consumed_;
204
+ }
205
+ return [value, consumed];
206
+ }
207
+ function decodeString(cursor, { staticPosition }) {
208
+ // Get offset to start of string data.
209
+ const offset = bytesToNumber(cursor.readBytes(32));
210
+ // Start is the static position of current slot + offset.
211
+ const start = staticPosition + offset;
212
+ cursor.setPosition(start);
213
+ const length = bytesToNumber(cursor.readBytes(32));
214
+ // If there is no length, we have zero data (empty string).
215
+ if (length === 0) {
216
+ cursor.setPosition(staticPosition + 32);
217
+ return ['', 32];
217
218
  }
218
- return { consumed, value };
219
+ const data = cursor.readBytes(length, 32);
220
+ const value = bytesToString(trim(data));
221
+ // As we have gone wondering, restore to the original position + next slot.
222
+ cursor.setPosition(staticPosition + 32);
223
+ return [value, 32];
219
224
  }
220
225
  function hasDynamicChild(param) {
221
226
  const { type } = param;
@@ -1 +1 @@
1
- {"version":3,"file":"decodeAbiParameters.js","sourceRoot":"","sources":["../../../utils/abi/decodeAbiParameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decodeAbiParameters.js","sourceRoot":"","sources":["../../../utils/abi/decodeAbiParameters.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { AbiDecodingDataSizeTooSmallError, AbiEventSignatureEmptyTopicsError, AbiEventSignatureNotFoundError, DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';
2
+ import { size } from '../data/size.js';
2
3
  import { getEventSelector, } from '../hash/getEventSelector.js';
4
+ import { PositionOutOfBoundsError } from '../../errors/cursor.js';
3
5
  import { decodeAbiParameters, } from './decodeAbiParameters.js';
4
6
  import { formatAbiItem } from './formatAbiItem.js';
5
7
  const docsPath = '/docs/contract/decodeEventLog';
@@ -46,12 +48,13 @@ export function decodeEventLog(parameters) {
46
48
  }
47
49
  catch (err) {
48
50
  if (strict) {
49
- if (err instanceof AbiDecodingDataSizeTooSmallError)
51
+ if (err instanceof AbiDecodingDataSizeTooSmallError ||
52
+ err instanceof PositionOutOfBoundsError)
50
53
  throw new DecodeLogDataMismatch({
51
54
  abiItem,
52
- data: err.data,
53
- params: err.params,
54
- size: err.size,
55
+ data: data,
56
+ params: nonIndexedInputs,
57
+ size: size(data),
55
58
  });
56
59
  throw err;
57
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decodeEventLog.js","sourceRoot":"","sources":["../../../utils/abi/decodeEventLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decodeEventLog.js","sourceRoot":"","sources":["../../../utils/abi/decodeEventLog.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,18 @@
1
- import { NegativeOffsetError, PositionOutOfBoundsError, } from '../errors/cursor.js';
1
+ import { NegativeOffsetError, PositionOutOfBoundsError, RecursiveReadLimitExceededError, } from '../errors/cursor.js';
2
2
  const staticCursor = {
3
3
  bytes: new Uint8Array(),
4
4
  dataView: new DataView(new ArrayBuffer(0)),
5
5
  position: 0,
6
+ positionReadCount: new Map(),
7
+ recursiveReadCount: 0,
8
+ recursiveReadLimit: Infinity,
9
+ assertReadLimit() {
10
+ if (this.recursiveReadCount >= this.recursiveReadLimit)
11
+ throw new RecursiveReadLimitExceededError({
12
+ count: this.recursiveReadCount + 1,
13
+ limit: this.recursiveReadLimit,
14
+ });
15
+ },
6
16
  assertPosition(position) {
7
17
  if (position < 0 || position > this.bytes.length - 1)
8
18
  throw new PositionOutOfBoundsError({
@@ -17,6 +27,9 @@ const staticCursor = {
17
27
  this.assertPosition(position);
18
28
  this.position = position;
19
29
  },
30
+ getReadCount(position) {
31
+ return this.positionReadCount.get(position || this.position) || 0;
32
+ },
20
33
  incrementPosition(offset) {
21
34
  if (offset < 0)
22
35
  throw new NegativeOffsetError({ offset });
@@ -87,44 +100,68 @@ const staticCursor = {
87
100
  this.position += 4;
88
101
  },
89
102
  readByte() {
103
+ this.assertReadLimit();
104
+ this._touch();
90
105
  const value = this.inspectByte();
91
106
  this.position++;
92
107
  return value;
93
108
  },
94
- readBytes(length) {
109
+ readBytes(length, size) {
110
+ this.assertReadLimit();
111
+ this._touch();
95
112
  const value = this.inspectBytes(length);
96
- this.position += length;
113
+ this.position += size ?? length;
97
114
  return value;
98
115
  },
99
116
  readUint8() {
117
+ this.assertReadLimit();
118
+ this._touch();
100
119
  const value = this.inspectUint8();
101
120
  this.position += 1;
102
121
  return value;
103
122
  },
104
123
  readUint16() {
124
+ this.assertReadLimit();
125
+ this._touch();
105
126
  const value = this.inspectUint16();
106
127
  this.position += 2;
107
128
  return value;
108
129
  },
109
130
  readUint24() {
131
+ this.assertReadLimit();
132
+ this._touch();
110
133
  const value = this.inspectUint24();
111
134
  this.position += 3;
112
135
  return value;
113
136
  },
114
137
  readUint32() {
138
+ this.assertReadLimit();
139
+ this._touch();
115
140
  const value = this.inspectUint32();
116
141
  this.position += 4;
117
142
  return value;
118
143
  },
119
144
  setPosition(position) {
145
+ const oldPosition = this.position;
120
146
  this.assertPosition(position);
121
147
  this.position = position;
148
+ return () => (this.position = oldPosition);
149
+ },
150
+ _touch() {
151
+ if (this.recursiveReadLimit === Infinity)
152
+ return;
153
+ const count = this.getReadCount();
154
+ this.positionReadCount.set(this.position, count + 1);
155
+ if (count > 0)
156
+ this.recursiveReadCount++;
122
157
  },
123
158
  };
124
- export function createCursor(bytes) {
159
+ export function createCursor(bytes, { recursiveReadLimit = 8192 } = {}) {
125
160
  const cursor = Object.create(staticCursor);
126
161
  cursor.bytes = bytes;
127
162
  cursor.dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
163
+ cursor.positionReadCount = new Map();
164
+ cursor.recursiveReadLimit = recursiveReadLimit;
128
165
  return cursor;
129
166
  }
130
167
  //# sourceMappingURL=cursor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../utils/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,qBAAqB,CAAA;AA8C5B,MAAM,YAAY,GAAW;IAC3B,KAAK,EAAE,IAAI,UAAU,EAAE;IACvB,QAAQ,EAAE,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC;IACX,cAAc,CAAC,QAAQ;QACrB,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAClD,MAAM,IAAI,wBAAwB,CAAC;gBACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACzB,QAAQ;aACT,CAAC,CAAA;IACN,CAAC;IACD,iBAAiB,CAAC,MAAM;QACtB,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IACD,iBAAiB,CAAC,MAAM;QACtB,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IACD,WAAW,CAAC,SAAS;QACnB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,SAAS;QAC5B,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAA;IACzD,CAAC;IACD,YAAY,CAAC,SAAS;QACpB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IACD,aAAa,CAAC,SAAS;QACrB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IACD,aAAa,CAAC,SAAS;QACrB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CACrC,CAAA;IACH,CAAC;IACD,aAAa,CAAC,SAAS;QACrB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IACD,QAAQ,CAAC,IAAuB;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAA;IACjB,CAAC;IACD,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAA;IAC/B,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAA;IACjB,CAAC;IACD,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;IACpB,CAAC;IACD,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,UAAU,CAAC,CAAA;QAC9D,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;IACpB,CAAC;IACD,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;IACpB,CAAC;IACD,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,OAAO,KAAK,CAAA;IACd,CAAC;IACD,SAAS,CAAC,MAAM;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAA;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,WAAW,CAAC,QAAQ;QAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAC5B,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU,CACjB,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../utils/cursor.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ export function bytesToBigInt(bytes, opts = {}) {
56
56
  if (typeof opts.size !== 'undefined')
57
57
  assertSize(bytes, { size: opts.size });
58
58
  const hex = bytesToHex(bytes, opts);
59
- return hexToBigInt(hex);
59
+ return hexToBigInt(hex, opts);
60
60
  }
61
61
  /**
62
62
  * Decodes a byte array into a boolean.
@@ -100,7 +100,7 @@ export function bytesToNumber(bytes, opts = {}) {
100
100
  if (typeof opts.size !== 'undefined')
101
101
  assertSize(bytes, { size: opts.size });
102
102
  const hex = bytesToHex(bytes, opts);
103
- return hexToNumber(hex);
103
+ return hexToNumber(hex, opts);
104
104
  }
105
105
  /**
106
106
  * Decodes a byte array into a UTF-8 string.