viem 0.0.1-alpha.26 → 0.0.1-alpha.28

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 (82) hide show
  1. package/dist/chain-4d46a747.d.ts +543 -0
  2. package/dist/{chain-b0cfb141.d.ts → chain-c7c44165.d.ts} +1 -1
  3. package/dist/chains.d.ts +5 -3
  4. package/dist/chains.js +46 -46
  5. package/dist/chains.mjs +1 -1
  6. package/dist/chunk-67DKKHAV.js +210 -0
  7. package/dist/chunk-67DKKHAV.js.map +1 -0
  8. package/dist/{chunk-LINNE4N4.js → chunk-7GQB4KE5.js} +219 -157
  9. package/dist/chunk-7GQB4KE5.js.map +1 -0
  10. package/dist/chunk-FPEKYEVU.js +265 -0
  11. package/dist/chunk-FPEKYEVU.js.map +1 -0
  12. package/dist/chunk-GRILGOX5.mjs +210 -0
  13. package/dist/chunk-GRILGOX5.mjs.map +1 -0
  14. package/dist/{chunk-YTG4YXMB.js → chunk-JJ4FDDDW.js} +16 -16
  15. package/dist/chunk-JJ4FDDDW.js.map +1 -0
  16. package/dist/chunk-NKO23GXR.mjs +265 -0
  17. package/dist/chunk-NKO23GXR.mjs.map +1 -0
  18. package/dist/{chunk-DSQO3E4F.js → chunk-NYWN5V47.js} +219 -59
  19. package/dist/chunk-NYWN5V47.js.map +1 -0
  20. package/dist/{chunk-BSAB6UH4.mjs → chunk-PVBEFQET.mjs} +7 -7
  21. package/dist/chunk-PVBEFQET.mjs.map +1 -0
  22. package/dist/{chunk-QSIX64VZ.mjs → chunk-RCJJFKTU.mjs} +164 -102
  23. package/dist/chunk-RCJJFKTU.mjs.map +1 -0
  24. package/dist/{chunk-PRG3BBPZ.mjs → chunk-TDOKFOQ5.mjs} +223 -63
  25. package/dist/chunk-TDOKFOQ5.mjs.map +1 -0
  26. package/dist/contract.d.ts +12 -128
  27. package/dist/contract.js +6 -4
  28. package/dist/contract.mjs +5 -3
  29. package/dist/{createClient-6689596e.d.ts → createClient-5d5c14d6.d.ts} +5 -3
  30. package/dist/createPublicClient-2b4afeac.d.ts +629 -0
  31. package/dist/{eip1193-617a05ae.d.ts → eip1193-f09a55af.d.ts} +2 -2
  32. package/dist/ens.d.ts +10 -68
  33. package/dist/ens.js +5 -199
  34. package/dist/ens.js.map +1 -1
  35. package/dist/ens.mjs +7 -201
  36. package/dist/ens.mjs.map +1 -1
  37. package/dist/formatAbiItem-d231fef2.d.ts +14 -0
  38. package/dist/{getAbiItem-d2e8bd76.d.ts → getAbiItem-0e085959.d.ts} +15 -15
  39. package/dist/index.d.ts +21 -12
  40. package/dist/index.js +368 -26
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.mjs +358 -16
  43. package/dist/index.mjs.map +1 -1
  44. package/dist/namehash-88f4639d.d.ts +22 -0
  45. package/dist/parseGwei-07adffee.d.ts +344 -0
  46. package/dist/public.d.ts +11 -334
  47. package/dist/public.js +5 -3
  48. package/dist/public.mjs +4 -2
  49. package/dist/test-b9208949.d.ts +213 -0
  50. package/dist/test.d.ts +8 -149
  51. package/dist/test.js +20 -222
  52. package/dist/test.js.map +1 -1
  53. package/dist/test.mjs +30 -232
  54. package/dist/test.mjs.map +1 -1
  55. package/dist/{transactionReceipt-44dbf122.d.ts → transactionReceipt-84fc92e1.d.ts} +1 -1
  56. package/dist/{transactionRequest-f437b4ba.d.ts → transactionRequest-44c539b4.d.ts} +1 -1
  57. package/dist/utils/index.d.ts +12 -238
  58. package/dist/utils/index.js +2 -2
  59. package/dist/utils/index.mjs +13 -13
  60. package/dist/wallet-9b1c6905.d.ts +104 -0
  61. package/dist/wallet.d.ts +7 -41
  62. package/dist/wallet.js +3 -3
  63. package/dist/wallet.mjs +2 -2
  64. package/dist/window.d.ts +4 -2
  65. package/package.json +1 -2
  66. package/dist/call-3476b8ee.d.ts +0 -22
  67. package/dist/chain-42de87e5.d.ts +0 -359
  68. package/dist/chunk-BSAB6UH4.mjs.map +0 -1
  69. package/dist/chunk-DSQO3E4F.js.map +0 -1
  70. package/dist/chunk-LINNE4N4.js.map +0 -1
  71. package/dist/chunk-PRG3BBPZ.mjs.map +0 -1
  72. package/dist/chunk-QSIX64VZ.mjs.map +0 -1
  73. package/dist/chunk-YTG4YXMB.js.map +0 -1
  74. package/dist/contract-9dd2f98b.d.ts +0 -166
  75. package/dist/createPublicClient-fd558574.d.ts +0 -19
  76. package/dist/createTestClient-bc1d9028.d.ts +0 -34
  77. package/dist/createWalletClient-4df88244.d.ts +0 -30
  78. package/dist/decodeErrorResult-ac835649.d.ts +0 -16
  79. package/dist/readContract-c460f23a.d.ts +0 -10
  80. package/dist/rpc-8c10fc98.d.ts +0 -119
  81. package/dist/sendTransaction-7ce442c0.d.ts +0 -12
  82. package/dist/watchEvent-569c9976.d.ts +0 -41
