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

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 (129) 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/getHistory.js +14 -7
  5. package/dist/cjs/functions/getNames.js +10 -6
  6. package/dist/cjs/functions/getOwner.js +25 -12
  7. package/dist/cjs/functions/getSpecificRecord.js +83 -0
  8. package/dist/cjs/functions/getWrapperData.js +3 -4
  9. package/dist/cjs/functions/renewNames.js +13 -20
  10. package/dist/cjs/functions/{burnFuses.js → setFuses.js} +24 -6
  11. package/dist/cjs/functions/wrapName.js +7 -23
  12. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +6 -55
  13. package/dist/cjs/generated/factories/NameWrapper__factory.js +90 -69
  14. package/dist/cjs/generated/factories/PublicResolver__factory.js +83 -0
  15. package/dist/cjs/generated/factories/UniversalResolver__factory.js +67 -2
  16. package/dist/cjs/index.js +15 -4
  17. package/dist/cjs/utils/consts.js +3 -1
  18. package/dist/cjs/utils/fuses.js +218 -53
  19. package/dist/cjs/utils/normalise.js +2 -2
  20. package/dist/cjs/utils/recordHelpers.js +55 -0
  21. package/dist/cjs/utils/registerHelpers.js +9 -23
  22. package/dist/cjs/utils/subgraph-types.js +16 -0
  23. package/dist/cjs/utils/wrapper.js +2 -2
  24. package/dist/esm/contracts/getContractAddress.mjs +4 -4
  25. package/dist/esm/functions/commitName.mjs +2 -3
  26. package/dist/esm/functions/createSubname.mjs +2 -2
  27. package/dist/esm/functions/getHistory.mjs +14 -7
  28. package/dist/esm/functions/getNames.mjs +10 -6
  29. package/dist/esm/functions/getOwner.mjs +25 -12
  30. package/dist/esm/functions/getSpecificRecord.mjs +78 -1
  31. package/dist/esm/functions/getWrapperData.mjs +3 -4
  32. package/dist/esm/functions/renewNames.mjs +13 -20
  33. package/dist/esm/functions/setFuses.mjs +30 -0
  34. package/dist/esm/functions/wrapName.mjs +8 -18
  35. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +6 -55
  36. package/dist/esm/generated/factories/NameWrapper__factory.mjs +90 -69
  37. package/dist/esm/generated/factories/PublicResolver__factory.mjs +83 -0
  38. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +67 -2
  39. package/dist/esm/index.mjs +15 -4
  40. package/dist/esm/utils/consts.mjs +3 -1
  41. package/dist/esm/utils/fuses.mjs +218 -53
  42. package/dist/esm/utils/normalise.mjs +1 -1
  43. package/dist/esm/utils/recordHelpers.mjs +49 -0
  44. package/dist/esm/utils/registerHelpers.mjs +9 -17
  45. package/dist/esm/utils/subgraph-types.mjs +0 -0
  46. package/dist/esm/utils/wrapper.mjs +1 -1
  47. package/dist/types/functions/commitName.d.ts +5 -6
  48. package/dist/types/functions/createSubname.d.ts +3 -3
  49. package/dist/types/functions/deleteSubname.d.ts +1 -1
  50. package/dist/types/functions/getHistory.d.ts +1 -1
  51. package/dist/types/functions/getNames.d.ts +3 -3
  52. package/dist/types/functions/getOwner.d.ts +1 -0
  53. package/dist/types/functions/getSpecificRecord.d.ts +22 -0
  54. package/dist/types/functions/getWrapperData.d.ts +44 -5
  55. package/dist/types/functions/importDNSSECName.d.ts +1 -1
  56. package/dist/types/functions/registerName.d.ts +1 -1
  57. package/dist/types/functions/renewNames.d.ts +5 -6
  58. package/dist/types/functions/setFuses.d.ts +7 -0
  59. package/dist/types/functions/setName.d.ts +1 -1
  60. package/dist/types/functions/setRecord.d.ts +5 -1
  61. package/dist/types/functions/setRecords.d.ts +1 -1
  62. package/dist/types/functions/setResolver.d.ts +1 -1
  63. package/dist/types/functions/transferController.d.ts +1 -1
  64. package/dist/types/functions/transferName.d.ts +1 -1
  65. package/dist/types/functions/transferSubname.d.ts +1 -1
  66. package/dist/types/functions/types.d.ts +9 -5
  67. package/dist/types/functions/unwrapName.d.ts +1 -1
  68. package/dist/types/functions/wrapName.d.ts +4 -4
  69. package/dist/types/generated/ETHRegistrarController.d.ts +13 -36
  70. package/dist/types/generated/NameWrapper.d.ts +97 -52
  71. package/dist/types/generated/PublicResolver.d.ts +50 -1
  72. package/dist/types/generated/UniversalResolver.d.ts +79 -32
  73. package/dist/types/generated/factories/UniversalResolver__factory.d.ts +15 -0
  74. package/dist/types/index.d.ts +75 -11
  75. package/dist/types/utils/consts.d.ts +1 -0
  76. package/dist/types/utils/fuses.d.ts +115 -45
  77. package/dist/types/utils/recordHelpers.d.ts +14 -2
  78. package/dist/types/utils/registerHelpers.d.ts +7 -25
  79. package/dist/types/utils/subgraph-types.d.ts +284 -0
  80. package/dist/types/utils/writeTx.d.ts +5 -5
  81. package/package.json +8 -5
  82. package/src/@types/pako.d.ts +188 -0
  83. package/src/contracts/bulkRenewal.ts +1 -1
  84. package/src/contracts/getContractAddress.ts +4 -4
  85. package/src/functions/commitName.test.ts +0 -3
  86. package/src/functions/commitName.ts +1 -2
  87. package/src/functions/createSubname.ts +4 -5
  88. package/src/functions/getHistory.ts +59 -25
  89. package/src/functions/getNames.test.ts +1 -1
  90. package/src/functions/getNames.ts +26 -13
  91. package/src/functions/getOwner.test.ts +62 -3
  92. package/src/functions/getOwner.ts +31 -11
  93. package/src/functions/getSpecificRecord.test.ts +162 -0
  94. package/src/functions/getSpecificRecord.ts +95 -1
  95. package/src/functions/getWrapperData.test.ts +11 -45
  96. package/src/functions/getWrapperData.ts +7 -5
  97. package/src/functions/registerName.test.ts +3 -3
  98. package/src/functions/renewNames.ts +17 -23
  99. package/src/functions/setFuses.test.ts +240 -0
  100. package/src/functions/setFuses.ts +44 -0
  101. package/src/functions/setRecord.test.ts +147 -1
  102. package/src/functions/setRecord.ts +6 -1
  103. package/src/functions/types.ts +10 -4
  104. package/src/functions/wrapName.test.ts +8 -7
  105. package/src/functions/wrapName.ts +10 -24
  106. package/src/generated/ETHRegistrarController.ts +12 -79
  107. package/src/generated/NameWrapper.ts +155 -99
  108. package/src/generated/PublicResolver.ts +123 -0
  109. package/src/generated/UniversalResolver.ts +157 -16
  110. package/src/generated/factories/ETHRegistrarController__factory.ts +6 -55
  111. package/src/generated/factories/NameWrapper__factory.ts +90 -69
  112. package/src/generated/factories/PublicResolver__factory.ts +83 -0
  113. package/src/generated/factories/UniversalResolver__factory.ts +67 -2
  114. package/src/index.ts +23 -14
  115. package/src/utils/consts.ts +1 -0
  116. package/src/utils/fuses.ts +299 -102
  117. package/src/utils/normalise.ts +1 -1
  118. package/src/utils/recordHelpers.ts +64 -1
  119. package/src/utils/registerHelpers.ts +13 -41
  120. package/src/utils/subgraph-types.ts +312 -0
  121. package/src/utils/wrapper.ts +1 -1
  122. package/dist/cjs/utils/generateFuseInput.js +0 -40
  123. package/dist/esm/functions/burnFuses.mjs +0 -12
  124. package/dist/esm/utils/generateFuseInput.mjs +0 -15
  125. package/dist/types/functions/burnFuses.d.ts +0 -3
  126. package/dist/types/utils/generateFuseInput.d.ts +0 -3
  127. package/src/functions/burnFuses.test.ts +0 -148
  128. package/src/functions/burnFuses.ts +0 -16
  129. package/src/utils/generateFuseInput.ts +0 -13
