viem 0.0.1-alpha.37 → 0.0.1-alpha.39

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 (52) hide show
  1. package/dist/abi.d.ts +4 -3
  2. package/dist/abi.js +12 -2
  3. package/dist/abi.mjs +13 -3
  4. package/dist/{chain-a34aa9a2.d.ts → chain-5158a02f.d.ts} +12 -4
  5. package/dist/{chain-b1229232.d.ts → chain-cac82525.d.ts} +1 -1
  6. package/dist/chains.d.ts +3 -3
  7. package/dist/chains.js +46 -46
  8. package/dist/chains.mjs +1 -1
  9. package/dist/{chunk-534U2FZG.js → chunk-2KSQF3Q7.js} +120 -16
  10. package/dist/chunk-2KSQF3Q7.js.map +1 -0
  11. package/dist/{chunk-JXFHSHM6.js → chunk-ROQGAAPK.js} +21 -21
  12. package/dist/{chunk-AS2YWIFN.mjs → chunk-SULUCPAP.mjs} +2 -2
  13. package/dist/{chunk-WVZFIDQ5.mjs → chunk-X3GO6GTM.mjs} +119 -15
  14. package/dist/chunk-X3GO6GTM.mjs.map +1 -0
  15. package/dist/contract.d.ts +8 -8
  16. package/dist/contract.js +2 -2
  17. package/dist/contract.mjs +1 -1
  18. package/dist/{createClient-8024655d.d.ts → createClient-d2007ad2.d.ts} +2 -2
  19. package/dist/{createPublicClient-f283b09d.d.ts → createPublicClient-8e4c77d4.d.ts} +28 -26
  20. package/dist/{eip1193-a4f254d2.d.ts → eip1193-0e3a7edf.d.ts} +2 -1
  21. package/dist/{encodeFunctionResult-c3d6c7ea.d.ts → encodeFunctionResult-12619aad.d.ts} +1 -1
  22. package/dist/encodePacked-06d825cc.d.ts +12 -0
  23. package/dist/ens.d.ts +5 -5
  24. package/dist/ens.js +3 -3
  25. package/dist/ens.mjs +2 -2
  26. package/dist/{formatAbiItem-d79cb207.d.ts → formatAbiItem-786dbf93.d.ts} +1 -1
  27. package/dist/{getAbiItem-48e793da.d.ts → getAbiItem-82247ac8.d.ts} +1 -1
  28. package/dist/index.d.ts +14 -13
  29. package/dist/index.js +98 -88
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +12 -2
  32. package/dist/index.mjs.map +1 -1
  33. package/dist/{parseGwei-a8c67c77.d.ts → parseGwei-af6d8023.d.ts} +7 -7
  34. package/dist/public.d.ts +6 -6
  35. package/dist/public.js +2 -2
  36. package/dist/public.mjs +1 -1
  37. package/dist/{test-f8bc2fa7.d.ts → test-6103c96c.d.ts} +13 -13
  38. package/dist/test.d.ts +6 -6
  39. package/dist/test.js +2 -2
  40. package/dist/test.mjs +1 -1
  41. package/dist/utils/index.d.ts +20 -14
  42. package/dist/utils/index.js +18 -2
  43. package/dist/utils/index.mjs +17 -1
  44. package/dist/wallet.d.ts +5 -5
  45. package/dist/wallet.js +2 -2
  46. package/dist/wallet.mjs +1 -1
  47. package/dist/window.d.ts +3 -3
  48. package/package.json +2 -2
  49. package/dist/chunk-534U2FZG.js.map +0 -1
  50. package/dist/chunk-WVZFIDQ5.mjs.map +0 -1
  51. /package/dist/{chunk-JXFHSHM6.js.map → chunk-ROQGAAPK.js.map} +0 -0
  52. /package/dist/{chunk-AS2YWIFN.mjs.map → chunk-SULUCPAP.mjs.map} +0 -0
@@ -11,27 +11,27 @@
11
11
 
12
12
 
13
13
 
14
- var _chunk534U2FZGjs = require('./chunk-534U2FZG.js');
14
+ var _chunk2KSQF3Q7js = require('./chunk-2KSQF3Q7.js');
15
15
 
16
16
  // src/utils/ens/labelhash.ts