package/dist/chains.js CHANGED
@@ -4,32 +4,32 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkDSQO3E4Fjs = require('./chunk-DSQO3E4F.js');
7
+ var _chunkNYWN5V47js = require('./chunk-NYWN5V47.js');
8
8
 
9
9
  // src/chains.ts
10
10
  var _chains = require('@wagmi/chains'); var chains = _interopRequireWildcard(_chains);
11
11
  var celoFormatters = {
12
- block: _chunkDSQO3E4Fjs.defineBlock.call(void 0, {
12
+ block: _chunkNYWN5V47js.defineBlock.call(void 0, {
13
13
  exclude: ["difficulty", "gasLimit", "mixHash", "nonce", "uncles"],
14
14
  format: (block) => ({
15
15
  randomness: block.randomness
16
16
  })
17
17
  }),
18
- transaction: _chunkDSQO3E4Fjs.defineTransaction.call(void 0, {
18
+ transaction: _chunkNYWN5V47js.defineTransaction.call(void 0, {
19
19
  format: (transaction) => ({
20
20
  feeCurrency: transaction.feeCurrency,
21
21
  gatewayFee: transaction.gatewayFee ? BigInt(transaction.gatewayFee) : null,
22
22
  gatewayFeeRecipient: transaction.gatewayFeeRecipient
23
23
  })
24
24
  }),
25
- transactionReceipt: _chunkDSQO3E4Fjs.defineTransactionReceipt.call(void 0, {
25
+ transactionReceipt: _chunkNYWN5V47js.defineTransactionReceipt.call(void 0, {
26
26
  format: (transaction) => ({
27
27
  feeCurrency: transaction.feeCurrency,
28
28
  gatewayFee: transaction.gatewayFee ? BigInt(transaction.gatewayFee) : null,
29
29
  gatewayFeeRecipient: transaction.gatewayFeeRecipient
30
30
  })
31
31
  }),
32
- transactionRequest: _chunkDSQO3E4Fjs.defineTransactionRequest.call(void 0, {
32
+ transactionRequest: _chunkNYWN5V47js.defineTransactionRequest.call(void 0, {
33
33
  format: (transactionRequest) => ({
34
34
  feeCurrency: transactionRequest.feeCurrency,
35
35
  gatewayFee: transactionRequest.gatewayFee,
@@ -37,52 +37,52 @@ var celoFormatters = {
37
37
  })
38
38
  })
39
39
  };
40
- var arbitrum2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.arbitrum);
41
- var arbitrumGoerli2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.arbitrumGoerli);
42
- var aurora2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.aurora);
43
- var auroraGoerli = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.auroraTestnet);
44
- var avalanche2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.avalanche);
45
- var avalancheFuji2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.avalancheFuji);
46
- var bronos2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.bronos);
47
- var bronosTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.bronosTestnet);
48
- var bsc2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.bsc);
49
- var bscTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.bscTestnet);
50
- var canto2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.canto);
51
- var celo2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, {
40
+ var arbitrum2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.arbitrum);
41
+ var arbitrumGoerli2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.arbitrumGoerli);
42
+ var aurora2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.aurora);
43
+ var auroraGoerli = _chunkNYWN5V47js.defineChain.call(void 0, chains.auroraTestnet);
44
+ var avalanche2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.avalanche);
45
+ var avalancheFuji2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.avalancheFuji);
46
+ var bronos2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.bronos);
47
+ var bronosTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.bronosTestnet);
48
+ var bsc2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.bsc);
49
+ var bscTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.bscTestnet);
50
+ var canto2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.canto);
51
+ var celo2 = _chunkNYWN5V47js.defineChain.call(void 0, {
52
52
  ...chains.celo,
53
53
  formatters: celoFormatters
54
54
  });