@@ -1,4 +1,4 @@
1
- import type { FunctionFragment, Result } from '@ethersproject/abi';
1
+ import type { EventFragment, FunctionFragment, Result } from '@ethersproject/abi';
2
2
  import { Interface } from '@ethersproject/abi';
3
3
  import type { Listener, Provider } from '@ethersproject/abstract-provider';
4
4
  import type { Signer } from '@ethersproject/abstract-signer';
@@ -11,7 +11,9 @@ export interface UniversalResolverInterface extends Interface {
11
11
  '_resolveSingle(bytes,bytes,string[],bytes4,bytes)': FunctionFragment;
12
12
  'batchGatewayURLs(uint256)': FunctionFragment;
13
13
  'findResolver(bytes)': FunctionFragment;
14
+ 'owner()': FunctionFragment;
14
15
  'registry()': FunctionFragment;
16
+ 'renounceOwnership()': FunctionFragment;
15
17
  'resolve(bytes,bytes,string[])': FunctionFragment;
16
18
  'resolve(bytes,bytes[])': FunctionFragment;
17
19
  'resolve(bytes,bytes[],string[])': FunctionFragment;
@@ -21,9 +23,11 @@ export interface UniversalResolverInterface extends Interface {
21
23
  'reverse(bytes,string[])': FunctionFragment;
22
24
  'reverse(bytes)': FunctionFragment;
23
25
  'reverseCallback(bytes,bytes)': FunctionFragment;
26
+ 'setGatewayURLs(string[])': FunctionFragment;
24
27
  'supportsInterface(bytes4)': FunctionFragment;
28
+ 'transferOwnership(address)': FunctionFragment;
25
29
  };
26
- getFunction(nameOrSignatureOrTopic: '_resolveSingle' | 'batchGatewayURLs' | 'findResolver' | 'registry' | 'resolve(bytes,bytes,string[])' | 'resolve(bytes,bytes[])' | 'resolve(bytes,bytes[],string[])' | 'resolve(bytes,bytes)' | 'resolveCallback' | 'resolveSingleCallback' | 'reverse(bytes,string[])' | 'reverse(bytes)' | 'reverseCallback' | 'supportsInterface'): FunctionFragment;
30
+ getFunction(nameOrSignatureOrTopic: '_resolveSingle' | 'batchGatewayURLs' | 'findResolver' | 'owner' | 'registry' | 'renounceOwnership' | 'resolve(bytes,bytes,string[])' | 'resolve(bytes,bytes[])' | 'resolve(bytes,bytes[],string[])' | 'resolve(bytes,bytes)' | 'resolveCallback' | 'resolveSingleCallback' | 'reverse(bytes,string[])' | 'reverse(bytes)' | 'reverseCallback' | 'setGatewayURLs' | 'supportsInterface' | 'transferOwnership'): FunctionFragment;
27
31
  encodeFunctionData(functionFragment: '_resolveSingle', values: [
28
32
  PromiseOrValue<BytesLike>,
29
33
  PromiseOrValue<BytesLike>,
@@ -33,7 +37,9 @@ export interface UniversalResolverInterface extends Interface {
33
37
  ]): string;
34
38
  encodeFunctionData(functionFragment: 'batchGatewayURLs', values: [PromiseOrValue<BigNumberish>]): string;
35
39
  encodeFunctionData(functionFragment: 'findResolver', values: [PromiseOrValue<BytesLike>]): string;
40
+ encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
36
41
  encodeFunctionData(functionFragment: 'registry', values?: undefined): string;
42
+ encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
37
43
  encodeFunctionData(functionFragment: 'resolve(bytes,bytes,string[])', values: [
38
44
  PromiseOrValue<BytesLike>,
39
45
  PromiseOrValue<BytesLike>,
@@ -51,11 +57,15 @@ export interface UniversalResolverInterface extends Interface {
51
57
  encodeFunctionData(functionFragment: 'reverse(bytes,string[])', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>[]]): string;
52
58
  encodeFunctionData(functionFragment: 'reverse(bytes)', values: [PromiseOrValue<BytesLike>]): string;
53
59
  encodeFunctionData(functionFragment: 'reverseCallback', values: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>]): string;
60
+ encodeFunctionData(functionFragment: 'setGatewayURLs', values: [PromiseOrValue<string>[]]): string;
54
61
  encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue<BytesLike>]): string;
62
+ encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
55
63
  decodeFunctionResult(functionFragment: '_resolveSingle', data: BytesLike): Result;
56
64
  decodeFunctionResult(functionFragment: 'batchGatewayURLs', data: BytesLike): Result;
57
65
  decodeFunctionResult(functionFragment: 'findResolver', data: BytesLike): Result;
66
+ decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
58
67
  decodeFunctionResult(functionFragment: 'registry', data: BytesLike): Result;
68
+ decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
59
69
  decodeFunctionResult(functionFragment: 'resolve(bytes,bytes,string[])', data: BytesLike): Result;
60
70
  decodeFunctionResult(functionFragment: 'resolve(bytes,bytes[])', data: BytesLike): Result;
61
71
  decodeFunctionResult(functionFragment: 'resolve(bytes,bytes[],string[])', data: BytesLike): Result;
@@ -65,9 +75,23 @@ export interface UniversalResolverInterface extends Interface {
65
75
  decodeFunctionResult(functionFragment: 'reverse(bytes,string[])', data: BytesLike): Result;
66
76
  decodeFunctionResult(functionFragment: 'reverse(bytes)', data: BytesLike): Result;
67
77
  decodeFunctionResult(functionFragment: 'reverseCallback', data: BytesLike): Result;
78
+ decodeFunctionResult(functionFragment: 'setGatewayURLs', data: BytesLike): Result;
68
79
  decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result;
69
- events: {};
80
+ decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
81
+ events: {
82
+ 'OwnershipTransferred(address,address)': EventFragment;
83
+ };
84
+ getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
85
+ }
86
+ export interface OwnershipTransferredEventObject {
87
+ previousOwner: string;
88
+ newOwner: string;
70
89
  }
90
+ export declare type OwnershipTransferredEvent = TypedEvent<[
91
+ string,
92
+ string
93
+ ], OwnershipTransferredEventObject>;
94
+ export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
71
95
  export interface UniversalResolver extends BaseContract {
72
96
  connect(signerOrProvider: Signer | Provider | string): this;
73
97
  attach(addressOrName: string): this;
@@ -86,49 +110,59 @@ export interface UniversalResolver extends BaseContract {
86
110
  _resolveSingle(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], callbackFunction: PromiseOrValue<BytesLike>, metaData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
87
111
  batchGatewayURLs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
88
112
  findResolver(name: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
113
+ owner(overrides?: CallOverrides): Promise<[string]>;
89
114
  registry(overrides?: CallOverrides): Promise<[string]>;
115
+ renounceOwnership(overrides?: Overrides & {
116
+ from?: PromiseOrValue<string>;
117
+ }): Promise<ContractTransaction>;
90
118
  'resolve(bytes,bytes,string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string, string]>;
91
119
  'resolve(bytes,bytes[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<[string[], string]>;
92
120
  'resolve(bytes,bytes[],string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string[], string]>;
93
121
  'resolve(bytes,bytes)'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
94
- resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
95
- from?: PromiseOrValue<string>;
96
- }): Promise<ContractTransaction>;
97
- resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
98
- from?: PromiseOrValue<string>;
99
- }): Promise<ContractTransaction>;
122
+ resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string[], string]>;
123
+ resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
100
124
  'reverse(bytes,string[])'(reverseName: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string, string, string, string]>;
