viem 0.0.0-main.20230924T205703 → 0.0.0-main.20230924T211938

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.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.0.0-main.20230924T205703';
4
+ exports.version = '0.0.0-main.20230924T211938';
5
5
  //# sourceMappingURL=version.js.map
@@ -50,18 +50,36 @@ function hexToBytes_buffer(hex) {
50
50
  return Uint8Array.from(Buffer.from(hexString, 'hex'));
51
51
  }
52
52
  exports.hexToBytes_buffer = hexToBytes_buffer;
53
+ const charCodeMap = {
54
+ zero: 48,
55
+ nine: 57,
56
+ A: 65,
57
+ F: 70,
58
+ a: 97,
59
+ f: 102,
60
+ };
61
+ function charCodeToBase16(char) {
62
+ if (char >= charCodeMap.zero && char <= charCodeMap.nine)
63
+ return char - charCodeMap.zero;
64
+ else if (char >= charCodeMap.A && char <= charCodeMap.F)
65
+ return char - (charCodeMap.A - 10);
66
+ else if (char >= charCodeMap.a && char <= charCodeMap.f)
67
+ return char - (charCodeMap.a - 10);
68
+ return undefined;
69
+ }
53
70
  function hexToBytes_native(hex) {
54
71
  let hexString = hex.slice(2);
55
72
  if (hexString.length % 2)
56
73
  hexString = `0${hexString}`;
57
- const bytes = new Uint8Array(hexString.length / 2);
58
- for (let index = 0; index < bytes.length; index++) {
59
- const start = index * 2;
60
- const hexByte = hexString.slice(start, start + 2);
61
- const byte = Number.parseInt(hexByte, 16);
62
- if (Number.isNaN(byte) || byte < 0)
63
- throw new base_js_1.BaseError(`Invalid byte sequence ("${hexByte}" in "${hexString}").`);
64
- bytes[index] = byte;
74
+ const length = hexString.length / 2;
75
+ const bytes = new Uint8Array(length);
76
+ for (let index = 0, j = 0; index < length; index++) {
77
+ const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++));
78
+ const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++));
79
+ if (nibbleLeft === undefined || nibbleRight === undefined) {
80
+ throw new base_js_1.BaseError(`Invalid byte sequence ("${hexString[j - 2]}${hexString[j - 1]}" in "${hexString}").`);
81
+ }
82
+ bytes[index] = nibbleLeft * 16 + nibbleRight;
65
83
  }
66
84
  return bytes;
67
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toBytes.js","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toBytes.js","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = '0.0.0-main.20230924T205703';
1
+ export const version = '0.0.0-main.20230924T211938';
2
2
  //# sourceMappingURL=version.js.map
@@ -107,19 +107,38 @@ export function hexToBytes_buffer(hex) {
107
107
  throw new BaseError(`${hex} is not a valid hex value.`);
108
108
  return Uint8Array.from(Buffer.from(hexString, 'hex'));
109
109
  }
110
+ // We use very optimized technique to convert hex string to byte array
111
+ const charCodeMap = {
112
+ zero: 48,
113
+ nine: 57,
114
+ A: 65,
115
+ F: 70,
116
+ a: 97,
117
+ f: 102,
118
+ };
119
+ function charCodeToBase16(char) {
120
+ if (char >= charCodeMap.zero && char <= charCodeMap.nine)
121
+ return char - charCodeMap.zero;
122
+ else if (char >= charCodeMap.A && char <= charCodeMap.F)
123
+ return char - (charCodeMap.A - 10);
124
+ else if (char >= charCodeMap.a && char <= charCodeMap.f)
125
+ return char - (charCodeMap.a - 10);
126
+ return undefined;
127
+ }
110
128
  /** @internal */
