@ensdomains/ensjs 3.0.0-alpha.41 → 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 (190) hide show
  1. package/dist/cjs/contracts/getContractAddress.js +4 -4
  2. package/dist/cjs/functions/commitName.js +2 -3
  3. package/dist/cjs/functions/createSubname.js +2 -8
  4. package/dist/cjs/functions/getDecryptedName.js +111 -0
  5. package/dist/cjs/functions/getHistory.js +14 -7
  6. package/dist/cjs/functions/getNames.js +10 -6
  7. package/dist/cjs/functions/getOwner.js +28 -15
  8. package/dist/cjs/functions/getPrice.js +6 -6
  9. package/dist/cjs/functions/getProfile.js +11 -5
  10. package/dist/cjs/functions/getWrapperData.js +4 -5
  11. package/dist/cjs/functions/renewNames.js +13 -20
  12. package/dist/cjs/functions/{burnFuses.js → setFuses.js} +24 -6
  13. package/dist/cjs/functions/wrapName.js +9 -25
  14. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +2 -2
  15. package/dist/cjs/generated/factories/BulkRenewal__factory.js +2 -2
  16. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +2 -2
  17. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +2 -2
  18. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +2 -2
  19. package/dist/cjs/generated/factories/ENSRegistry__factory.js +2 -2
  20. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +8 -57
  21. package/dist/cjs/generated/factories/Multicall__factory.js +2 -2
  22. package/dist/cjs/generated/factories/NameWrapper__factory.js +92 -71
  23. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +2 -2
  24. package/dist/cjs/generated/factories/PublicResolver__factory.js +85 -2
  25. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +2 -2
  26. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +2 -2
  27. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +2 -2
  28. package/dist/cjs/generated/factories/Root__factory.js +2 -2
  29. package/dist/cjs/generated/factories/SHA1Digest__factory.js +2 -2
  30. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +2 -2
  31. package/dist/cjs/generated/factories/SHA256Digest__factory.js +2 -2
  32. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +2 -2
  33. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +2 -2
  34. package/dist/cjs/generated/factories/UniversalResolver__factory.js +69 -4
  35. package/dist/cjs/index.js +6 -4
  36. package/dist/cjs/utils/ccip.js +3 -3
  37. package/dist/cjs/utils/consts.js +3 -1
  38. package/dist/cjs/utils/fuses.js +218 -53
  39. package/dist/cjs/utils/hexEncodedName.js +2 -0
  40. package/dist/cjs/utils/labels.js +14 -8
  41. package/dist/cjs/utils/normalise.js +2 -2
  42. package/dist/cjs/utils/recordHelpers.js +4 -3
  43. package/dist/cjs/utils/registerHelpers.js +11 -25
  44. package/dist/cjs/utils/subgraph-types.js +16 -0
  45. package/dist/cjs/utils/wrapper.js +3 -3
  46. package/dist/esm/contracts/getContractAddress.mjs +4 -4
  47. package/dist/esm/functions/commitName.mjs +2 -3
  48. package/dist/esm/functions/createSubname.mjs +2 -2
  49. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  50. package/dist/esm/functions/getHistory.mjs +14 -7
  51. package/dist/esm/functions/getNames.mjs +10 -6
  52. package/dist/esm/functions/getOwner.mjs +26 -13
  53. package/dist/esm/functions/getPrice.mjs +2 -2
  54. package/dist/esm/functions/getProfile.mjs +10 -4
  55. package/dist/esm/functions/getWrapperData.mjs +4 -5
  56. package/dist/esm/functions/renewNames.mjs +13 -20
  57. package/dist/esm/functions/setFuses.mjs +30 -0
  58. package/dist/esm/functions/wrapName.mjs +9 -19
  59. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +1 -1
  60. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +1 -1
  61. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +1 -1
  62. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +1 -1
  63. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +1 -1
  64. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +1 -1
  65. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +7 -56
  66. package/dist/esm/generated/factories/Multicall__factory.mjs +1 -1
  67. package/dist/esm/generated/factories/NameWrapper__factory.mjs +91 -70
  68. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +1 -1
  69. package/dist/esm/generated/factories/PublicResolver__factory.mjs +84 -1
  70. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +1 -1
  71. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +1 -1
  72. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +1 -1
  73. package/dist/esm/generated/factories/Root__factory.mjs +1 -1
  74. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +1 -1
  75. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +1 -1
  76. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +1 -1
  77. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +1 -1
  78. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +1 -1
  79. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +68 -3
  80. package/dist/esm/index.mjs +6 -4
  81. package/dist/esm/utils/ccip.mjs +2 -2
  82. package/dist/esm/utils/consts.mjs +3 -1
  83. package/dist/esm/utils/fuses.mjs +218 -53
  84. package/dist/esm/utils/hexEncodedName.mjs +2 -0
  85. package/dist/esm/utils/labels.mjs +11 -8
  86. package/dist/esm/utils/normalise.mjs +1 -1
  87. package/dist/esm/utils/recordHelpers.mjs +2 -1
  88. package/dist/esm/utils/registerHelpers.mjs +10 -18
  89. package/dist/esm/utils/subgraph-types.mjs +0 -0
  90. package/dist/esm/utils/wrapper.mjs +2 -2
  91. package/dist/types/functions/commitName.d.ts +0 -1
  92. package/dist/types/functions/createSubname.d.ts +2 -2
  93. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  94. package/dist/types/functions/getHistory.d.ts +1 -1
  95. package/dist/types/functions/getNames.d.ts +3 -3
  96. package/dist/types/functions/getOwner.d.ts +1 -0
  97. package/dist/types/functions/getPrice.d.ts +1 -1
  98. package/dist/types/functions/getProfile.d.ts +1 -0
  99. package/dist/types/functions/getRecords.d.ts +1 -0
  100. package/dist/types/functions/getWrapperData.d.ts +44 -5
  101. package/dist/types/functions/registerName.d.ts +1 -1
  102. package/dist/types/functions/renewNames.d.ts +5 -6
  103. package/dist/types/functions/setFuses.d.ts +7 -0
  104. package/dist/types/functions/types.d.ts +8 -4
  105. package/dist/types/functions/wrapName.d.ts +3 -3
  106. package/dist/types/generated/ETHRegistrarController.d.ts +13 -36
  107. package/dist/types/generated/NameWrapper.d.ts +97 -52
  108. package/dist/types/generated/PublicResolver.d.ts +50 -1
  109. package/dist/types/generated/UniversalResolver.d.ts +79 -32
  110. package/dist/types/generated/factories/UniversalResolver__factory.d.ts +15 -0
  111. package/dist/types/index.d.ts +60 -9
  112. package/dist/types/static.d.ts +1 -1
  113. package/dist/types/utils/consts.d.ts +1 -0
  114. package/dist/types/utils/fuses.d.ts +115 -45
  115. package/dist/types/utils/hexEncodedName.d.ts +1 -0
  116. package/dist/types/utils/labels.d.ts +2 -1
  117. package/dist/types/utils/registerHelpers.d.ts +7 -25
  118. package/dist/types/utils/subgraph-types.d.ts +284 -0
  119. package/dist/types/utils/wrapper.d.ts +1 -1
  120. package/package.json +5 -5
  121. package/src/contracts/getContractAddress.ts +4 -4
  122. package/src/functions/commitName.test.ts +0 -3
  123. package/src/functions/commitName.ts +1 -2
  124. package/src/functions/createSubname.ts +5 -6
  125. package/src/functions/getDecryptedName.test.ts +49 -0
  126. package/src/functions/getDecryptedName.ts +119 -0
  127. package/src/functions/getExpiry.ts +1 -1
  128. package/src/functions/getHistory.ts +59 -25
  129. package/src/functions/getNames.test.ts +2 -2
  130. package/src/functions/getNames.ts +26 -13
  131. package/src/functions/getOwner.test.ts +62 -3
  132. package/src/functions/getOwner.ts +33 -13
  133. package/src/functions/getPrice.ts +2 -2
  134. package/src/functions/getProfile.test.ts +7 -0
  135. package/src/functions/getProfile.ts +13 -4
  136. package/src/functions/getWrapperData.test.ts +11 -45
  137. package/src/functions/getWrapperData.ts +8 -6
  138. package/src/functions/registerName.test.ts +3 -3
  139. package/src/functions/registerName.ts +1 -1
  140. package/src/functions/renewNames.ts +18 -24
  141. package/src/functions/setFuses.test.ts +240 -0
  142. package/src/functions/setFuses.ts +44 -0
  143. package/src/functions/types.ts +8 -4
  144. package/src/functions/wrapName.test.ts +8 -7
  145. package/src/functions/wrapName.ts +11 -25
  146. package/src/generated/ETHRegistrarController.ts +12 -79
  147. package/src/generated/NameWrapper.ts +155 -99
  148. package/src/generated/PublicResolver.ts +123 -0
  149. package/src/generated/UniversalResolver.ts +157 -16
  150. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +1 -1
  151. package/src/generated/factories/BulkRenewal__factory.ts +1 -1
  152. package/src/generated/factories/DNSRegistrar__factory.ts +1 -1
  153. package/src/generated/factories/DNSSECImpl__factory.ts +1 -1
  154. package/src/generated/factories/DefaultReverseResolver__factory.ts +1 -1
  155. package/src/generated/factories/ENSRegistry__factory.ts +1 -1
  156. package/src/generated/factories/ETHRegistrarController__factory.ts +7 -56
  157. package/src/generated/factories/Multicall__factory.ts +1 -1
  158. package/src/generated/factories/NameWrapper__factory.ts +91 -70
  159. package/src/generated/factories/P256SHA256Algorithm__factory.ts +1 -1
  160. package/src/generated/factories/PublicResolver__factory.ts +84 -1
  161. package/src/generated/factories/RSASHA1Algorithm__factory.ts +1 -1
  162. package/src/generated/factories/RSASHA256Algorithm__factory.ts +1 -1
  163. package/src/generated/factories/ReverseRegistrar__factory.ts +1 -1
  164. package/src/generated/factories/Root__factory.ts +1 -1
  165. package/src/generated/factories/SHA1Digest__factory.ts +1 -1
  166. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +1 -1
  167. package/src/generated/factories/SHA256Digest__factory.ts +1 -1
  168. package/src/generated/factories/StaticMetadataService__factory.ts +1 -1
  169. package/src/generated/factories/TLDPublicSuffixList__factory.ts +1 -1
  170. package/src/generated/factories/UniversalResolver__factory.ts +68 -3
  171. package/src/index.ts +15 -14
  172. package/src/static.ts +1 -1
  173. package/src/utils/ccip.ts +2 -2
  174. package/src/utils/consts.ts +1 -0
  175. package/src/utils/fuses.ts +299 -102
  176. package/src/utils/hexEncodedName.ts +3 -0
  177. package/src/utils/labels.ts +13 -11
  178. package/src/utils/normalise.ts +1 -1
  179. package/src/utils/recordHelpers.ts +2 -1
  180. package/src/utils/registerHelpers.ts +14 -42
  181. package/src/utils/subgraph-types.ts +312 -0
  182. package/src/utils/wrapper.ts +2 -2
  183. package/dist/cjs/utils/generateFuseInput.js +0 -40
  184. package/dist/esm/functions/burnFuses.mjs +0 -12
  185. package/dist/esm/utils/generateFuseInput.mjs +0 -15
  186. package/dist/types/functions/burnFuses.d.ts +0 -3
  187. package/dist/types/utils/generateFuseInput.d.ts +0 -3
  188. package/src/functions/burnFuses.test.ts +0 -148
  189. package/src/functions/burnFuses.ts +0 -16
  190. package/src/utils/generateFuseInput.ts +0 -13