101
125
  'reverse(bytes)'(reverseName: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string, string, string]>;
102
- reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
126
+ reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string, string, string]>;
127
+ setGatewayURLs(_urls: PromiseOrValue<string>[], overrides?: Overrides & {
103
128
  from?: PromiseOrValue<string>;
104
129
  }): Promise<ContractTransaction>;
105
130
  supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
131
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
132
+ from?: PromiseOrValue<string>;
133
+ }): Promise<ContractTransaction>;
106
134
  };
107
135
  _resolveSingle(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], callbackFunction: PromiseOrValue<BytesLike>, metaData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
108
136
  batchGatewayURLs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
109
137
  findResolver(name: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
138
+ owner(overrides?: CallOverrides): Promise<string>;
110
139
  registry(overrides?: CallOverrides): Promise<string>;
140
+ renounceOwnership(overrides?: Overrides & {
141
+ from?: PromiseOrValue<string>;
142
+ }): Promise<ContractTransaction>;
111
143
  'resolve(bytes,bytes,string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string, string]>;
112
144
  'resolve(bytes,bytes[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<[string[], string]>;
113
145
  'resolve(bytes,bytes[],string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string[], string]>;
114
146
  'resolve(bytes,bytes)'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
115
- resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
116
- from?: PromiseOrValue<string>;
117
- }): Promise<ContractTransaction>;
118
- resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
119
- from?: PromiseOrValue<string>;
120
- }): Promise<ContractTransaction>;
147
+ resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string[], string]>;
148
+ resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
121
149
  'reverse(bytes,string[])'(reverseName: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string, string, string, string]>;