55
- var celoAlfajores2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, {
55
+ var celoAlfajores2 = _chunkNYWN5V47js.defineChain.call(void 0, {
56
56
  ...chains.celoAlfajores,
57
57
  formatters: celoFormatters
58
58
  });
59
- var crossbell2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.crossbell);
60
- var evmos2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.evmos);
61
- var evmosTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.evmosTestnet);
62
- var fantom2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.fantom);
63
- var fantomTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.fantomTestnet);
64
- var filecoin2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.filecoin);
65
- var filecoinTestnet = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.filecoinHyperspace);
66
- var foundry2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.foundry);
67
- var goerli2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.goerli);
68
- var gnosis2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.gnosis);
69
- var gnosisChiado2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.gnosisChiado);
70
- var hardhat2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.hardhat);
71
- var iotex2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.iotex);
72
- var iotexTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.iotexTestnet);
73
- var localhost2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.localhost);
74
- var mainnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.mainnet);
75
- var metis2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.metis);
76
- var metisGoerli2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.metisGoerli);
77
- var optimism2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.optimism);
78
- var optimismGoerli2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.optimismGoerli);
79
- var polygon2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.polygon);
80
- var polygonMumbai2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.polygonMumbai);
81
- var sepolia2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.sepolia);
82
- var taraxa2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.taraxa);
83
- var taraxaTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.taraxaTestnet);
84
- var zkSync2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.zkSync);
85
- var zkSyncTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.zkSyncTestnet);
59
+ var crossbell2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.crossbell);
60
+ var evmos2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.evmos);
61
+ var evmosTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.evmosTestnet);
62
+ var fantom2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.fantom);
63
+ var fantomTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.fantomTestnet);
64
+ var filecoin2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.filecoin);
65
+ var filecoinTestnet = _chunkNYWN5V47js.defineChain.call(void 0, chains.filecoinHyperspace);
66
+ var foundry2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.foundry);
67
+ var goerli2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.goerli);
68
+ var gnosis2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.gnosis);
69
+ var gnosisChiado2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.gnosisChiado);
70
+ var hardhat2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.hardhat);
71
+ var iotex2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.iotex);
72
+ var iotexTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.iotexTestnet);
73
+ var localhost2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.localhost);
74
+ var mainnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.mainnet);
75
+ var metis2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.metis);
76
+ var metisGoerli2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.metisGoerli);
77
+ var optimism2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.optimism);
78
+ var optimismGoerli2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.optimismGoerli);
79
+ var polygon2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.polygon);
80
+ var polygonMumbai2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.polygonMumbai);
81
+ var sepolia2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.sepolia);
82
+ var taraxa2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.taraxa);
83
+ var taraxaTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.taraxaTestnet);
84
+ var zkSync2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.zkSync);
85
+ var zkSyncTestnet2 = _chunkNYWN5V47js.defineChain.call(void 0, chains.zkSyncTestnet);
86
86
 