111
129
  export function hexToBytes_native(hex) {
112
130
  let hexString = hex.slice(2);
113
131
  if (hexString.length % 2)
114
132
  hexString = `0${hexString}`;
115
- const bytes = new Uint8Array(hexString.length / 2);
116
- for (let index = 0; index < bytes.length; index++) {
117
- const start = index * 2;
118
- const hexByte = hexString.slice(start, start + 2);
119
- const byte = Number.parseInt(hexByte, 16);
120
- if (Number.isNaN(byte) || byte < 0)
121
- throw new BaseError(`Invalid byte sequence ("${hexByte}" in "${hexString}").`);
122
- bytes[index] = byte;
133
+ const length = hexString.length / 2;
134
+ const bytes = new Uint8Array(length);
135
+ for (let index = 0, j = 0; index < length; index++) {
136
+ const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++));
137
+ const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++));
138
+ if (nibbleLeft === undefined || nibbleRight === undefined) {
139
+ throw new BaseError(`Invalid byte sequence ("${hexString[j - 2]}${hexString[j - 1]}" in "${hexString}").`);
140
+ }
141
+ bytes[index] = nibbleLeft * 16 + nibbleRight;
123
142
  }
124
143
  return bytes;
125
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toBytes.js","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toBytes.js","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.0.0-main.20230924T205703";
1
+ export declare const version = "0.0.0-main.20230924T211938";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toBytes.d.ts","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAKzD,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,YAAY,CAAA;AAM9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,EAC/C,IAAI,GAAE,iBAAsB,GAC3B,SAAS,CAMX;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,aAAkB,cAQnE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,cAAmB,GAAG,SAAS,CAQ1E;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CASrD;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAgBrD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,cAG3E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,iBAAsB,GAC3B,SAAS,CAOX"}
1
+ {"version":3,"file":"toBytes.d.ts","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAKzD,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,YAAY,CAAA;AAM9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,EAC/C,IAAI,GAAE,iBAAsB,GAC3B,SAAS,CAMX;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,aAAkB,cAQnE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,cAAmB,GAAG,SAAS,CAQ1E;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CASrD;AAsBD,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAmBrD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,cAG3E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,iBAAsB,GAC3B,SAAS,CAOX"}
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20230924T205703'
1
+ export const version = '0.0.0-main.20230924T211938'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "0.0.0-main.20230924T205703",
4
+ "version": "0.0.0-main.20230924T211938",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",
@@ -131,21 +131,44 @@ export function hexToBytes_buffer(hex: Hex): ByteArray {
131
131
  return Uint8Array.from(Buffer.from(hexString, 'hex'))
132
132
  }
133
133
 
134
+ // We use very optimized technique to convert hex string to byte array
135
+ const charCodeMap = {
136
+ zero: 48,
137
+ nine: 57,
138
+ A: 65,
139
+ F: 70,
140
+ a: 97,
141
+ f: 102,
142
+ } as const
143
+
144
+ function charCodeToBase16(char: number) {
145
+ if (char >= charCodeMap.zero && char <= charCodeMap.nine)
146
+ return char - charCodeMap.zero
147
+ else if (char >= charCodeMap.A && char <= charCodeMap.F)
148
+ return char - (charCodeMap.A - 10)
149
+ else if (char >= charCodeMap.a && char <= charCodeMap.f)
150
+ return char - (charCodeMap.a - 10)
151
+ return undefined
152
+ }
153
+
134
154
  /** @internal */
135
155
  export function hexToBytes_native(hex: Hex): ByteArray {
136
156
  let hexString = hex.slice(2) as string
137
157
  if (hexString.length % 2) hexString = `0${hexString}`
138
158
 
139
- const bytes = new Uint8Array(hexString.length / 2)
140
- for (let index = 0; index < bytes.length; index++) {
141
- const start = index * 2
142
- const hexByte = hexString.slice(start, start + 2)
143
- const byte = Number.parseInt(hexByte, 16)
144
- if (Number.isNaN(byte) || byte < 0)
159
+ const length = hexString.length / 2
160
+ const bytes = new Uint8Array(length)
161
+ for (let index = 0, j = 0; index < length; index++) {
162
+ const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++))
163
+ const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++))
164
+ if (nibbleLeft === undefined || nibbleRight === undefined) {
145
165
  throw new BaseError(
146
- `Invalid byte sequence ("${hexByte}" in "${hexString}").`,
166
+ `Invalid byte sequence ("${hexString[j - 2]}${
167
+ hexString[j - 1]
168
+ }" in "${hexString}").`,
147
169
  )
148
- bytes[index] = byte
170
+ }
171
+ bytes[index] = nibbleLeft * 16 + nibbleRight
149
172
  }
150
173
  return bytes
151
174
  }