@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
@@ -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,6 +1,6 @@
1
1
  import { concat, hexlify } from '@ethersproject/bytes'
2
2
  import { keccak256 } from '@ethersproject/keccak256'
3
- import { toUtf8Bytes } from '@ethersproject/strings/lib/utf8'
3
+ import { toUtf8Bytes } from '@ethersproject/strings'
4
4
  import uts46 from 'idna-uts46-hx/uts46bundle.js'
5
5
  import { decodeLabelhash, isEncodedLabelhash } from './labels'
6
6
 
@@ -1,6 +1,7 @@
1
1
  import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder'
2
+ import { isBytesLike } from '@ethersproject/bytes'
3
+ import { toUtf8Bytes } from '@ethersproject/strings'
2
4
  import type { BigNumberish } from 'ethers'
3
- import { isBytesLike, toUtf8Bytes } from 'ethers/lib/utils'
4
5
  import type { PublicResolver } from '../generated'
5
6
  import { encodeContenthash } from './contentHash'
6
7
 
@@ -1,15 +1,11 @@
1
- import { defaultAbiCoder } from '@ethersproject/abi/lib/abi-coder'
2
- import { BigNumberish } from '@ethersproject/bignumber/lib/bignumber'
1
+ import { defaultAbiCoder } from '@ethersproject/abi'
3
2
  import { keccak256 } from '@ethersproject/keccak256'
4
3
  import type { PublicResolver } from '../generated'
5
- import { FuseOptions } from './fuses'
6
- import generateFuseInput from './generateFuseInput'
4
+ import { CombinedFuseInput, encodeFuses, hasFuses } from './fuses'
7
5
  import { labelhash } from './labels'
8
6
  import { namehash } from './normalise'
9
7
  import { generateRecordCallArray, RecordOptions } from './recordHelpers'
10
8
 
11
- export const MAX_INT_64 = 2n ** 64n - 1n
12
-
13
9
  export type BaseRegistrationParams = {
14
10
  owner: string
15
11
  duration: number
@@ -17,8 +13,7 @@ export type BaseRegistrationParams = {
17
13
  resolverAddress?: string
18
14
  records?: RecordOptions
19
15
  reverseRecord?: boolean
20
- fuses?: FuseOptions
21
- wrapperExpiry?: BigNumberish
16
+ fuses?: CombinedFuseInput['child']
22
17
  }
23
18
 
24
19
  export type RegistrationParams = Omit<
@@ -29,12 +24,8 @@ export type RegistrationParams = Omit<
29
24
  resolver: PublicResolver
30
25
  }
31
26
 