122
150
  'reverse(bytes)'(reverseName: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string, string, string]>;
123
- reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
151
+ reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string, string, string]>;
152
+ setGatewayURLs(_urls: PromiseOrValue<string>[], overrides?: Overrides & {
124
153
  from?: PromiseOrValue<string>;
125
154
  }): Promise<ContractTransaction>;
126
155
  supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
156
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
157
+ from?: PromiseOrValue<string>;
158
+ }): Promise<ContractTransaction>;
127
159
  callStatic: {
128
160
  _resolveSingle(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], callbackFunction: PromiseOrValue<BytesLike>, metaData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
129
161
  batchGatewayURLs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
130
162
  findResolver(name: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string]>;
163
+ owner(overrides?: CallOverrides): Promise<string>;
131
164
  registry(overrides?: CallOverrides): Promise<string>;
165
+ renounceOwnership(overrides?: CallOverrides): Promise<void>;
132
166
  'resolve(bytes,bytes,string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string, string]>;
133
167
  'resolve(bytes,bytes[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<[string[], string]>;
134
168
  'resolve(bytes,bytes[],string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string[], string]>;
@@ -138,51 +172,64 @@ export interface UniversalResolver extends BaseContract {
138
172
  'reverse(bytes,string[])'(reverseName: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[string, string, string, string]>;
139
173
  'reverse(bytes)'(reverseName: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string, string, string]>;
140
174
  reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string, string, string, string]>;
175
+ setGatewayURLs(_urls: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
141
176
  supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
177
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
178
+ };
179
+ filters: {
180
+ 'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
181
+ OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
142
182
  };
143
- filters: {};
144
183
  estimateGas: {
145
184
  _resolveSingle(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], callbackFunction: PromiseOrValue<BytesLike>, metaData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
146
185
  batchGatewayURLs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
147
186
  findResolver(name: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
187
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
148
188
  registry(overrides?: CallOverrides): Promise<BigNumber>;
189
+ renounceOwnership(overrides?: Overrides & {
190
+ from?: PromiseOrValue<string>;
191
+ }): Promise<BigNumber>;
149
192
  'resolve(bytes,bytes,string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<BigNumber>;
150
193
  'resolve(bytes,bytes[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<BigNumber>;
151
194
  'resolve(bytes,bytes[],string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<BigNumber>;
152
195
  'resolve(bytes,bytes)'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
153
- resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
154
- from?: PromiseOrValue<string>;
155
- }): Promise<BigNumber>;
156
- resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
157
- from?: PromiseOrValue<string>;
158
- }): Promise<BigNumber>;
196
+ resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
197
+ resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
159
198
  'reverse(bytes,string[])'(reverseName: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<BigNumber>;
160
199
  'reverse(bytes)'(reverseName: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
161
- reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
200
+ reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
201
+ setGatewayURLs(_urls: PromiseOrValue<string>[], overrides?: Overrides & {
162
202
  from?: PromiseOrValue<string>;
163
203
  }): Promise<BigNumber>;
164
204
  supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
205
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
206
+ from?: PromiseOrValue<string>;
207
+ }): Promise<BigNumber>;
165
208
  };
166
209
  populateTransaction: {
167
210
  _resolveSingle(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], callbackFunction: PromiseOrValue<BytesLike>, metaData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
168
211
  batchGatewayURLs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
169
212
  findResolver(name: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
213
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
170
214
  registry(overrides?: CallOverrides): Promise<PopulatedTransaction>;
215
+ renounceOwnership(overrides?: Overrides & {
216
+ from?: PromiseOrValue<string>;
217
+ }): Promise<PopulatedTransaction>;
171
218
  'resolve(bytes,bytes,string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
172
219
  'resolve(bytes,bytes[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
173
220
  'resolve(bytes,bytes[],string[])'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>[], gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
174
221
  'resolve(bytes,bytes)'(name: PromiseOrValue<BytesLike>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
175
- resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
176
- from?: PromiseOrValue<string>;
177
- }): Promise<PopulatedTransaction>;
178
- resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
179
- from?: PromiseOrValue<string>;
180
- }): Promise<PopulatedTransaction>;
222
+ resolveCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
223
+ resolveSingleCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
181
224
  'reverse(bytes,string[])'(reverseName: PromiseOrValue<BytesLike>, gateways: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
182
225
  'reverse(bytes)'(reverseName: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
183
- reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
226
+ reverseCallback(response: PromiseOrValue<BytesLike>, extraData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
227
+ setGatewayURLs(_urls: PromiseOrValue<string>[], overrides?: Overrides & {
184
228
  from?: PromiseOrValue<string>;
185
229
  }): Promise<PopulatedTransaction>;
186
230
  supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
231
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
232
+ from?: PromiseOrValue<string>;
233
+ }): Promise<PopulatedTransaction>;
187
234
  };
