@ensdomains/ensjs 3.0.0-alpha.42 → 3.0.0-alpha.43

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 (121) hide show
  1. package/dist/cjs/functions/getDecryptedName.js +111 -0
  2. package/dist/cjs/functions/getOwner.js +3 -3
  3. package/dist/cjs/functions/getPrice.js +6 -6
  4. package/dist/cjs/functions/getProfile.js +11 -5
  5. package/dist/cjs/functions/getWrapperData.js +1 -1
  6. package/dist/cjs/functions/wrapName.js +2 -2
  7. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +2 -2
  8. package/dist/cjs/generated/factories/BulkRenewal__factory.js +2 -2
  9. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +2 -2
  10. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +2 -2
  11. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +2 -2
  12. package/dist/cjs/generated/factories/ENSRegistry__factory.js +2 -2
  13. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +2 -2
  14. package/dist/cjs/generated/factories/Multicall__factory.js +2 -2
  15. package/dist/cjs/generated/factories/NameWrapper__factory.js +2 -2
  16. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +2 -2
  17. package/dist/cjs/generated/factories/PublicResolver__factory.js +2 -2
  18. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +2 -2
  19. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +2 -2
  20. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +2 -2
  21. package/dist/cjs/generated/factories/Root__factory.js +2 -2
  22. package/dist/cjs/generated/factories/SHA1Digest__factory.js +2 -2
  23. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +2 -2
  24. package/dist/cjs/generated/factories/SHA256Digest__factory.js +2 -2
  25. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +2 -2
  26. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +2 -2
  27. package/dist/cjs/generated/factories/UniversalResolver__factory.js +2 -2
  28. package/dist/cjs/index.js +1 -0
  29. package/dist/cjs/utils/ccip.js +3 -3
  30. package/dist/cjs/utils/hexEncodedName.js +2 -0
  31. package/dist/cjs/utils/labels.js +14 -8
  32. package/dist/cjs/utils/registerHelpers.js +2 -2
  33. package/dist/cjs/utils/wrapper.js +1 -1
  34. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  35. package/dist/esm/functions/getOwner.mjs +1 -1
  36. package/dist/esm/functions/getPrice.mjs +2 -2
  37. package/dist/esm/functions/getProfile.mjs +10 -4
  38. package/dist/esm/functions/getWrapperData.mjs +1 -1
  39. package/dist/esm/functions/wrapName.mjs +1 -1
  40. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +1 -1
  41. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +1 -1
  42. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +1 -1
  43. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +1 -1
  44. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +1 -1
  45. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +1 -1
  46. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +1 -1
  47. package/dist/esm/generated/factories/Multicall__factory.mjs +1 -1
  48. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1 -1
  49. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +1 -1
  50. package/dist/esm/generated/factories/PublicResolver__factory.mjs +1 -1
  51. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +1 -1
  52. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +1 -1
  53. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +1 -1
  54. package/dist/esm/generated/factories/Root__factory.mjs +1 -1
  55. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +1 -1
  56. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +1 -1
  57. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +1 -1
  58. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +1 -1
  59. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +1 -1
  60. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +1 -1
  61. package/dist/esm/index.mjs +1 -0
  62. package/dist/esm/utils/ccip.mjs +2 -2
  63. package/dist/esm/utils/hexEncodedName.mjs +2 -0
  64. package/dist/esm/utils/labels.mjs +11 -8
  65. package/dist/esm/utils/registerHelpers.mjs +1 -1
  66. package/dist/esm/utils/wrapper.mjs +1 -1
  67. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  68. package/dist/types/functions/getPrice.d.ts +1 -1
  69. package/dist/types/functions/getProfile.d.ts +1 -0
  70. package/dist/types/functions/getRecords.d.ts +1 -0
  71. package/dist/types/functions/registerName.d.ts +1 -1
  72. package/dist/types/functions/renewNames.d.ts +1 -1
  73. package/dist/types/functions/types.d.ts +2 -0
  74. package/dist/types/index.d.ts +9 -0
  75. package/dist/types/static.d.ts +1 -1
  76. package/dist/types/utils/hexEncodedName.d.ts +1 -0
  77. package/dist/types/utils/labels.d.ts +2 -1
  78. package/dist/types/utils/wrapper.d.ts +1 -1
  79. package/package.json +1 -1
  80. package/src/functions/createSubname.ts +1 -1
  81. package/src/functions/getDecryptedName.test.ts +49 -0
  82. package/src/functions/getDecryptedName.ts +119 -0
  83. package/src/functions/getExpiry.ts +1 -1
  84. package/src/functions/getNames.test.ts +1 -1
  85. package/src/functions/getOwner.ts +2 -2
  86. package/src/functions/getPrice.ts +2 -2
  87. package/src/functions/getProfile.test.ts +7 -0
  88. package/src/functions/getProfile.ts +13 -4
  89. package/src/functions/getWrapperData.ts +1 -1
  90. package/src/functions/registerName.ts +1 -1
  91. package/src/functions/renewNames.ts +1 -1
  92. package/src/functions/types.ts +2 -0
  93. package/src/functions/wrapName.ts +1 -1
  94. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +1 -1
  95. package/src/generated/factories/BulkRenewal__factory.ts +1 -1
  96. package/src/generated/factories/DNSRegistrar__factory.ts +1 -1
  97. package/src/generated/factories/DNSSECImpl__factory.ts +1 -1
  98. package/src/generated/factories/DefaultReverseResolver__factory.ts +1 -1
  99. package/src/generated/factories/ENSRegistry__factory.ts +1 -1
  100. package/src/generated/factories/ETHRegistrarController__factory.ts +1 -1
  101. package/src/generated/factories/Multicall__factory.ts +1 -1
  102. package/src/generated/factories/NameWrapper__factory.ts +1 -1
  103. package/src/generated/factories/P256SHA256Algorithm__factory.ts +1 -1
  104. package/src/generated/factories/PublicResolver__factory.ts +1 -1
  105. package/src/generated/factories/RSASHA1Algorithm__factory.ts +1 -1
  106. package/src/generated/factories/RSASHA256Algorithm__factory.ts +1 -1
  107. package/src/generated/factories/ReverseRegistrar__factory.ts +1 -1
  108. package/src/generated/factories/Root__factory.ts +1 -1
  109. package/src/generated/factories/SHA1Digest__factory.ts +1 -1
  110. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +1 -1
  111. package/src/generated/factories/SHA256Digest__factory.ts +1 -1
  112. package/src/generated/factories/StaticMetadataService__factory.ts +1 -1
  113. package/src/generated/factories/TLDPublicSuffixList__factory.ts +1 -1
  114. package/src/generated/factories/UniversalResolver__factory.ts +1 -1
  115. package/src/index.ts +4 -0
  116. package/src/static.ts +1 -1
  117. package/src/utils/ccip.ts +2 -2
  118. package/src/utils/hexEncodedName.ts +3 -0
  119. package/src/utils/labels.ts +13 -11
  120. package/src/utils/registerHelpers.ts +1 -1
  121. package/src/utils/wrapper.ts +1 -1
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import { Interface } from '@ethersproject/abi/lib/interface'
5
+ import { Interface } from '@ethersproject/abi'
6
6
  import { Signer } from '@ethersproject/abstract-signer'