@@ -1,148 +0,0 @@
1
- import { ethers } from 'ethers'
2
- import { ENS } from '..'
3
- import setup from '../tests/setup'
4
- import { namehash } from '../utils/normalise'
5
-
6
- let ensInstance: ENS
7
- let revert: Awaited<ReturnType<typeof setup>>['revert']
8
- let provider: ethers.providers.JsonRpcProvider
9
- let accounts: string[]
10
-
11
- beforeAll(async () => {
12
- ;({ ensInstance, revert, provider } = await setup())
13
- accounts = await provider.listAccounts()
14
- })
15
-
16
- afterAll(async () => {
17
- await revert()
18
- })
19
-
20
- describe('burnFuses', () => {
21
- beforeEach(async () => {
22
- await revert()
23
- })
24
- describe('Array', () => {
25
- it('should return a burnFuses transaction from a named fuse array and succeed', async () => {
26
- const tx = await ensInstance.burnFuses('wrapped.eth', {
27
- namedFusesToBurn: [
28
- 'CANNOT_UNWRAP',
29
- 'CANNOT_CREATE_SUBDOMAIN',
30
- 'CANNOT_SET_TTL',
31
- ],
32
- addressOrIndex: accounts[1],
33
- })
34
- expect(tx).toBeTruthy()
35
- await tx.wait()
36
-
37
- const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
38
- const [, fuses] = await nameWrapper.getData(namehash('wrapped.eth'))
39
- expect(fuses).toBe(113)
40
- })
41
- it('should return a burnFuses transaction from an unnamed fuse array and succeed', async () => {
42
- const tx0 = await ensInstance.burnFuses('wrapped.eth', {
43
- namedFusesToBurn: ['CANNOT_UNWRAP'],
44
- addressOrIndex: accounts[1],
45
- })
46
- expect(tx0).toBeTruthy()
47
- await tx0.wait()
48
-
49
- const tx = await ensInstance.burnFuses('wrapped.eth', {
50
- unnamedFusesToBurn: [128, 256, 512],
51
- addressOrIndex: accounts[1],
52
- })
53
- expect(tx).toBeTruthy()
54
- await tx.wait()
55
-
56
- const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
57
- const [, fuses] = await nameWrapper.getData(namehash('wrapped.eth'))
58
- expect(fuses).toBe(961)
59
- })
60
- it('should return a burnFuses transaction from both an unnamed and named fuse array and succeed', async () => {
61
- const tx = await ensInstance.burnFuses('wrapped.eth', {
62
- namedFusesToBurn: [
63
- 'CANNOT_UNWRAP',
64
- 'CANNOT_CREATE_SUBDOMAIN',
65
- 'CANNOT_SET_TTL',
66
- ],
67
- unnamedFusesToBurn: [128, 256, 512],
68
- addressOrIndex: accounts[1],
69
- })
70
- expect(tx).toBeTruthy()
71
- await tx.wait()
72
-
73
- const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
74
- const [, fuses] = await nameWrapper.getData(namehash('wrapped.eth'))
75
- expect(fuses).toBe(1009)
76
- })
77
- it('should throw an error when trying to burn a named fuse in an unnamed fuse array', async () => {
78
- try {
79
- await ensInstance.burnFuses('wrapped.eth', {
80
- unnamedFusesToBurn: [64] as any,
81
- })
82
- expect(false).toBeTruthy()
83
- } catch (e: any) {
84
- expect(e.message).toBe(
85
- '64 is not a valid unnamed fuse. If you are trying to burn a named fuse, use the namedFusesToBurn property.',
86
- )
87
- }
88
- })
89
- it('should throw an error when trying to burn an unnamed fuse in a named fuse array', async () => {
90
- try {
91
- await ensInstance.burnFuses('wrapped.eth', {
92
- namedFusesToBurn: ['COOL_SWAG_FUSE'] as any,
93
- })
94
- expect(false).toBeTruthy()
95
- } catch (e: any) {
96
- expect(e.message).toBe('COOL_SWAG_FUSE is not a valid named fuse.')
97
- }
98
- })
99
- })
100
- describe('Number', () => {
101
- it('should return a burnFuses transaction from a number and succeed', async () => {
102
- const tx = await ensInstance.burnFuses('wrapped.eth', {
103
- fuseNumberToBurn: 49,
104
- addressOrIndex: accounts[1],
105
- })
106
- expect(tx).toBeTruthy()
107
- await tx.wait()
108
-
109
- const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
110
- const [, fuses] = await nameWrapper.getData(namehash('wrapped.eth'))
111
- expect(fuses).toBe(113)
112
- })
113
- it('should throw an error if the number is too high', async () => {
114
- try {
115
- await ensInstance.burnFuses('wrapped.eth', {
116
- fuseNumberToBurn: 4294967297,
117
- })
118
- expect(false).toBeTruthy()
119
- } catch (e: any) {
120
- expect(e.message).toBe(
121
- 'Fuse number must be limited to uint32, 4294967297 was too high.',
122
- )
123
- }
124
- })
125
- it('should throw an error if the number is too low', async () => {
126
- try {
127
- await ensInstance.burnFuses('wrapped.eth', {
128
- fuseNumberToBurn: -1,
129
- })
130
- expect(false).toBeTruthy()
131
- } catch (e: any) {
132
- expect(e.message).toBe(
133
- 'Fuse number must be limited to uint32, -1 was too low.',
134
- )
135
- }
136
- })
137
- it('should throw an error if the number is not an integer', async () => {
138
- try {
139
- await ensInstance.burnFuses('wrapped.eth', {
140
- fuseNumberToBurn: 7.5,
141
- })
142
- expect(false).toBeTruthy()
143
- } catch (e: any) {
144
- expect(e.message).toBe('Fuse number must be an integer, 7.5 was not.')
145
- }
146
- })
147
- })
148
- })
@@ -1,16 +0,0 @@
1
- import { ENSArgs } from '..'
2
- import { FuseProps, validateFuses } from '../utils/fuses'
3
- import { namehash } from '../utils/normalise'
4
-
5
- export default async function (
6
- { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
7
- name: string,
8
- props: FuseProps,
9
- ) {
10
- const encodedFuses = validateFuses(props)
11
-
12
- const nameWrapper = (await contracts!.getNameWrapper()!).connect(signer)
13
- const hash = namehash(name)
14
-
15
- return nameWrapper.populateTransaction.setFuses(hash, encodedFuses)
16
- }
@@ -1,13 +0,0 @@
1
- import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
- import fuses, { FuseOptions } from './fuses'
3
-
4
- export default (fuseOptions: FuseOptions) => {
5
- const fuseKeys = Object.keys(fuseOptions).filter(
6
- (opt) => fuseOptions[opt as keyof FuseOptions] === true,
7
- )
8
-
9
- const bigNumberFuses = fuseKeys.reduce((prev, curr) => {
10
- return prev.or(fuses[curr as keyof typeof fuses])
11
- }, BigNumber.from(0))
12
- return bigNumberFuses.toHexString()
13
- }