188
235
  }
@@ -11,6 +11,7 @@ export declare class UniversalResolver__factory {
11
11
  stateMutability: string;
12
12
  type: string;
13
13
  name?: undefined;
14
+ anonymous?: undefined;
14
15
  outputs?: undefined;
15
16
  } | {
16
17
  inputs: {
@@ -21,6 +22,19 @@ export declare class UniversalResolver__factory {
21
22
  name: string;
22
23
  type: string;
23
24
  stateMutability?: undefined;
25
+ anonymous?: undefined;
26
+ outputs?: undefined;
27
+ } | {
28
+ anonymous: boolean;
29
+ inputs: {
30
+ indexed: boolean;
31
+ internalType: string;
32
+ name: string;
33
+ type: string;
34
+ }[];
35
+ name: string;
36
+ type: string;
37
+ stateMutability?: undefined;
24
38
  outputs?: undefined;
25
39
  } | {
26
40
  inputs: {
@@ -36,6 +50,7 @@ export declare class UniversalResolver__factory {
36
50
  }[];
37
51
  stateMutability: string;
38
52
  type: string;
53
+ anonymous?: undefined;
39
54
  })[];
40
55
  static createInterface(): UniversalResolverInterface;
41
56
  static connect(address: string, signerOrProvider: Signer | Provider): UniversalResolver;
@@ -4,7 +4,7 @@ import { getContractAddress as _getContractAddress } from './contracts/getContra
4
4
  import ContractManager from './contracts/index';
5
5
  import { SupportedNetworkId } from './contracts/types';
6
6
  import GqlManager from './GqlManager';
7
- export type { Fuse, FuseArrayPossibilities, FuseObj, NamedFusesToBurn, UnnamedFuseType, UnnamedFuseValues, } from './utils/fuses';
7
+ export type { ChildFuses, ParentFuses } from './utils/fuses';
8
8
  declare type ENSOptions = {
9
9
  graphURI?: string | null;
10
10
  getContractAddress?: typeof _getContractAddress;
@@ -236,15 +236,55 @@ export declare class ENS {
236
236
  data: string;
237
237
  }>;
238
238
  decode: ({ contracts }: ENSArgs<"contracts">, data: string) => Promise<{
239
- fuseObj: import("./utils/fuses").CurrentFuses;
240
- expiryDate: Date;
241
- rawFuses: import("@ethersproject/bignumber").BigNumber;
242
- owner: any;
239
+ expiryDate: Date | undefined;
240
+ rawFuses: number;
241
+ owner: string;
242
+ parent: {
243
+ unnamed: {
244
+ 524288: boolean;
245
+ 1048576: boolean;
246
+ 2097152: boolean;
247
+ 4194304: boolean;
248
+ 8388608: boolean;
249
+ 16777216: boolean;
250
+ 33554432: boolean;
251
+ 67108864: boolean;
252
+ 134217728: boolean;
253
+ 268435456: boolean;
254
+ 536870912: boolean;
255
+ 1073741824: boolean;
256
+ 2147483648: boolean;
257
+ };
258
+ IS_DOT_ETH: boolean;
259
+ PARENT_CANNOT_CONTROL: boolean;
260
+ CAN_EXTEND_EXPIRY: boolean;
261
+ };
262
+ child: {
263
+ CAN_DO_EVERYTHING: boolean;
264
+ unnamed: {
265
+ 1024: boolean;
266
+ 64: boolean;
267
+ 128: boolean;
268
+ 256: boolean;
269
+ 512: boolean;
270
+ 2048: boolean;
271
+ 4096: boolean;
272
+ 8192: boolean;
273
+ 16384: boolean;
274
+ 32768: boolean;
275
+ };
276
+ CANNOT_UNWRAP: boolean;
277
+ CANNOT_BURN_FUSES: boolean;
278
+ CANNOT_TRANSFER: boolean;
279
+ CANNOT_SET_RESOLVER: boolean;
280
+ CANNOT_SET_TTL: boolean;
281
+ CANNOT_CREATE_SUBDOMAIN: boolean;
282
+ };
243
283
  } | undefined>;
244
284
  }>;
245
285
  getHistory: (name: string) => Promise<{
246
286
  domain: {
247
- type: "Transfer" | "NewOwner" | "NewResolver" | "NewTTL" | "FusesSet" | "NameUnwrapped" | "NameWrapped" | "WrappedTransfer";
287
+ type: "Transfer" | "NewOwner" | "NewResolver" | "NewTTL" | "ExpiryExtended" | "FusesSet" | "NameUnwrapped" | "NameWrapped" | "WrappedTransfer";
248
288
  blockNumber: number;
249
289
  transactionHash: string;
250
290
  id: string;
@@ -337,6 +377,28 @@ export declare class ENS {
337
377
  }>;
338
378
  decode: ({ contracts }: ENSArgs<"contracts">, data: string) => Promise<string | undefined>;
339
379
  }>;
380
+ getABI: GeneratedRawFunction<{
381
+ raw: ({ contracts, universalWrapper }: ENSArgs<"contracts" | "universalWrapper">, name: string) => Promise<{
382
+ to: string;
383
+ data: string;
384
+ }>;
385
+ decode: ({ contracts, universalWrapper }: ENSArgs<"contracts" | "universalWrapper">, data: string) => Promise<{
386
+ contentType: number;
387
+ decoded: boolean;
388
+ abi: string | object;
389
+ } | undefined>;
390
+ }>;
391
+ _getABI: GeneratedRawFunction<{
392
+ raw: ({ contracts }: ENSArgs<"contracts">, name: string) => Promise<{
393
+ to: string;
394
+ data: string;
395
+ }>;
396
+ decode: ({ contracts }: ENSArgs<"contracts">, data: string) => Promise<{
397
+ contentType: number;
398
+ decoded: boolean;
399
+ abi: string | object;
400
+ } | undefined>;
401
+ }>;
340
402
  getOwner: GeneratedRawFunction<{
341
403
  raw: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, name: string, contract?: "nameWrapper" | "registrar" | "registry" | undefined) => Promise<{
342
404
  to: string;
@@ -346,6 +408,7 @@ export declare class ENS {
346
408
  registrant?: string | undefined;
347
409
  owner?: string | undefined;
348
410
  ownershipLevel: "nameWrapper" | "registrar" | "registry";
411
+ expired?: boolean | undefined;
349
412
  } | undefined>;
350
413
  }>;
351
414
  getExpiry: GeneratedRawFunction<{
@@ -401,7 +464,7 @@ export declare class ENS {
401
464
  orderBy?: "labelName" | "createdAt" | undefined;
402
465
  } | {
403
466
  type: "wrappedOwner";
404
- orderBy?: "expiryDate" | "labelName" | undefined;
467
+ orderBy?: "name" | "expiryDate" | undefined;
405
468
  } | {
406
469
  type: "all";
407
470
  orderBy?: "labelName" | "creationDate" | undefined;
@@ -414,8 +477,8 @@ export declare class ENS {
414
477
  data: string;
415
478
  }>;
416
479
  decode: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, data: string, _nameOrNames: string | string[], _duration: number, legacy?: boolean | undefined) => Promise<{
417
- base: import("@ethersproject/bignumber").BigNumber;
418
- premium: import("@ethersproject/bignumber").BigNumber;
480
+ base: import("ethers").BigNumber;
481
+ premium: import("ethers").BigNumber;
419
482
  } | undefined>;
420
483
  }>;
421
484
  getDNSOwner: (dnsName: string) => Promise<any>;
@@ -519,7 +582,8 @@ export declare class ENS {
519
582
  transferController: WriteFunction<typeof import("./functions/transferController").default>;
520
583
  wrapName: WriteFunction<typeof import("./functions/wrapName").default>;
521
584
  unwrapName: WriteFunction<typeof import("./functions/unwrapName").default>;
522
- burnFuses: WriteFunction<typeof import("./functions/burnFuses").default>;
585
+ setFuses: WriteFunction<typeof import("./functions/setFuses").default>;
586
+ setChildFuses: WriteFunction<typeof import("./functions/setFuses").setChildFuses>;
523
587
  importDNSSECName: WriteFunction<typeof import("./functions/importDNSSECName").default>;
524
588
  createSubname: WriteFunction<typeof import("./functions/createSubname").default>;
525
589
  deleteSubname: WriteFunction<typeof import("./functions/deleteSubname").default>;
@@ -527,5 +591,5 @@ export declare class ENS {
527
591
  commitName: WriteFunction<typeof import("./functions/commitName").default>;
528
592
  registerName: WriteFunction<typeof import("./functions/registerName").default>;
529
593
  renewNames: WriteFunction<typeof import("./functions/renewNames").default>;
530
- renewNameWithData: WriteFunction<typeof import("./functions/renewNames").renewNameWithData>;
594
+ extendWrappedName: WriteFunction<typeof import("./functions/renewNames").extendWrappedName>;
531
595
  }
@@ -1 +1,2 @@
1
1
  export declare const EMPTY_ADDRESS = "0x0000000000000000000000000000000000000000";
2
+ export declare const MAX_INT_64: bigint;
@@ -1,61 +1,131 @@
1
- import { BigNumberish } from '@ethersproject/bignumber/lib/bignumber';
2
- export declare const fuseEnum: {
1
+ export declare const CHILD_CONTROLLED_FUSES = 65535;
2
+ export declare const PARENT_CONTROLLED_FUSES = 4294901760;
3
+ export declare const USER_SETTABLE_FUSES = 4294836223;
4
+ export declare const childFuseEnum: {
3
5
  readonly CANNOT_UNWRAP: 1;
4
6
  readonly CANNOT_BURN_FUSES: 2;
5
7
  readonly CANNOT_TRANSFER: 4;
6
8
  readonly CANNOT_SET_RESOLVER: 8;
7
9
  readonly CANNOT_SET_TTL: 16;
8
10
  readonly CANNOT_CREATE_SUBDOMAIN: 32;
9
- readonly PARENT_CANNOT_CONTROL: 64;
10
11
  };
11
- export declare type FuseOptions = {
12
- -readonly [K in keyof typeof fuseEnum]?: boolean;
12
+ export declare const parentFuseEnum: {
13
+ PARENT_CANNOT_CONTROL: number;
14
+ CAN_EXTEND_EXPIRY: number;
13
15
  };
14
- export declare const unnamedFuses: readonly [128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296];
15
- declare const fullFuseEnum: {
16
+ export declare const fullParentFuseEnum: {
17
+ readonly IS_DOT_ETH: 131072;
18
+ readonly PARENT_CANNOT_CONTROL: number;
19
+ readonly CAN_EXTEND_EXPIRY: number;
20
+ };
21
+ export declare const userSettableFuseEnum: {
22
+ readonly PARENT_CANNOT_CONTROL: number;
23
+ readonly CAN_EXTEND_EXPIRY: number;
24
+ readonly CANNOT_UNWRAP: 1;
25
+ readonly CANNOT_BURN_FUSES: 2;
26
+ readonly CANNOT_TRANSFER: 4;
27
+ readonly CANNOT_SET_RESOLVER: 8;
28
+ readonly CANNOT_SET_TTL: 16;
29
+ readonly CANNOT_CREATE_SUBDOMAIN: 32;
30
+ };
31
+ export declare const fullFuseEnum: {
16
32
  CAN_DO_EVERYTHING: number;
33
+ PARENT_CANNOT_CONTROL: number;
34
+ CAN_EXTEND_EXPIRY: number;
17
35
  CANNOT_UNWRAP: 1;
18
36
  CANNOT_BURN_FUSES: 2;
19
37
  CANNOT_TRANSFER: 4;
20
38
  CANNOT_SET_RESOLVER: 8;
21
39
  CANNOT_SET_TTL: 16;
22
40
  CANNOT_CREATE_SUBDOMAIN: 32;
23
- PARENT_CANNOT_CONTROL: 64;
24
- };
25
- export declare type FuseObj = typeof fuseEnum;
26
- export declare type CurrentFuses = {
27
- [f in keyof FuseObj]: boolean;
28
- } & {
29
- CAN_DO_EVERYTHING: boolean;
30
- };
31
- export declare type UnnamedFuseType = typeof unnamedFuses;
32
- export declare type Fuse = keyof FuseObj;
33
- export declare type UnnamedFuseValues = UnnamedFuseType[number];
34
- export declare type FuseArrayPossibilities = [Fuse] | [Fuse, Fuse] | [Fuse, Fuse, Fuse] | [Fuse, Fuse, Fuse, Fuse] | [Fuse, Fuse, Fuse, Fuse, Fuse] | [Fuse, Fuse, Fuse, Fuse, Fuse, Fuse] | [Fuse, Fuse, Fuse, Fuse, Fuse, Fuse, Fuse];
35
- /**
36
- * This type creates a type error if there are any duplicate fuses.
37
- * It effectively works like a reduce function, starting with 0 included types, adding a type each time, and then checking for duplicates.
38
- *
39
- * @template A The array to check for duplicates.
40
- * @template B The union of all checked existing types.
41
- */
42
- declare type FusesWithoutDuplicates<A, B = never> = A extends FuseArrayPossibilities ? A extends [infer Head, ...infer Tail] ? Head extends B ? [
43
- ] : [
44
- Head,
45
- ...FusesWithoutDuplicates<Tail, Head | B>
46
- ] : A : [
47
- ];
48
- export declare type NamedFusesToBurn = FusesWithoutDuplicates<FuseArrayPossibilities>;
49
- export declare type FusePropsNamedArray = {
50
- namedFusesToBurn: NamedFusesToBurn;
51
- };
52
- export declare type FusePropsUnnamedArray = {
53
- unnamedFusesToBurn: UnnamedFuseValues[];
54
- };
55
- export declare type FusePropsNumber = {
56
- fuseNumberToBurn: number;
57
- };
58
- export declare type FuseProps = (Partial<FusePropsNamedArray> & FusePropsUnnamedArray) | (FusePropsNamedArray & Partial<FusePropsUnnamedArray>) | FusePropsNumber;
59
- export declare const validateFuses: (fuses: FuseProps) => number;
60
- export declare const decodeFuses: (fuses: BigNumberish) => CurrentFuses;
41
+ };
42
+ export declare const unnamedChildFuses: readonly [64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768];
43
+ export declare const unnamedParentFuses: readonly [524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648];
44
+ export declare const unnamedUserSettableFuses: readonly [64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648];
45
+ export declare const childFuseKeys: ("CANNOT_UNWRAP" | "CANNOT_BURN_FUSES" | "CANNOT_TRANSFER" | "CANNOT_SET_RESOLVER" | "CANNOT_SET_TTL" | "CANNOT_CREATE_SUBDOMAIN")[];
46
+ export declare const parentFuseKeys: ("PARENT_CANNOT_CONTROL" | "CAN_EXTEND_EXPIRY")[];
47
+ export declare const fullParentFuseKeys: ("PARENT_CANNOT_CONTROL" | "CAN_EXTEND_EXPIRY" | "IS_DOT_ETH")[];
48
+ export declare const userSettableFuseKeys: ("CANNOT_UNWRAP" | "CANNOT_BURN_FUSES" | "CANNOT_TRANSFER" | "CANNOT_SET_RESOLVER" | "CANNOT_SET_TTL" | "CANNOT_CREATE_SUBDOMAIN" | "PARENT_CANNOT_CONTROL" | "CAN_EXTEND_EXPIRY")[];
49
+ declare type FuseType<Enum extends Record<string, number>, UnnamedTuple extends readonly number[], CustomFuses extends string = never> = {
50
+ fuse: keyof Enum;
51
+ options: {
52
+ -readonly [K in keyof Enum]?: boolean;
53
+ };
54
+ current: {
55
+ [K in keyof Enum]: boolean;
56
+ } & {
57
+ readonly [K in CustomFuses]: boolean;
58
+ };
59
+ unnamed: UnnamedTuple;
60
+ unnamedValues: UnnamedTuple[number];
61
+ unnamedObject: {
62
+ [K in UnnamedTuple[number]]: boolean;
63
+ };
64
+ };
65
+ export declare type ChildFuses = FuseType<typeof childFuseEnum, typeof unnamedChildFuses, 'CAN_DO_EVERYTHING'>;
66
+ export declare type ParentFuses = FuseType<typeof parentFuseEnum, typeof unnamedParentFuses>;
67
+ export declare type FullParentFuses = FuseType<typeof fullParentFuseEnum, typeof unnamedParentFuses>;
68
+ export declare type UserSettableFuses = FuseType<typeof userSettableFuseEnum, typeof unnamedUserSettableFuses>;
69
+ declare type InputFuses<NamedFuse extends string, UnnamedFuse extends number> = {
70
+ named: readonly NamedFuse[];
71
+ } | {
72
+ unnamed: readonly UnnamedFuse[];
73
+ } | {
74
+ named: readonly NamedFuse[];
75
+ unnamed: readonly UnnamedFuse[];
76
+ } | {
77
+ number: number;
78
+ };
79
+ export declare type CombinedFuseInput = {
80
+ child: InputFuses<ChildFuses['fuse'], ChildFuses['unnamedValues']>;
81
+ parent: InputFuses<ParentFuses['fuse'], ParentFuses['unnamedValues']>;
82
+ };
83
+ export declare const hasFuses: (fuses: any) => boolean;
84
+ export declare function encodeFuses(fuses: Partial<CombinedFuseInput> | number): number;
85
+ export declare function encodeFuses(fuses: CombinedFuseInput['child'], restrictTo: 'child'): number;
86
+ export declare function encodeFuses(fuses: CombinedFuseInput['parent'], restrictTo: 'parent'): number;
87
+ export declare const decodeFuses: (fuses: number) => {
88
+ parent: {
89
+ unnamed: {
90
+ 524288: boolean;
91
+ 1048576: boolean;
92
+ 2097152: boolean;
93
+ 4194304: boolean;
94
+ 8388608: boolean;
95
+ 16777216: boolean;
96
+ 33554432: boolean;
97
+ 67108864: boolean;
98
+ 134217728: boolean;
99
+ 268435456: boolean;
100
+ 536870912: boolean;
101
+ 1073741824: boolean;
102
+ 2147483648: boolean;
103
+ };
104
+ IS_DOT_ETH: boolean;
105
+ PARENT_CANNOT_CONTROL: boolean;
106
+ CAN_EXTEND_EXPIRY: boolean;
107
+ };
108
+ child: {
109
+ CAN_DO_EVERYTHING: boolean;
110
+ unnamed: {
111
+ 1024: boolean;
112
+ 64: boolean;
113
+ 128: boolean;
114
+ 256: boolean;
115
+ 512: boolean;
116
+ 2048: boolean;
117
+ 4096: boolean;
118
+ 8192: boolean;
119
+ 16384: boolean;
120
+ 32768: boolean;
121
+ };
122
+ CANNOT_UNWRAP: boolean;
123
+ CANNOT_BURN_FUSES: boolean;
124
+ CANNOT_TRANSFER: boolean;
125
+ CANNOT_SET_RESOLVER: boolean;
126
+ CANNOT_SET_TTL: boolean;
127
+ CANNOT_CREATE_SUBDOMAIN: boolean;
128
+ };
129
+ };
130
+ export declare type AllCurrentFuses = ReturnType<typeof decodeFuses>;
61
131
  export default fullFuseEnum;
@@ -1,17 +1,29 @@
1
+ /// <reference types="node" />
2
+ import type { BigNumberish } from 'ethers';
1
3
  import type { PublicResolver } from '../generated';
2
4
  declare type RecordItem = {
3
5
  key: string;
4
6
  value: string;
5
7
  };
8
+ declare type ABIEncodeAs = 'json' | 'zlib' | 'cbor' | 'uri';
9
+ declare type ABIItem = {
10
+ contentType?: BigNumberish;
11
+ data: object | string;
12
+ };
6
13
  export declare type RecordOptions = {
7
14
  clearRecords?: boolean;
8
15
  contentHash?: string;
9
16
  texts?: RecordItem[];
10
17
  coinTypes?: RecordItem[];
18
+ abi?: ABIItem;
11
19
  };
12
20
  export declare const generateSetAddr: (namehash: string, coinType: string, address: string, resolver: PublicResolver) => string;
13
- export declare type RecordTypes = 'contentHash' | 'text' | 'addr';
14
- export declare type RecordInput<T extends RecordTypes> = T extends 'contentHash' ? string : RecordItem;
21
+ export declare const generateABIInput: (encodeAs: ABIEncodeAs, data: object | string) => Promise<{
22
+ contentType: number;
23
+ data: string | Uint8Array | Buffer;
24
+ }>;
25
+ export declare type RecordTypes = 'contentHash' | 'text' | 'addr' | 'abi';
26
+ export declare type RecordInput<T extends RecordTypes> = T extends 'contentHash' ? string : T extends 'abi' ? ABIItem : RecordItem;
15
27
  export declare function generateSingleRecordCall<T extends RecordTypes>(namehash: string, resolver: PublicResolver, type: T): (record: RecordInput<T>) => string;
16
28
  export declare const generateRecordCallArray: (namehash: string, records: RecordOptions, resolver: PublicResolver) => string[];
17
29
  export {};