7
7
  import { Contract } from '@ethersproject/contracts'
8
8
  import type { Provider } from '@ethersproject/providers'
package/src/index.ts CHANGED
@@ -548,6 +548,10 @@ export class ENS {
548
548
  ['contracts'],
549
549
  )
550
550
 
551
+ public getDecryptedName = this.generateRawFunction<
552
+ FunctionTypes['getDecryptedName']
553
+ >('getDecryptedName', ['contracts', 'gqlInstance'])
554
+
551
555
  public universalWrapper = this.generateRawFunction<
552
556
  FunctionTypes['universalWrapper']
553
557
  >('initialGetters', ['contracts'], 'universalWrapper')
package/src/static.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { StaticJsonRpcProvider } from '@ethersproject/providers/lib/url-json-rpc-provider'
1
+ import type { StaticJsonRpcProvider } from '@ethersproject/providers'
2
2
  import { gql, GraphQLClient } from 'graphql-request'
3
3
  import { parse, print, visit } from 'graphql/language'
4
4
  import traverse from 'traverse'
package/src/utils/ccip.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
1
+ import { BigNumber } from '@ethersproject/bignumber'
2
2
  import {
3
3
  arrayify,
4
4
  BytesLike,
@@ -6,7 +6,7 @@ import {
6
6
  hexDataSlice,
7
7
  } from '@ethersproject/bytes'
8
8
  import type { BaseProvider, TransactionRequest } from '@ethersproject/providers'
9
- import { toUtf8String } from '@ethersproject/strings/lib/utf8'
9
+ import { toUtf8String } from '@ethersproject/strings'
10
10
  import type { Transaction } from '@ethersproject/transactions'
11
11
 
12
12
  function bytesPad(value: Uint8Array): Uint8Array {
@@ -2,3 +2,6 @@ import packet from 'dns-packet'
2
2
 
3
3
  export const hexEncodeName = (name: string) =>
4
4
  `0x${packet.name.encode(name).toString('hex')}`
5
+
6
+ export const hexDecodeName = (hex: string): string =>
7
+ packet.name.decode(Buffer.from(hex.slice(2), 'hex')).toString()
@@ -64,21 +64,19 @@ export function saveLabel(label: string) {
64
64
 
65
65
  export function saveName(name: string) {
66
66
  const nameArray = name.split('.')
67
- nameArray.forEach((label: any) => {
68
- saveLabel(label)
69
- })
67
+ for (const label of nameArray) {
68
+ if (!isEncodedLabelhash(label)) {
69
+ saveLabel(label)
70
+ }
71
+ }
70
72
  }
71
73
 
72
- // eslint-disable-next-line consistent-return
73
- export function checkLabel(hash: string): string | undefined {
74
+ export function checkLabel(hash: string): string {
74
75
  const labels = getLabels()
75
76
  if (isEncodedLabelhash(hash)) {
76
- return labels[decodeLabelhash(hash)]
77
- }
78
-
79
- if (hash.startsWith('0x')) {
80
- return labels[`${hash.slice(2)}`]
77
+ return labels[decodeLabelhash(hash)] || hash
81
78
  }
79
+ return hash
82
80
  }
83
81
 
84
82
  export function encodeLabel(label: any) {
@@ -101,7 +99,7 @@ export function checkIsDecrypted(string: string | string[]) {
101
99
  export function decryptName(name: string) {
102
100
  return name
103
101
  .split('.')
104
- .map((label: any) => checkLabel(label) || label)
102
+ .map((label: any) => checkLabel(label))
105
103
  .join('.')
106
104
  }
107
105
 
@@ -119,3 +117,7 @@ export function checkLocalStorageSize() {
119
117
  ? `${3 + (allStrings.length * 16) / (8 * 1024)} KB`
120
118
  : 'Empty (0 KB)'
121
119
  }
120
+
121
+ const encodedLabelRegex = /\[[a-fA-F0-9]{64}\]/g
122
+ export const getEncryptedLabelAmount = (name: string) =>
123
+ name.match(encodedLabelRegex)?.length || 0
@@ -1,4 +1,4 @@
1
- import { defaultAbiCoder } from '@ethersproject/abi/lib/abi-coder'
1
+ import { defaultAbiCoder } from '@ethersproject/abi'
2
2
  import { keccak256 } from '@ethersproject/keccak256'
3
3
  import type { PublicResolver } from '../generated'
4
4
  import { CombinedFuseInput, encodeFuses, hasFuses } from './fuses'
@@ -1,4 +1,4 @@
1
- import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
1
+ import { BigNumber } from '@ethersproject/bignumber'
2
2
  import { toUtf8Bytes } from '@ethersproject/strings'
3
3
  import { ENSArgs } from '../index'
4
4