87
87
 
88
88
 
@@ -125,5 +125,5 @@ var zkSyncTestnet2 = _chunkDSQO3E4Fjs.defineChain.call(void 0, chains.zkSyncTest
125
125
 
126
126
 
127
127
 
128
- exports.arbitrum = arbitrum2; exports.arbitrumGoerli = arbitrumGoerli2; exports.aurora = aurora2; exports.auroraGoerli = auroraGoerli; exports.avalanche = avalanche2; exports.avalancheFuji = avalancheFuji2; exports.bronos = bronos2; exports.bronosTestnet = bronosTestnet2; exports.bsc = bsc2; exports.bscTestnet = bscTestnet2; exports.canto = canto2; exports.celo = celo2; exports.celoAlfajores = celoAlfajores2; exports.crossbell = crossbell2; exports.defineChain = _chunkDSQO3E4Fjs.defineChain; exports.evmos = evmos2; exports.evmosTestnet = evmosTestnet2; exports.fantom = fantom2; exports.fantomTestnet = fantomTestnet2; exports.filecoin = filecoin2; exports.filecoinTestnet = filecoinTestnet; exports.foundry = foundry2; exports.gnosis = gnosis2; exports.gnosisChiado = gnosisChiado2; exports.goerli = goerli2; exports.hardhat = hardhat2; exports.iotex = iotex2; exports.iotexTestnet = iotexTestnet2; exports.localhost = localhost2; exports.mainnet = mainnet2; exports.metis = metis2; exports.metisGoerli = metisGoerli2; exports.optimism = optimism2; exports.optimismGoerli = optimismGoerli2; exports.polygon = polygon2; exports.polygonMumbai = polygonMumbai2; exports.sepolia = sepolia2; exports.taraxa = taraxa2; exports.taraxaTestnet = taraxaTestnet2; exports.zkSync = zkSync2; exports.zkSyncTestnet = zkSyncTestnet2;
128
+ exports.arbitrum = arbitrum2; exports.arbitrumGoerli = arbitrumGoerli2; exports.aurora = aurora2; exports.auroraGoerli = auroraGoerli; exports.avalanche = avalanche2; exports.avalancheFuji = avalancheFuji2; exports.bronos = bronos2; exports.bronosTestnet = bronosTestnet2; exports.bsc = bsc2; exports.bscTestnet = bscTestnet2; exports.canto = canto2; exports.celo = celo2; exports.celoAlfajores = celoAlfajores2; exports.crossbell = crossbell2; exports.defineChain = _chunkNYWN5V47js.defineChain; exports.evmos = evmos2; exports.evmosTestnet = evmosTestnet2; exports.fantom = fantom2; exports.fantomTestnet = fantomTestnet2; exports.filecoin = filecoin2; exports.filecoinTestnet = filecoinTestnet; exports.foundry = foundry2; exports.gnosis = gnosis2; exports.gnosisChiado = gnosisChiado2; exports.goerli = goerli2; exports.hardhat = hardhat2; exports.iotex = iotex2; exports.iotexTestnet = iotexTestnet2; exports.localhost = localhost2; exports.mainnet = mainnet2; exports.metis = metis2; exports.metisGoerli = metisGoerli2; exports.optimism = optimism2; exports.optimismGoerli = optimismGoerli2; exports.polygon = polygon2; exports.polygonMumbai = polygonMumbai2; exports.sepolia = sepolia2; exports.taraxa = taraxa2; exports.taraxaTestnet = taraxaTestnet2; exports.zkSync = zkSync2; exports.zkSyncTestnet = zkSyncTestnet2;
129
129
  //# sourceMappingURL=chains.js.map
package/dist/chains.mjs CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  defineTransaction,
5
5
  defineTransactionReceipt,
6
6
  defineTransactionRequest
7
- } from "./chunk-PRG3BBPZ.mjs";
7
+ } from "./chunk-TDOKFOQ5.mjs";
8
8
 