32
- export type CommitmentParams = Omit<
33
- RegistrationParams,
34
- 'secret' | 'wrapperExpiry'
35
- > & {
27
+ export type CommitmentParams = Omit<RegistrationParams, 'secret'> & {
36
28
  secret?: string
37
- wrapperExpiry?: BigNumberish
38
29
  }
39
30
 
40
31
  export type RegistrationTuple = [
@@ -45,20 +36,7 @@ export type RegistrationTuple = [
45
36
  resolver: string,
46
37
  data: string[],
47
38
  reverseRecord: boolean,
48
- fuses: string,
49
- wrapperExpiry: BigNumberish,
50
- ]
51
-
52
- export type CommitmentTuple = [
53
- labelhash: string,
54
- owner: string,
55
- duration: number,
56
- resolver: string,
57
- data: string[],
58
- secret: string,
59
- reverseRecord: boolean,
60
- fuses: string,
61
- wrapperExpiry: BigNumberish,
39
+ ownerControlledFuses: number,
62
40
  ]
63
41
 
64
42
  export const randomSecret = () => {
@@ -74,15 +52,14 @@ export const makeCommitmentData = ({
74
52
  records,
75
53
  reverseRecord,
76
54
  fuses,
77
- wrapperExpiry,
78
55
  secret,
79
56
  }: CommitmentParams & {
80
57
  secret: string
81
- }): CommitmentTuple => {
82
- const label = labelhash(name.split('.')[0])
58
+ }): RegistrationTuple => {
59
+ const labelHash = labelhash(name.split('.')[0])
83
60
  const hash = namehash(name)
84
61
  const resolverAddress = resolver.address
85
- const fuseData = fuses ? generateFuseInput(fuses) : '0'
62
+ const fuseData = hasFuses(fuses) ? encodeFuses(fuses!, 'child') : 0
86
63
 
87
64
  if (reverseRecord) {
88
65
  if (!records) {
@@ -96,15 +73,14 @@ export const makeCommitmentData = ({
96
73
  const data = records ? generateRecordCallArray(hash, records, resolver) : []
97
74
 
98
75
  return [
99
- label,
76
+ labelHash,
100
77
  owner,
101
78
  duration,
79
+ secret,
102
80
  resolverAddress,
103
81
  data,
104
- secret,
105
82
  !!reverseRecord,
106
83
  fuseData,
107
- wrapperExpiry || MAX_INT_64,
108
84
  ]
109
85
  }
110
86
 
@@ -114,24 +90,21 @@ export const makeRegistrationData = (
114
90
  const commitmentData = makeCommitmentData(params)
115
91
  const label = params.name.split('.')[0]
116
92
  commitmentData[0] = label
117
- const secret = commitmentData.splice(5, 1)[0]
118
- commitmentData.splice(3, 0, secret)
119
- return commitmentData as unknown as RegistrationTuple
93
+ return commitmentData
120
94
  }
121
95
 
122
- export const _makeCommitment = (params: CommitmentTuple) => {
96
+ export const _makeCommitment = (params: RegistrationTuple) => {
123
97
  return keccak256(
124
98
  defaultAbiCoder.encode(
125
99
  [
126
100
  'bytes32',
127
101
  'address',
128
102
  'uint256',
103
+ 'bytes32',
129
104
  'address',
130
105
  'bytes[]',
131
- 'bytes32',
132
106
  'bool',
133
- 'uint32',
134
- 'uint64',
107
+ 'uint16',
135
108
  ],
136
109
  params,
137
110
  ),
@@ -152,6 +125,5 @@ export const makeCommitment = ({
152
125
  return {
153
126
  secret,
154
127
  commitment,
155
- wrapperExpiry: generatedParams[8],
156
128
  }
157
129
  }
@@ -0,0 +1,312 @@
1
+ export type Maybe<T> = T | null
2
+ export type Exact<T extends { [key: string]: unknown }> = {
3
+ [K in keyof T]: T[K]
4
+ }
5
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
6
+ [SubKey in K]?: Maybe<T[SubKey]>
7
+ }
8
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
9
+ [SubKey in K]: Maybe<T[SubKey]>
10
+ }
11
+ /** All built-in and custom scalars, mapped to their actual values */
12
+ export type Scalars = {
13
+ ID: string
14
+ String: string
15
+ Boolean: boolean
16
+ Int: number
17
+ Float: number
18
+ Bytes: string
19
+ BigInt: string
20
+ }
21
+
22
+ export type Domain = {
23
+ __typename?: 'Domain'
24
+ id: Scalars['ID']
25
+ name?: Maybe<Scalars['String']>
26
+ labelName?: Maybe<Scalars['String']>
27
+ labelhash?: Maybe<Scalars['Bytes']>
28
+ parent?: Maybe<Domain>
29
+ subdomains: Array<Domain>
30
+ subdomainCount: Scalars['Int']
31
+ resolvedAddress?: Maybe<Account>
32
+ owner: Account
33
+ resolver?: Maybe<Resolver>
34
+ ttl?: Maybe<Scalars['BigInt']>
35
+ isMigrated: Scalars['Boolean']
36
+ createdAt: Scalars['BigInt']
37
+ events: Array<DomainEvent>
38
+ registration?: Maybe<Registration>
39
+ wrappedDomain?: Maybe<WrappedDomain>
40
+ }
41
+
42
+ export type DomainEvent = {
43
+ id: Scalars['ID']
44
+ domain: Domain
45
+ blockNumber: Scalars['Int']
46
+ transactionID: Scalars['Bytes']
47
+ }
48
+
49
+ export type Transfer = DomainEvent & {
50
+ __typename?: 'Transfer'
51
+ id: Scalars['ID']
52
+ domain: Domain
53
+ blockNumber: Scalars['Int']
54
+ transactionID: Scalars['Bytes']
55
+ owner: Account
56
+ }
57
+
58
+ export type NewOwner = DomainEvent & {
59
+ __typename?: 'NewOwner'
60
+ id: Scalars['ID']
61
+ parentDomain: Domain
62
+ domain: Domain
63
+ blockNumber: Scalars['Int']
64
+ transactionID: Scalars['Bytes']
65
+ owner: Account
66
+ }
67
+
68
+ export type NewResolver = DomainEvent & {
69
+ __typename?: 'NewResolver'
70
+ id: Scalars['ID']
71
+ domain: Domain
72
+ blockNumber: Scalars['Int']
73
+ transactionID: Scalars['Bytes']
74
+ resolver: Resolver
75
+ }
76
+
77
+ export type NewTtl = DomainEvent & {
78
+ __typename?: 'NewTTL'
79
+ id: Scalars['ID']
80
+ domain: Domain
81
+ blockNumber: Scalars['Int']
82
+ transactionID: Scalars['Bytes']
83
+ ttl: Scalars['BigInt']
84
+ }
85
+
86
+ export type WrappedTransfer = DomainEvent & {
87
+ __typename?: 'WrappedTransfer'
88
+ id: Scalars['ID']
89
+ domain: Domain
90
+ blockNumber: Scalars['Int']
91
+ transactionID: Scalars['Bytes']
92
+ owner: Account
93
+ }
94
+
95
+ export type NameWrapped = DomainEvent & {
96
+ __typename?: 'NameWrapped'
97
+ id: Scalars['ID']
98
+ domain: Domain
99
+ blockNumber: Scalars['Int']
100
+ transactionID: Scalars['Bytes']
101
+ name: Scalars['String']
102
+ fuses: Scalars['Int']
103
+ owner: Account
104
+ expiryDate: Scalars['BigInt']
105
+ }
106
+
107
+ export type NameUnwrapped = DomainEvent & {
108
+ __typename?: 'NameUnwrapped'
109
+ id: Scalars['ID']
110
+ domain: Domain
111
+ blockNumber: Scalars['Int']
112
+ transactionID: Scalars['Bytes']
113
+ owner: Account
114
+ }
115
+
116
+ export type FusesSet = DomainEvent & {
117
+ __typename?: 'FusesSet'
118
+ id: Scalars['ID']
119
+ domain: Domain
120
+ blockNumber: Scalars['Int']
121
+ transactionID: Scalars['Bytes']
122
+ fuses: Scalars['Int']
123
+ }
124
+
125
+ export type ExpiryExtended = DomainEvent & {
126
+ __typename?: 'ExpiryExtended'
127
+ id: Scalars['ID']
128
+ domain: Domain
129
+ blockNumber: Scalars['Int']
130
+ transactionID: Scalars['Bytes']
131
+ expiryDate: Scalars['BigInt']
132
+ }
133
+
134
+ export type Registration = {
135
+ __typename?: 'Registration'
136
+ id: Scalars['ID']
137
+ domain: Domain
138
+ registrationDate: Scalars['BigInt']
139
+ expiryDate: Scalars['BigInt']
140
+ cost?: Maybe<Scalars['BigInt']>
141
+ registrant: Account
142
+ labelName?: Maybe<Scalars['String']>
143
+ events: Array<RegistrationEvent>
144
+ }
145
+
146
+ export type RegistrationEvent = {
147
+ id: Scalars['ID']
148
+ registration: Registration
149
+ blockNumber: Scalars['Int']
150
+ transactionID: Scalars['Bytes']
151
+ }
152
+
153
+ export type NameRegistered = RegistrationEvent & {
154
+ __typename?: 'NameRegistered'
155
+ id: Scalars['ID']
156
+ registration: Registration
157
+ blockNumber: Scalars['Int']
158
+ transactionID: Scalars['Bytes']
159
+ registrant: Account
160
+ expiryDate: Scalars['BigInt']
161
+ }
162
+
163
+ export type NameRenewed = RegistrationEvent & {
164
+ __typename?: 'NameRenewed'
165
+ id: Scalars['ID']
166
+ registration: Registration
167
+ blockNumber: Scalars['Int']
168
+ transactionID: Scalars['Bytes']
169
+ expiryDate: Scalars['BigInt']
170
+ }
171
+
172
+ export type NameTransferred = RegistrationEvent & {
173
+ __typename?: 'NameTransferred'
174
+ id: Scalars['ID']
175
+ registration: Registration
176
+ blockNumber: Scalars['Int']
177
+ transactionID: Scalars['Bytes']
178
+ newOwner: Account
179
+ }
180
+
181
+ export type WrappedDomain = {
182
+ __typename?: 'WrappedDomain'
183
+ id: Scalars['ID']
184
+ domain: Domain
185
+ expiryDate: Scalars['BigInt']
186
+ fuses: Scalars['Int']
187
+ owner: Account
188
+ name?: Maybe<Scalars['String']>
189
+ }
190
+
191
+ export type Account = {
192
+ __typename?: 'Account'
193
+ id: Scalars['ID']
194
+ domains: Array<Domain>
195
+ wrappedDomains?: Maybe<Array<WrappedDomain>>
196
+ registrations?: Maybe<Array<Registration>>
197
+ }
198
+
199
+ export type Resolver = {
200
+ __typename?: 'Resolver'
201
+ id: Scalars['ID']
202
+ domain?: Maybe<Domain>
203
+ address: Scalars['Bytes']
204
+ addr?: Maybe<Account>
205
+ contentHash?: Maybe<Scalars['Bytes']>
206
+ texts?: Maybe<Array<Scalars['String']>>
207
+ coinTypes?: Maybe<Array<Scalars['BigInt']>>
208
+ events: Array<ResolverEvent>
209
+ }
210
+
211
+ export type ResolverEvent = {
212
+ id: Scalars['ID']
213
+ resolver: Resolver
214
+ blockNumber: Scalars['Int']
215
+ transactionID: Scalars['Bytes']
216
+ }
217
+
218
+ export type AddrChanged = ResolverEvent & {
219
+ __typename?: 'AddrChanged'
220
+ id: Scalars['ID']
221
+ resolver: Resolver
222
+ blockNumber: Scalars['Int']
223
+ transactionID: Scalars['Bytes']
224
+ addr: Account
225
+ }
226
+
227
+ export type MulticoinAddrChanged = ResolverEvent & {
228
+ __typename?: 'MulticoinAddrChanged'
229
+ id: Scalars['ID']
230
+ resolver: Resolver
231
+ blockNumber: Scalars['Int']
232
+ transactionID: Scalars['Bytes']
233
+ coinType: Scalars['BigInt']
234
+ addr: Scalars['Bytes']
235
+ }
236
+
237
+ export type NameChanged = ResolverEvent & {
238
+ __typename?: 'NameChanged'
239
+ id: Scalars['ID']
240
+ resolver: Resolver
241
+ blockNumber: Scalars['Int']
242
+ transactionID: Scalars['Bytes']
243
+ name: Scalars['String']
244
+ }
245
+
246
+ export type AbiChanged = ResolverEvent & {
247
+ __typename?: 'AbiChanged'
248
+ id: Scalars['ID']
249
+ resolver: Resolver
250
+ blockNumber: Scalars['Int']
251
+ transactionID: Scalars['Bytes']
252
+ contentType: Scalars['BigInt']
253
+ }
254
+
255
+ export type PubkeyChanged = ResolverEvent & {
256
+ __typename?: 'PubkeyChanged'
257
+ id: Scalars['ID']
258
+ resolver: Resolver
259
+ blockNumber: Scalars['Int']
260
+ transactionID: Scalars['Bytes']
261
+ x: Scalars['Bytes']
262
+ y: Scalars['Bytes']
263
+ }
264
+
265
+ export type TextChanged = ResolverEvent & {
266
+ __typename?: 'TextChanged'
267
+ id: Scalars['ID']
268
+ resolver: Resolver
269
+ blockNumber: Scalars['Int']
270
+ transactionID: Scalars['Bytes']
271
+ key: Scalars['String']
272
+ value?: Maybe<Scalars['String']>
273
+ }
274
+
275
+ export type ContenthashChanged = ResolverEvent & {
276
+ __typename?: 'ContenthashChanged'
277
+ id: Scalars['ID']
278
+ resolver: Resolver
279
+ blockNumber: Scalars['Int']
280
+ transactionID: Scalars['Bytes']
281
+ hash: Scalars['Bytes']
282
+ }
283
+
284
+ export type InterfaceChanged = ResolverEvent & {
285
+ __typename?: 'InterfaceChanged'
286
+ id: Scalars['ID']
287
+ resolver: Resolver
288
+ blockNumber: Scalars['Int']
289
+ transactionID: Scalars['Bytes']
290
+ interfaceID: Scalars['Bytes']
291
+ implementer: Scalars['Bytes']
292
+ }
293
+
294
+ export type AuthorisationChanged = ResolverEvent & {
295
+ __typename?: 'AuthorisationChanged'
296
+ id: Scalars['ID']
297
+ resolver: Resolver
298
+ blockNumber: Scalars['Int']
299
+ transactionID: Scalars['Bytes']
300
+ owner: Scalars['Bytes']
301
+ target: Scalars['Bytes']
302
+ isAuthorized: Scalars['Boolean']
303
+ }
304
+
305
+ export type VersionChanged = ResolverEvent & {
306
+ __typename?: 'VersionChanged'
307
+ id: Scalars['ID']
308
+ resolver: Resolver
309
+ blockNumber: Scalars['Int']
310
+ transactionID: Scalars['Bytes']
311
+ version: Scalars['BigInt']
312
+ }
@@ -1,5 +1,5 @@
1
- import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
- import { toUtf8Bytes } from '@ethersproject/strings/lib/utf8'
1
+ import { BigNumber } from '@ethersproject/bignumber'
2
+ import { toUtf8Bytes } from '@ethersproject/strings'
3
3
  import { ENSArgs } from '../index'
4
4
 
5
5
  export type Expiry = string | number | Date | BigNumber
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
- var generateFuseInput_exports = {};
26
- __export(generateFuseInput_exports, {
27
- default: () => generateFuseInput_default
28
- });
29
- module.exports = __toCommonJS(generateFuseInput_exports);
30
- var import_bignumber = require("@ethersproject/bignumber/lib/bignumber");
31
- var import_fuses = __toESM(require("./fuses"));
32
- var generateFuseInput_default = (fuseOptions) => {
33
- const fuseKeys = Object.keys(fuseOptions).filter(
34
- (opt) => fuseOptions[opt] === true
35
- );
36
- const bigNumberFuses = fuseKeys.reduce((prev, curr) => {
37
- return prev.or(import_fuses.default[curr]);
38
- }, import_bignumber.BigNumber.from(0));
39
- return bigNumberFuses.toHexString();
40
- };
@@ -1,12 +0,0 @@
1
- // src/functions/burnFuses.ts
2
- import { validateFuses } from "../utils/fuses.mjs";
3
- import { namehash } from "../utils/normalise.mjs";
4
- async function burnFuses_default({ contracts, signer }, name, props) {
5
- const encodedFuses = validateFuses(props);
6
- const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
7
- const hash = namehash(name);
8
- return nameWrapper.populateTransaction.setFuses(hash, encodedFuses);
9
- }
10
- export {
11
- burnFuses_default as default
12
- };
@@ -1,15 +0,0 @@
1
- // src/utils/generateFuseInput.ts
2
- import { BigNumber } from "@ethersproject/bignumber/lib.esm/bignumber.js";
3
- import fuses from "./fuses.mjs";
4
- var generateFuseInput_default = (fuseOptions) => {
5
- const fuseKeys = Object.keys(fuseOptions).filter(
6
- (opt) => fuseOptions[opt] === true
7
- );
8
- const bigNumberFuses = fuseKeys.reduce((prev, curr) => {
9
- return prev.or(fuses[curr]);
10
- }, BigNumber.from(0));
11
- return bigNumberFuses.toHexString();
12
- };
13
- export {
14
- generateFuseInput_default as default
15
- };
@@ -1,3 +0,0 @@
1
- import { ENSArgs } from '..';
2
- import { FuseProps } from '../utils/fuses';
3
- export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, props: FuseProps): Promise<import("ethers").PopulatedTransaction>;
@@ -1,3 +0,0 @@
1
- import { FuseOptions } from './fuses';
2
- declare const _default: (fuseOptions: FuseOptions) => string;
3
- export default _default;