17
17
  function labelhash(label) {
18
18
  let result = new Uint8Array(32).fill(0);
19
19
  if (!label)
20
- return _chunk534U2FZGjs.bytesToHex.call(void 0, result);
21
- return _chunk534U2FZGjs.keccak256.call(void 0, _chunk534U2FZGjs.stringToBytes.call(void 0, label));
20
+ return _chunk2KSQF3Q7js.bytesToHex.call(void 0, result);
21
+ return _chunk2KSQF3Q7js.keccak256.call(void 0, _chunk2KSQF3Q7js.stringToBytes.call(void 0, label));
22
22
  }
23
23
 
24
24
  // src/utils/ens/namehash.ts
25
25
  function namehash(name) {
26
26
  let result = new Uint8Array(32).fill(0);
27
27
  if (!name)
28
- return _chunk534U2FZGjs.bytesToHex.call(void 0, result);
28
+ return _chunk2KSQF3Q7js.bytesToHex.call(void 0, result);
29
29
  const labels = name.split(".");
30
30
  for (let i = labels.length - 1; i >= 0; i -= 1) {
31
- const hashed = _chunk534U2FZGjs.keccak256.call(void 0, _chunk534U2FZGjs.stringToBytes.call(void 0, labels[i]), "bytes");
32
- result = _chunk534U2FZGjs.keccak256.call(void 0, _chunk534U2FZGjs.concat.call(void 0, [result, hashed]), "bytes");
31
+ const hashed = _chunk2KSQF3Q7js.keccak256.call(void 0, _chunk2KSQF3Q7js.stringToBytes.call(void 0, labels[i]), "bytes");
32
+ result = _chunk2KSQF3Q7js.keccak256.call(void 0, _chunk2KSQF3Q7js.concat.call(void 0, [result, hashed]), "bytes");
33
33
  }
34
- return _chunk534U2FZGjs.bytesToHex.call(void 0, result);
34
+ return _chunk2KSQF3Q7js.bytesToHex.call(void 0, result);
35
35
  }
36
36
 
37
37
  // src/utils/ens/packetToBytes.ts