9
9
  // src/chains.ts
10
10
  import * as chains from "@wagmi/chains";
@@ -0,0 +1,210 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunk7GQB4KE5js = require('./chunk-7GQB4KE5.js');
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ var _chunkNYWN5V47js = require('./chunk-NYWN5V47.js');
17
+
18
+ // src/utils/ens/labelhash.ts
19
+ function labelhash(label) {
20
+ let result = new Uint8Array(32).fill(0);
21
+ if (!label)
22
+ return _chunkNYWN5V47js.bytesToHex.call(void 0, result);
23
+ return _chunkNYWN5V47js.keccak256.call(void 0, _chunkNYWN5V47js.stringToBytes.call(void 0, label));
24
+ }
25
+
26
+ // src/utils/ens/namehash.ts
27
+ function namehash(name) {
28
+ let result = new Uint8Array(32).fill(0);
29
+ if (!name)
30
+ return _chunkNYWN5V47js.bytesToHex.call(void 0, result);
31
+ const labels = name.split(".");
32
+ for (let i = labels.length - 1; i >= 0; i -= 1) {
33
+ const hashed = _chunkNYWN5V47js.keccak256.call(void 0, _chunkNYWN5V47js.stringToBytes.call(void 0, labels[i]), "bytes");
34
+ result = _chunkNYWN5V47js.keccak256.call(void 0, _chunkNYWN5V47js.concat.call(void 0, [result, hashed]), "bytes");
35
+ }
36
+ return _chunkNYWN5V47js.bytesToHex.call(void 0, result);
37
+ }
38
+
39
+ // src/utils/ens/packetToBytes.ts
40
+ function packetToBytes(packet) {
41
+ function length(value2) {
42
+ if (value2 === "." || value2 === "..")
43
+ return 1;
44
+ return _chunkNYWN5V47js.toBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
45
+ }
46
+ const bytes = new Uint8Array(length(packet));
47
+ const value = packet.replace(/^\.|\.$/gm, "");
48
+ if (!value.length)
49
+ return bytes;
50
+ let offset = 0;
51
+ const list = value.split(".");
52
+ for (let i = 0; i < list.length; i++) {
53
+ const encoded = _chunkNYWN5V47js.toBytes.call(void 0, list[i]);
54
+ bytes[offset] = encoded.length;
55
+ bytes.set(encoded, offset + 1);
56
+ offset += encoded.length + 1;
57
+ }
58
+ return bytes;
59
+ }
60
+
61
+ // src/actions/ens/getEnsAddress.ts
62
+ async function getEnsAddress(client, {
63
+ blockNumber,
64
+ blockTag,
65
+ name,
66
+ universalResolverAddress: universalResolverAddress_
67
+ }) {
68
+ let universalResolverAddress = universalResolverAddress_;
69
+ if (!universalResolverAddress) {
70
+ if (!client.chain)
71
+ throw new Error(
72
+ "client chain not configured. universalResolverAddress is required."
73
+ );
74
+ const contract = _optionalChain([client, 'access', _ => _.chain, 'optionalAccess', _2 => _2.contracts, 'optionalAccess', _3 => _3.ensUniversalResolver]);
75
+ if (!contract)
76
+ throw new (0, _chunkNYWN5V47js.ChainDoesNotSupportContract)({
77
+ chain: client.chain,
78
+ contract: { name: "ensUniversalResolver" }
79
+ });
80
+ if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
81
+ throw new (0, _chunkNYWN5V47js.ChainDoesNotSupportContract)({
82
+ blockNumber,
83
+ chain: client.chain,
84
+ contract: {
85
+ name: "ensUniversalResolver",
86
+ blockCreated: contract.blockCreated
87
+ }
88
+ });
89
+ universalResolverAddress = contract.address;
90
+ }
91
+ const res = await _chunk7GQB4KE5js.readContract.call(void 0, client, {
92
+ address: universalResolverAddress,
93
+ abi: [
94
+ {
95
+ name: "resolve",
96
+ type: "function",
97
+ stateMutability: "view",
98
+ inputs: [
99
+ { name: "name", type: "bytes" },
100
+ { name: "data", type: "bytes" }
101
+ ],
102
+ outputs: [
103
+ { name: "", type: "bytes" },
104
+ { name: "address", type: "address" }
105
+ ]
106
+ }
107
+ ],
108
+ functionName: "resolve",
109
+ args: [
110
+ _chunkNYWN5V47js.toHex.call(void 0, packetToBytes(name)),
111
+ _chunkNYWN5V47js.encodeFunctionData.call(void 0, {
112
+ abi: [
113
+ {
114
+ name: "addr",
115
+ type: "function",
116
+ stateMutability: "view",
117
+ inputs: [{ name: "name", type: "bytes32" }],
118
+ outputs: []
119
+ }
120
+ ],
121
+ functionName: "addr",
122
+ args: [namehash(name)]
123
+ })
124
+ ],
125
+ blockNumber,
126
+ blockTag
127
+ });
128
+ return _chunkNYWN5V47js.decodeFunctionResult.call(void 0, {
129
+ abi: [
130
+ {
131
+ name: "addr",
132
+ type: "function",
133
+ stateMutability: "view",
134
+ inputs: [],
135
+ outputs: [{ name: "name", type: "address" }]
136
+ }
137
+ ],
138
+ functionName: "addr",
139
+ data: res[0]
140
+ });
141
+ }
142
+
143
+ // src/actions/ens/getEnsName.ts
144
+ async function getEnsName(client, {
145
+ address,
146
+ blockNumber,
147
+ blockTag,
148
+ universalResolverAddress: universalResolverAddress_
149
+ }) {
150
+ let universalResolverAddress = universalResolverAddress_;
151
+ if (!universalResolverAddress) {
152
+ if (!client.chain)
153
+ throw new Error(
154
+ "client chain not configured. universalResolverAddress is required."
155
+ );
156
+ const contract = _optionalChain([client, 'access', _4 => _4.chain, 'optionalAccess', _5 => _5.contracts, 'optionalAccess', _6 => _6.ensUniversalResolver]);
157
+ if (!contract)
158
+ throw new (0, _chunkNYWN5V47js.ChainDoesNotSupportContract)({
159
+ chain: client.chain,
160
+ contract: { name: "ensUniversalResolver" }
161
+ });
162
+ if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
163
+ throw new (0, _chunkNYWN5V47js.ChainDoesNotSupportContract)({
164
+ blockNumber,
165
+ chain: client.chain,
166
+ contract: {
167
+ name: "ensUniversalResolver",
168
+ blockCreated: contract.blockCreated
169
+ }
170
+ });
171
+ universalResolverAddress = contract.address;
172
+ }
173
+ const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
174
+ try {
175
+ const res = await _chunk7GQB4KE5js.readContract.call(void 0, client, {
176
+ address: universalResolverAddress,
177
+ abi: [
178
+ {
179
+ name: "reverse",
180
+ type: "function",
181
+ stateMutability: "view",
182
+ inputs: [{ type: "bytes", name: "reverseName" }],
183
+ outputs: [
184
+ { type: "string", name: "resolvedName" },
185
+ { type: "address", name: "resolvedAddress" },
186
+ { type: "address", name: "reverseResolver" },
187
+ { type: "address", name: "resolver" }
188
+ ]
189
+ }
190
+ ],
191
+ functionName: "reverse",
192
+ args: [_chunkNYWN5V47js.toHex.call(void 0, packetToBytes(reverseNode))],
193
+ blockNumber,
194
+ blockTag
195
+ });
196
+ return res[0];
197
+ } catch (error) {
198
+ if (error instanceof _chunkNYWN5V47js.ContractFunctionExecutionError && error.cause.reason === _chunkNYWN5V47js.panicReasons[50])
199
+ return null;
200
+ throw error;
201
+ }
202
+ }
203
+
204
+
205
+
206
+
207
+
208
+
209
+ exports.labelhash = labelhash; exports.namehash = namehash; exports.getEnsAddress = getEnsAddress; exports.getEnsName = getEnsName;
210
+ //# sourceMappingURL=chunk-67DKKHAV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/ens/labelhash.ts","../src/utils/ens/namehash.ts","../src/utils/ens/packetToBytes.ts","../src/actions/ens/getEnsAddress.ts","../src/actions/ens/getEnsName.ts"],"names":["value"],"mappings":"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","sourcesContent":["import { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\n\n/**\n * @description Hashes ENS label\n *\n * @example\n * labelhash('eth')\n * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'\n */\nexport function labelhash(label: string) {\n let result = new Uint8Array(32).fill(0)\n if (!label) return bytesToHex(result)\n return keccak256(stringToBytes(label))\n}\n","import { concat } from '../data'\nimport { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\n\n/**\n * @description Hashes ENS name\n *\n * @example\n * namehash('wagmi-dev.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @see https://eips.ethereum.org/EIPS/eip-137\n * @see https://docs.ens.domains/contract-api-reference/name-processing#hashing-names\n */\nexport function namehash(name: string) {\n let result = new Uint8Array(32).fill(0)\n if (!name) return bytesToHex(result)\n\n const labels = name.split('.')\n // Iterate in reverse order building up hash\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashed = keccak256(stringToBytes(labels[i]), 'bytes')\n result = keccak256(concat([result, hashed]), 'bytes')\n }\n\n return bytesToHex(result)\n}\n","// Adapted from https://github.com/mafintosh/dns-packet\nimport { ByteArray } from '../../types'\nimport { toBytes } from '../encoding'\n\n/*\n * @description Encodes a DNS packet into a ByteArray containing a UDP payload.\n */\nexport function packetToBytes(packet: string): ByteArray {\n function length(value: string) {\n if (value === '.' || value === '..') return 1\n return toBytes(value.replace(/^\\.|\\.$/gm, '')).length + 2\n }\n\n const bytes = new Uint8Array(length(packet))\n // strip leading and trailing `.`\n const value = packet.replace(/^\\.|\\.$/gm, '')\n if (!value.length) return bytes\n\n let offset = 0\n const list = value.split('.')\n for (let i = 0; i < list.length; i++) {\n const encoded = toBytes(list[i])\n bytes[offset] = encoded.length\n bytes.set(encoded, offset + 1)\n offset += encoded.length + 1\n }\n\n return bytes\n}\n","import { PublicClient } from '../../clients'\nimport { ChainDoesNotSupportContract } from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { decodeFunctionResult, encodeFunctionData, toHex } from '../../utils'\nimport { namehash, packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractArgs } from '../public'\n\nexport type GetEnsAddressArgs = Prettify<\n Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {\n /** ENS name to get address. */\n name: string\n /** Address of ENS Universal Resolver Contract */\n universalResolverAddress?: Address\n }\n>\n\nexport type GetEnsAddressResponse = Address\n\n/**\n * @description Gets address for ENS name.\n *\n * - Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * @example\n * const ensAddress = await getEnsAddress(publicClient, {\n * name: 'wagmi-dev.eth',\n * })\n * // '0xd2135CfB216b74109775236E36d4b433F1DF507B'\n */\nexport async function getEnsAddress(\n client: PublicClient,\n {\n blockNumber,\n blockTag,\n name,\n universalResolverAddress: universalResolverAddress_,\n }: GetEnsAddressArgs,\n): Promise<GetEnsAddressResponse> {\n let universalResolverAddress = universalResolverAddress_\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error(\n 'client chain not configured. universalResolverAddress is required.',\n )\n\n const contract = client.chain?.contracts?.ensUniversalResolver\n if (!contract)\n throw new ChainDoesNotSupportContract({\n chain: client.chain,\n contract: { name: 'ensUniversalResolver' },\n })\n\n if (\n blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n )\n throw new ChainDoesNotSupportContract({\n blockNumber,\n chain: client.chain,\n contract: {\n name: 'ensUniversalResolver',\n blockCreated: contract.blockCreated,\n },\n })\n\n universalResolverAddress = contract.address\n }\n\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'resolve',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [\n { name: '', type: 'bytes' },\n { name: 'address', type: 'address' },\n ],\n },\n ],\n functionName: 'resolve',\n args: [\n toHex(packetToBytes(name)),\n encodeFunctionData({\n abi: [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'name', type: 'bytes32' }],\n outputs: [],\n },\n ],\n functionName: 'addr',\n args: [namehash(name)],\n }),\n ],\n blockNumber,\n blockTag,\n })\n return decodeFunctionResult({\n abi: [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'name', type: 'address' }],\n },\n ],\n functionName: 'addr',\n data: res[0],\n })\n}\n","import { PublicClient } from '../../clients'\nimport { panicReasons } from '../../constants'\nimport {\n ChainDoesNotSupportContract,\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n} from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { toHex } from '../../utils'\nimport { packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractArgs } from '../public'\n\nexport type GetEnsNameArgs = Prettify<\n Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {\n /** Address to get ENS name for. */\n address: Address\n /** Address of ENS Universal Resolver Contract. */\n universalResolverAddress?: Address\n }\n>\n\nexport type GetEnsNameResponse = string | null\n\n/**\n * @description Gets primary name for specified address.\n *\n * - Calls `reverse(bytes)` on ENS Universal Resolver Contract.\n *\n * @example\n * const ensName = await getEnsName(publicClient, {\n * address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',\n * })\n * // 'wagmi-dev.eth'\n */\nexport async function getEnsName(\n client: PublicClient,\n {\n address,\n blockNumber,\n blockTag,\n universalResolverAddress: universalResolverAddress_,\n }: GetEnsNameArgs,\n): Promise<GetEnsNameResponse> {\n let universalResolverAddress = universalResolverAddress_\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error(\n 'client chain not configured. universalResolverAddress is required.',\n )\n\n const contract = client.chain?.contracts?.ensUniversalResolver\n if (!contract)\n throw new ChainDoesNotSupportContract({\n chain: client.chain,\n contract: { name: 'ensUniversalResolver' },\n })\n\n if (\n blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n )\n throw new ChainDoesNotSupportContract({\n blockNumber,\n chain: client.chain,\n contract: {\n name: 'ensUniversalResolver',\n blockCreated: contract.blockCreated,\n },\n })\n\n universalResolverAddress = contract.address\n }\n\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`\n try {\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'reverse',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ type: 'bytes', name: 'reverseName' }],\n outputs: [\n { type: 'string', name: 'resolvedName' },\n { type: 'address', name: 'resolvedAddress' },\n { type: 'address', name: 'reverseResolver' },\n { type: 'address', name: 'resolver' },\n ],\n },\n ],\n functionName: 'reverse',\n args: [toHex(packetToBytes(reverseNode))],\n blockNumber,\n blockTag,\n })\n return res[0]\n } catch (error) {\n if (\n error instanceof ContractFunctionExecutionError &&\n (error.cause as ContractFunctionRevertedError).reason === panicReasons[50]\n )\n // No primary name set for address.\n return null\n throw error\n }\n}\n"]}