@@ -39,7 +39,7 @@ function packetToBytes(packet) {
39
39
  function length(value2) {
40
40
  if (value2 === "." || value2 === "..")
41
41
  return 1;
42
- return _chunk534U2FZGjs.toBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
42
+ return _chunk2KSQF3Q7js.toBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
43
43
  }
44
44
  const bytes = new Uint8Array(length(packet));
45
45
  const value = packet.replace(/^\.|\.$/gm, "");
@@ -48,7 +48,7 @@ function packetToBytes(packet) {
48
48
  let offset = 0;
49
49
  const list = value.split(".");
50
50
  for (let i = 0; i < list.length; i++) {
51
- const encoded = _chunk534U2FZGjs.toBytes.call(void 0, list[i]);
51
+ const encoded = _chunk2KSQF3Q7js.toBytes.call(void 0, list[i]);
52
52
  bytes[offset] = encoded.length;
53
53
  bytes.set(encoded, offset + 1);
54
54
  offset += encoded.length + 1;
@@ -71,12 +71,12 @@ async function getEnsAddress(client, {
71
71
  );
72
72
  const contract = _optionalChain([client, 'access', _ => _.chain, 'optionalAccess', _2 => _2.contracts, 'optionalAccess', _3 => _3.ensUniversalResolver]);
73
73
  if (!contract)
74
- throw new (0, _chunk534U2FZGjs.ChainDoesNotSupportContract)({
74
+ throw new (0, _chunk2KSQF3Q7js.ChainDoesNotSupportContract)({
75
75
  chain: client.chain,
76
76
  contract: { name: "ensUniversalResolver" }
77
77
  });
78
78
  if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
79
- throw new (0, _chunk534U2FZGjs.ChainDoesNotSupportContract)({
79
+ throw new (0, _chunk2KSQF3Q7js.ChainDoesNotSupportContract)({
80
80
  blockNumber,
81
81
  chain: client.chain,
82
82
  contract: {
@@ -86,7 +86,7 @@ async function getEnsAddress(client, {
86
86
  });
87
87
  universalResolverAddress = contract.address;
88
88
  }
89
- const res = await _chunk534U2FZGjs.readContract.call(void 0, client, {
89
+ const res = await _chunk2KSQF3Q7js.readContract.call(void 0, client, {
90
90
  address: universalResolverAddress,
91
91
  abi: [
92
92
  {
@@ -105,8 +105,8 @@ async function getEnsAddress(client, {
105
105
  ],
106
106
  functionName: "resolve",
107
107
  args: [
108
- _chunk534U2FZGjs.toHex.call(void 0, packetToBytes(name)),
109
- _chunk534U2FZGjs.encodeFunctionData.call(void 0, {
108
+ _chunk2KSQF3Q7js.toHex.call(void 0, packetToBytes(name)),
109
+ _chunk2KSQF3Q7js.encodeFunctionData.call(void 0, {
110
110
  abi: [
111
111
  {
112
112
  name: "addr",
@@ -123,7 +123,7 @@ async function getEnsAddress(client, {
123
123
  blockNumber,
124
124
  blockTag
125
125
  });
126
- return _chunk534U2FZGjs.decodeFunctionResult.call(void 0, {
126
+ return _chunk2KSQF3Q7js.decodeFunctionResult.call(void 0, {
127
127
  abi: [
128
128
  {
129
129
  name: "addr",
@@ -153,12 +153,12 @@ async function getEnsName(client, {
153
153
  );
154
154
  const contract = _optionalChain([client, 'access', _4 => _4.chain, 'optionalAccess', _5 => _5.contracts, 'optionalAccess', _6 => _6.ensUniversalResolver]);
155
155
  if (!contract)
156
- throw new (0, _chunk534U2FZGjs.ChainDoesNotSupportContract)({
156
+ throw new (0, _chunk2KSQF3Q7js.ChainDoesNotSupportContract)({
157
157
  chain: client.chain,
158
158
  contract: { name: "ensUniversalResolver" }
159
159
  });
160
160
  if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
161
- throw new (0, _chunk534U2FZGjs.ChainDoesNotSupportContract)({
161
+ throw new (0, _chunk2KSQF3Q7js.ChainDoesNotSupportContract)({
162
162
  blockNumber,
163
163
  chain: client.chain,
164
164
  contract: {
@@ -170,7 +170,7 @@ async function getEnsName(client, {
170
170
  }
171
171
  const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
172
172
  try {
173
- const res = await _chunk534U2FZGjs.readContract.call(void 0, client, {
173
+ const res = await _chunk2KSQF3Q7js.readContract.call(void 0, client, {
174
174
  address: universalResolverAddress,
175
175
  abi: [
176
176
  {
@@ -187,13 +187,13 @@ async function getEnsName(client, {
187
187
  }
188
188
  ],
189
189
  functionName: "reverse",
190
- args: [_chunk534U2FZGjs.toHex.call(void 0, packetToBytes(reverseNode))],
190
+ args: [_chunk2KSQF3Q7js.toHex.call(void 0, packetToBytes(reverseNode))],
191
191
  blockNumber,
192
192
  blockTag
193
193
  });
194
194
  return res[0];
195
195
  } catch (error) {
196
- if (error instanceof _chunk534U2FZGjs.ContractFunctionExecutionError && error.cause.reason === _chunk534U2FZGjs.panicReasons[50])
196
+ if (error instanceof _chunk2KSQF3Q7js.ContractFunctionExecutionError && error.cause.reason === _chunk2KSQF3Q7js.panicReasons[50])
197
197
  return null;
198
198
  throw error;
199
199
  }
@@ -205,4 +205,4 @@ async function getEnsName(client, {
205
205
 
206
206
 
207
207
  exports.labelhash = labelhash; exports.namehash = namehash; exports.getEnsAddress = getEnsAddress; exports.getEnsName = getEnsName;
208
- //# sourceMappingURL=chunk-JXFHSHM6.js.map
208
+ //# sourceMappingURL=chunk-ROQGAAPK.js.map
@@ -11,7 +11,7 @@ import {
11
11
  stringToBytes,
12
12
  toBytes,
13
13
  toHex
14
- } from "./chunk-WVZFIDQ5.mjs";
14
+ } from "./chunk-X3GO6GTM.mjs";
15
15
 
16
16
  // src/utils/ens/labelhash.ts
17
17
  function labelhash(label) {
@@ -205,4 +205,4 @@ export {
205
205
  getEnsAddress,
206
206
  getEnsName
207
207
  };
208
- //# sourceMappingURL=chunk-AS2YWIFN.mjs.map
208
+ //# sourceMappingURL=chunk-SULUCPAP.mjs.map
@@ -5,11 +5,19 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
 
8
+ // src/utils/abi/index.ts
9
+ import {
10
+ parseAbi,
11
+ parseAbiItem,
12
+ parseAbiParameter,
13
+ parseAbiParameters
14
+ } from "abitype";
15
+
8
16
  // package.json
9
17
  var package_default = {
10
18
  name: "viem",
11
19
  description: "TypeScript Interface for Ethereum",
12
- version: "0.0.1-alpha.37",
20
+ version: "0.0.1-alpha.39",
13
21
  scripts: {
14
22
  anvil: "source .env && anvil --fork-url $VITE_ANVIL_FORK_URL --fork-block-number $VITE_ANVIL_BLOCK_NUMBER --block-time $VITE_ANVIL_BLOCK_TIME",
15
23
  bench: "vitest bench --no-threads",
@@ -18,7 +26,7 @@ var package_default = {
18
26
  changeset: "changeset",
19
27
  "changeset:release": "pnpm build && changeset publish",
20
28
  "changeset:version": "changeset version && pnpm install --lockfile-only",
21
- clean: "rimraf dist chains contract ens public test utils wallet window",
29
+ clean: "rimraf dist abi chains contract ens public test utils wallet window",
22
30
  "contracts:build": "wagmi generate",
23
31
  dev: "DEV=true tsup",
24
32
  "dev:docs": "pnpm -r --filter site dev",
@@ -123,7 +131,7 @@ var package_default = {
123
131
  dependencies: {
124
132
  "@noble/hashes": "^1.1.2",
125
133
  "@wagmi/chains": "~0.2.8",
126
- abitype: "~0.5.0",
134
+ abitype: "~0.6.2",
127
135
  "idna-uts46-hx": "^4.1.2",
128
136
  "isomorphic-ws": "^5.0.0",
129
137
  ws: "^8.12.0"
@@ -138,8 +146,8 @@ var package_default = {
138
146
  "@types/fs-extra": "^9.0.13",
139
147
  "@types/node": "^17.0.45",
140
148
  "@types/ws": "^8.5.4",
141
- "@vitest/coverage-c8": "^0.24.3",
142
- "@vitest/ui": "^0.19.1",
149
+ "@vitest/coverage-c8": "^0.29.2",
150
+ "@vitest/ui": "^0.29.2",
143
151
  "@wagmi/cli": "^0.1.6",
144
152
  bun: "^0.5.5",
145
153
  bundlewatch: "^0.3.3",
@@ -153,8 +161,8 @@ var package_default = {
153
161
  "simple-git-hooks": "^2.8.1",
154
162
  tsup: "^6.6.0",
155
163
  typescript: "^4.9.4",
156
- vite: "^3.2.5",
157
- vitest: "~0.25.8",
164
+ vite: "^4.1.4",
165
+ vitest: "~0.29.2",
158
166
  web3: "^1.8.1"
159
167
  },
160
168
  license: "MIT",
@@ -175,7 +183,7 @@ var package_default = {
175
183
  },
176
184
  pnpm: {
177
185
  patchedDependencies: {
178
- "vitepress@1.0.0-alpha.47": "patches/vitepress@1.0.0-alpha.47.patch"
186
+ "vitepress@1.0.0-alpha.49": "patches/vitepress@1.0.0-alpha.49.patch"
179
187
  }
180
188
  }
181
189
  };
@@ -417,6 +425,15 @@ var AbiFunctionSignatureNotFoundError = class extends BaseError {
417
425
  __publicField(this, "name", "AbiFunctionSignatureNotFoundError");
418
426
  }
419
427
  };
428
+ var BytesSizeMismatchError = class extends BaseError {
429
+ constructor({
430
+ expectedSize,
431
+ givenSize
432
+ }) {
433
+ super(`Expected bytes${expectedSize}, got bytes${givenSize}.`);
434
+ __publicField(this, "name", "BytesSizeMismatchError");
435
+ }
436
+ };
420
437
  var InvalidAbiEncodingTypeError = class extends BaseError {
421
438
  constructor(type, { docsPath: docsPath5 }) {
422
439
  super(
@@ -458,6 +475,12 @@ var InvalidDefinitionTypeError = class extends BaseError {
458
475
  __publicField(this, "name", "InvalidDefinitionTypeError");
459
476
  }
460
477
  };
478
+ var UnsupportedPackedAbiType = class extends BaseError {
479
+ constructor(type) {
480
+ super(`Type "${type}" is not supported for packed encoding.`);
481
+ __publicField(this, "name", "UnsupportedPackedAbiType");
482
+ }
483
+ };
461
484
 
462
485
  // src/errors/address.ts
463
486
  var InvalidAddressError = class extends BaseError {
@@ -1441,6 +1464,8 @@ function pad(hexOrBytes, { dir, size: size2 = 32 } = {}) {
1441
1464
  return padBytes(hexOrBytes, { dir, size: size2 });
1442
1465
  }
1443
1466
  function padHex(hex_, { dir, size: size2 = 32 } = {}) {
1467
+ if (size2 === null)
1468
+ return hex_;
1444
1469
  let hex = hex_.replace("0x", "");
1445
1470
  if (hex.length > size2 * 2)
1446
1471
  throw new SizeExceedsPaddingSizeError({
@@ -1454,6 +1479,8 @@ function padHex(hex_, { dir, size: size2 = 32 } = {}) {
1454
1479
  )}`;
1455
1480
  }
1456
1481
  function padBytes(bytes, { dir, size: size2 = 32 } = {}) {
1482
+ if (size2 === null)
1483
+ return bytes;
1457
1484
  if (bytes.length > size2)
1458
1485
  throw new SizeExceedsPaddingSizeError({
1459
1486
  size: bytes.length,
@@ -1819,7 +1846,7 @@ function extractFunctionType(def) {
1819
1846
  import { keccak_256 } from "@noble/hashes/sha3";
1820
1847
  function keccak256(value, to_) {
1821
1848
  const to = to_ || "hex";
1822
- const bytes = keccak_256(value);
1849
+ const bytes = keccak_256(isHex(value) ? toBytes(value) : value);
1823
1850
  if (to === "bytes")
1824
1851
  return bytes;
1825
1852
  return toHex(bytes);
@@ -2233,7 +2260,10 @@ function decodeBytes(data, { param, position }) {
2233
2260
  if (!size2) {
2234
2261
  const offset = hexToNumber(slice(data, position, position + 32));
2235
2262
  const length = hexToNumber(slice(data, offset, offset + 32));
2236
- const value2 = slice(data, offset + 32, offset + 32 + length);
2263
+ const value2 = (
2264
+ // If there is no length, we have zero data.
2265
+ length === 0 ? "0x" : slice(data, offset + 32, offset + 32 + length)
2266
+ );
2237
2267
  return { consumed: 32, value: value2 };
2238
2268
  }
2239
2269
  const value = slice(data, position, position + parseInt(size2));
@@ -2630,6 +2660,72 @@ function encodeFunctionResult({
2630
2660
  return encodeAbiParameters(description.outputs, values);
2631
2661
  }
2632
2662
 
2663
+ // src/utils/regex.ts
2664
+ var arrayRegex = /^(.*)\[([0-9]*)\]$/;
2665
+ var bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;
2666
+ var integerRegex = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;
2667
+
2668
+ // src/utils/abi/encodePacked.ts
2669
+ function encodePacked(types, values) {
2670
+ if (types.length !== values.length)
2671
+ throw new AbiEncodingLengthMismatchError({
2672
+ expectedLength: types.length,
2673
+ givenLength: values.length
2674
+ });
2675
+ let data = [];
2676
+ for (let i = 0; i < types.length; i++) {
2677
+ const type = types[i];
2678
+ const value = values[i];
2679
+ data.push(encode(type, value));
2680
+ }
2681
+ return concat(data);
2682
+ }
2683
+ function encode(type, value, isArray = false) {
2684
+ if (type === "address") {
2685
+ let address = value;
2686
+ if (!isAddress(address))
2687
+ throw new InvalidAddressError({ address });
2688
+ return pad(address.toLowerCase(), {
2689
+ size: isArray ? 32 : null
2690
+ });
2691
+ }
2692
+ if (type === "string")
2693
+ return stringToHex(value);
2694
+ if (type === "bytes")
2695
+ return value;
2696
+ if (type === "bool")
2697
+ return pad(boolToHex(value), { size: isArray ? 32 : 1 });
2698
+ const intMatch = type.match(integerRegex);
2699
+ if (intMatch) {
2700
+ const [_type, baseType, bits = "256"] = intMatch;
2701
+ const size2 = parseInt(bits) / 8;
2702
+ return numberToHex(value, {
2703
+ size: isArray ? 32 : size2,
2704
+ signed: baseType === "int"
2705
+ });
2706
+ }
2707
+ const bytesMatch = type.match(bytesRegex);
2708
+ if (bytesMatch) {
2709
+ const [_type, size2] = bytesMatch;
2710
+ if (parseInt(size2) !== (value.length - 2) / 2)
2711
+ throw new BytesSizeMismatchError({
2712
+ expectedSize: parseInt(size2),
2713
+ givenSize: (value.length - 2) / 2
2714
+ });
2715
+ return pad(value, { dir: "right", size: isArray ? 32 : null });
2716
+ }
2717
+ const arrayMatch = type.match(arrayRegex);
2718
+ if (arrayMatch && Array.isArray(value)) {
2719
+ const [_type, childType] = arrayMatch;
2720
+ let data = [];
2721
+ for (let i = 0; i < value.length; i++) {
2722
+ data.push(encode(childType, value[i], true));
2723
+ }
2724
+ return concat(data);
2725
+ }
2726
+ throw new UnsupportedPackedAbiType(type);
2727
+ }
2728
+
2633
2729
  // src/utils/abi/formatAbiItemWithArgs.ts
2634
2730
  function formatAbiItemWithArgs({
2635
2731
  abiItem,
@@ -2659,7 +2755,7 @@ function getAccount(account) {
2659
2755
  throw new InvalidAddressError({ address: account.address });
2660
2756
  return {
2661
2757
  ...account,
2662
- type: "externally-owned"
2758
+ type: "local"
2663
2759
  };
2664
2760
  }
2665
2761
 
@@ -3505,7 +3601,7 @@ async function estimateGas(client, args) {
3505
3601
  to,
3506
3602
  value,
3507
3603
  ...rest
3508
- } = args.account.type === "externally-owned" ? await prepareRequest(client, args) : args;
3604
+ } = args.account.type === "local" ? await prepareRequest(client, args) : args;
3509
3605
  const blockNumberHex = blockNumber ? numberToHex(blockNumber) : void 0;
3510
3606
  assertRequest(args);
3511
3607
  const formatter = client.chain?.formatters?.transactionRequest;
@@ -4754,7 +4850,7 @@ async function sendTransaction(client, args) {
4754
4850
  const currentChainId = await getChainId(client);
4755
4851
  if (assertChain && chain && currentChainId !== chain?.id)
4756
4852
  throw new ChainMismatchError({ chain, currentChainId });
4757
- if (account.type === "externally-owned") {
4853
+ if (account.type === "local") {
4758
4854
  const chainId = chain?.id ?? currentChainId;
4759
4855
  const request2 = await prepareRequest(client, {
4760
4856
  account,
@@ -4810,7 +4906,7 @@ async function sendTransaction(client, args) {
4810
4906
 
4811
4907
  // src/actions/wallet/signMessage.ts
4812
4908
  async function signMessage(client, { account, data }) {
4813
- if (account.type === "externally-owned")
4909
+ if (account.type === "local")
4814
4910
  return account.signMessage(data);
4815
4911
  return client.request({
4816
4912
  method: "personal_sign",
@@ -5096,7 +5192,15 @@ export {
5096
5192
  encodeEventTopics,
5097
5193
  encodeFunctionData,
5098
5194
  encodeFunctionResult,
5195
+ arrayRegex,
5196
+ bytesRegex,
5197
+ integerRegex,
5198
+ encodePacked,
5099
5199
  formatAbiItemWithArgs,
5200
+ parseAbi,
5201
+ parseAbiItem,
5202
+ parseAbiParameter,
5203
+ parseAbiParameters,
5100
5204
  getAccount,
5101
5205
  isDeterministicError,
5102
5206
  buildRequest,
@@ -5203,4 +5307,4 @@ export {
5203
5307
  formatGwei,
5204
5308
  parseEther
5205
5309
  };
5206
- //# sourceMappingURL=chunk-WVZFIDQ5.mjs.map
5310
+ //# sourceMappingURL=chunk-X3GO6GTM.mjs.map