@ensdomains/ensjs 3.0.0-alpha.10 → 3.0.0-alpha.13

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 (277) hide show
  1. package/dist/cjs/contracts/baseRegistrar.d.ts +1 -1
  2. package/dist/cjs/contracts/index.d.ts +3 -3
  3. package/dist/cjs/contracts/multicall.d.ts +1 -1
  4. package/dist/cjs/contracts/registry.d.ts +1 -1
  5. package/dist/cjs/functions/burnFuses.js +1 -1
  6. package/dist/cjs/functions/commitName.d.ts +26 -0
  7. package/dist/cjs/functions/commitName.js +24 -0
  8. package/dist/cjs/functions/createSubname.d.ts +3 -1
  9. package/dist/cjs/functions/createSubname.js +4 -2
  10. package/dist/cjs/functions/deleteSubname.d.ts +1 -1
  11. package/dist/cjs/functions/deleteSubname.js +3 -2
  12. package/dist/cjs/functions/getExpiry.d.ts +9 -2
  13. package/dist/cjs/functions/getExpiry.js +52 -7
  14. package/dist/cjs/functions/getFuses.d.ts +2 -3
  15. package/dist/cjs/functions/getFuses.js +4 -13
  16. package/dist/cjs/functions/getHistory.d.ts +0 -30
  17. package/dist/cjs/functions/getHistory.js +3 -99
  18. package/dist/cjs/functions/getName.d.ts +2 -2
  19. package/dist/cjs/functions/getName.js +1 -1
  20. package/dist/cjs/functions/getProfile.js +1 -1
  21. package/dist/cjs/functions/getSpecificRecord.js +8 -1
  22. package/dist/cjs/functions/getSubnames.d.ts +1 -1
  23. package/dist/cjs/functions/getSubnames.js +1 -1
  24. package/dist/cjs/functions/registerName.d.ts +11 -0
  25. package/dist/cjs/functions/registerName.js +19 -0
  26. package/dist/cjs/functions/renewName.d.ts +6 -0
  27. package/dist/cjs/functions/renewName.js +10 -0
  28. package/dist/cjs/functions/transferSubname.d.ts +12 -3
  29. package/dist/cjs/functions/transferSubname.js +5 -3
  30. package/dist/cjs/functions/wrapName.d.ts +3 -1
  31. package/dist/cjs/functions/wrapName.js +35 -29
  32. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +222 -201
  33. package/dist/cjs/generated/DNSRegistrar.d.ts +68 -64
  34. package/dist/cjs/generated/DNSSECImpl.d.ts +111 -111
  35. package/dist/cjs/generated/DefaultReverseResolver.d.ts +17 -17
  36. package/dist/cjs/generated/ENSRegistry.d.ts +126 -111
  37. package/dist/cjs/generated/ETHRegistrarController.d.ts +111 -109
  38. package/dist/cjs/generated/Multicall.d.ts +60 -60
  39. package/dist/cjs/generated/NameWrapper.d.ts +493 -354
  40. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +11 -7
  41. package/dist/cjs/generated/PublicResolver.d.ts +259 -235
  42. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +11 -7
  43. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +11 -7
  44. package/dist/cjs/generated/ReverseRegistrar.d.ts +112 -103
  45. package/dist/cjs/generated/Root.d.ts +77 -77
  46. package/dist/cjs/generated/SHA1Digest.d.ts +7 -7
  47. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +11 -7
  48. package/dist/cjs/generated/SHA256Digest.d.ts +7 -7
  49. package/dist/cjs/generated/StaticMetadataService.d.ts +7 -7
  50. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +7 -7
  51. package/dist/cjs/generated/UniversalResolver.d.ts +31 -31
  52. package/dist/cjs/generated/common.d.ts +1 -0
  53. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +3 -15
  54. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +3 -26
  55. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +3 -15
  56. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +3 -26
  57. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +14 -4
  58. package/dist/cjs/generated/factories/NameWrapper__factory.js +210 -79
  59. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
  60. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +3 -26
  61. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
  62. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +3 -26
  63. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
  64. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +3 -26
  65. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +3 -15
  66. package/dist/cjs/generated/factories/SHA1Digest__factory.js +3 -26
  67. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
  68. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +3 -26
  69. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +3 -15
  70. package/dist/cjs/generated/factories/SHA256Digest__factory.js +3 -26
  71. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
  72. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +3 -26
  73. package/dist/cjs/generated/factories/index.d.ts +14 -0
  74. package/dist/cjs/generated/factories/index.js +29 -1
  75. package/dist/cjs/generated/index.d.ts +29 -1
  76. package/dist/cjs/generated/index.js +31 -3
  77. package/dist/cjs/index.d.ts +24 -40
  78. package/dist/cjs/index.js +9 -5
  79. package/dist/cjs/utils/registerHelpers.d.ts +44 -16
  80. package/dist/cjs/utils/registerHelpers.js +43 -15
  81. package/dist/cjs/utils/wrapperExpiry.d.ts +5 -0
  82. package/dist/cjs/utils/wrapperExpiry.js +30 -0
  83. package/dist/cjs/utils/writeTx.d.ts +18 -1
  84. package/dist/cjs/utils/writeTx.js +4 -1
  85. package/dist/esm/contracts/baseRegistrar.d.ts +1 -1
  86. package/dist/esm/contracts/index.d.ts +3 -3
  87. package/dist/esm/contracts/multicall.d.ts +1 -1
  88. package/dist/esm/contracts/registry.d.ts +1 -1
  89. package/dist/esm/functions/burnFuses.js +1 -1
  90. package/dist/esm/functions/commitName.d.ts +26 -0
  91. package/dist/esm/functions/commitName.js +21 -0
  92. package/dist/esm/functions/createSubname.d.ts +3 -1
  93. package/dist/esm/functions/createSubname.js +4 -2
  94. package/dist/esm/functions/deleteSubname.d.ts +1 -1
  95. package/dist/esm/functions/deleteSubname.js +3 -2
  96. package/dist/esm/functions/getExpiry.d.ts +9 -2
  97. package/dist/esm/functions/getExpiry.js +52 -7
  98. package/dist/esm/functions/getFuses.d.ts +2 -3
  99. package/dist/esm/functions/getFuses.js +5 -14
  100. package/dist/esm/functions/getHistory.d.ts +0 -30
  101. package/dist/esm/functions/getHistory.js +2 -96
  102. package/dist/esm/functions/getName.d.ts +2 -2
  103. package/dist/esm/functions/getName.js +1 -1
  104. package/dist/esm/functions/getProfile.js +1 -1
  105. package/dist/esm/functions/getSpecificRecord.js +8 -1
  106. package/dist/esm/functions/getSubnames.d.ts +1 -1
  107. package/dist/esm/functions/getSubnames.js +1 -1
  108. package/dist/esm/functions/registerName.d.ts +11 -0
  109. package/dist/esm/functions/registerName.js +16 -0
  110. package/dist/esm/functions/renewName.d.ts +6 -0
  111. package/dist/esm/functions/renewName.js +7 -0
  112. package/dist/esm/functions/transferSubname.d.ts +12 -3
  113. package/dist/esm/functions/transferSubname.js +5 -3
  114. package/dist/esm/functions/wrapName.d.ts +3 -1
  115. package/dist/esm/functions/wrapName.js +35 -29
  116. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +222 -201
  117. package/dist/esm/generated/DNSRegistrar.d.ts +68 -64
  118. package/dist/esm/generated/DNSSECImpl.d.ts +111 -111
  119. package/dist/esm/generated/DefaultReverseResolver.d.ts +17 -17
  120. package/dist/esm/generated/ENSRegistry.d.ts +126 -111
  121. package/dist/esm/generated/ETHRegistrarController.d.ts +111 -109
  122. package/dist/esm/generated/Multicall.d.ts +60 -60
  123. package/dist/esm/generated/NameWrapper.d.ts +493 -354
  124. package/dist/esm/generated/P256SHA256Algorithm.d.ts +11 -7
  125. package/dist/esm/generated/PublicResolver.d.ts +259 -235
  126. package/dist/esm/generated/RSASHA1Algorithm.d.ts +11 -7
  127. package/dist/esm/generated/RSASHA256Algorithm.d.ts +11 -7
  128. package/dist/esm/generated/ReverseRegistrar.d.ts +112 -103
  129. package/dist/esm/generated/Root.d.ts +77 -77
  130. package/dist/esm/generated/SHA1Digest.d.ts +7 -7
  131. package/dist/esm/generated/SHA1NSEC3Digest.d.ts +11 -7
  132. package/dist/esm/generated/SHA256Digest.d.ts +7 -7
  133. package/dist/esm/generated/StaticMetadataService.d.ts +7 -7
  134. package/dist/esm/generated/TLDPublicSuffixList.d.ts +7 -7
  135. package/dist/esm/generated/UniversalResolver.d.ts +31 -31
  136. package/dist/esm/generated/common.d.ts +1 -0
  137. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +3 -15
  138. package/dist/esm/generated/factories/DNSRegistrar__factory.js +2 -25
  139. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +3 -15
  140. package/dist/esm/generated/factories/DNSSECImpl__factory.js +2 -25
  141. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +14 -4
  142. package/dist/esm/generated/factories/NameWrapper__factory.js +210 -79
  143. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
  144. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +2 -25
  145. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
  146. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +2 -25
  147. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
  148. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +2 -25
  149. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +3 -15
  150. package/dist/esm/generated/factories/SHA1Digest__factory.js +2 -25
  151. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
  152. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +2 -25
  153. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +3 -15
  154. package/dist/esm/generated/factories/SHA256Digest__factory.js +2 -25
  155. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
  156. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +2 -25
  157. package/dist/esm/generated/factories/index.d.ts +14 -0
  158. package/dist/esm/generated/factories/index.js +14 -0
  159. package/dist/esm/generated/index.d.ts +29 -1
  160. package/dist/esm/generated/index.js +15 -1
  161. package/dist/esm/index.d.ts +24 -40
  162. package/dist/esm/index.js +9 -5
  163. package/dist/esm/utils/registerHelpers.d.ts +44 -16
  164. package/dist/esm/utils/registerHelpers.js +40 -14
  165. package/dist/esm/utils/wrapperExpiry.d.ts +5 -0
  166. package/dist/esm/utils/wrapperExpiry.js +26 -0
  167. package/dist/esm/utils/writeTx.d.ts +18 -1
  168. package/dist/esm/utils/writeTx.js +4 -1
  169. package/package.json +27 -28
  170. package/src/ABIs/Multicall.json +452 -0
  171. package/src/contracts/index.ts +1 -1
  172. package/src/functions/batch.test.ts +6 -6
  173. package/src/functions/batchWrappers.test.ts +5 -5
  174. package/src/functions/burnFuses.test.ts +5 -10
  175. package/src/functions/burnFuses.ts +1 -1
  176. package/src/functions/commitName.test.ts +61 -0
  177. package/src/functions/commitName.ts +36 -0
  178. package/src/functions/createSubname.test.ts +6 -10
  179. package/src/functions/createSubname.ts +14 -2
  180. package/src/functions/deleteSubname.test.ts +9 -28
  181. package/src/functions/deleteSubname.ts +3 -2
  182. package/src/functions/getDNSOwner.test.ts +1 -5
  183. package/src/functions/getExpiry.test.ts +26 -4
  184. package/src/functions/getExpiry.ts +87 -9
  185. package/src/functions/getFuses.test.ts +10 -33
  186. package/src/functions/getFuses.ts +10 -16
  187. package/src/functions/getHistory.test.ts +7 -79
  188. package/src/functions/getHistory.ts +2 -127
  189. package/src/functions/getName.test.ts +5 -5
  190. package/src/functions/getName.ts +1 -1
  191. package/src/functions/getNames.test.ts +97 -68
  192. package/src/functions/getOwner.test.ts +10 -25
  193. package/src/functions/getProfile.test.ts +32 -24
  194. package/src/functions/getProfile.ts +1 -1
  195. package/src/functions/getResolver.test.ts +2 -6
  196. package/src/functions/getSpecificRecord.test.ts +16 -13
  197. package/src/functions/getSpecificRecord.ts +10 -4
  198. package/src/functions/getSubnames.test.ts +21 -17
  199. package/src/functions/getSubnames.ts +9 -2
  200. package/src/functions/makeCommitment.test.ts +2 -2
  201. package/src/functions/registerName.test.ts +59 -0
  202. package/src/functions/registerName.ts +38 -0
  203. package/src/functions/renewName.test.ts +44 -0
  204. package/src/functions/renewName.ts +22 -0
  205. package/src/functions/setName.test.ts +10 -11
  206. package/src/functions/setRecord.test.ts +12 -9
  207. package/src/functions/setRecords.test.ts +6 -5
  208. package/src/functions/setResolver.test.ts +6 -9
  209. package/src/functions/transferName.test.ts +13 -27
  210. package/src/functions/transferSubname.test.ts +11 -30
  211. package/src/functions/transferSubname.ts +28 -10
  212. package/src/functions/unwrapName.test.ts +13 -28
  213. package/src/functions/wrapName.test.ts +109 -34
  214. package/src/functions/wrapName.ts +45 -29
  215. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  216. package/src/generated/DNSRegistrar.ts +103 -89
  217. package/src/generated/DNSSECImpl.ts +180 -149
  218. package/src/generated/DefaultReverseResolver.ts +37 -21
  219. package/src/generated/ENSRegistry.ts +257 -184
  220. package/src/generated/ETHRegistrarController.ts +252 -191
  221. package/src/generated/Multicall.ts +73 -57
  222. package/src/generated/NameWrapper.ts +979 -649
  223. package/src/generated/P256SHA256Algorithm.ts +21 -16
  224. package/src/generated/PublicResolver.ts +452 -362
  225. package/src/generated/RSASHA1Algorithm.ts +21 -16
  226. package/src/generated/RSASHA256Algorithm.ts +21 -16
  227. package/src/generated/ReverseRegistrar.ts +193 -141
  228. package/src/generated/Root.ts +146 -86
  229. package/src/generated/SHA1Digest.ts +12 -11
  230. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  231. package/src/generated/SHA256Digest.ts +12 -11
  232. package/src/generated/StaticMetadataService.ts +22 -6
  233. package/src/generated/TLDPublicSuffixList.ts +10 -6
  234. package/src/generated/UniversalResolver.ts +44 -40
  235. package/src/generated/common.ts +2 -0
  236. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  237. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  238. package/src/generated/factories/ETHRegistrarController__factory.ts +14 -4
  239. package/src/generated/factories/NameWrapper__factory.ts +210 -79
  240. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  241. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  242. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  243. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  244. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  245. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  246. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  247. package/src/generated/factories/index.ts +14 -0
  248. package/src/generated/index.ts +29 -1
  249. package/src/index.ts +28 -26
  250. package/src/utils/registerHelpers.ts +107 -49
  251. package/src/utils/wrapperExpiry.ts +31 -0
  252. package/src/utils/writeTx.ts +12 -2
  253. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  254. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  255. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  256. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  257. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  258. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  259. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  260. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  261. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  262. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  263. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  264. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  265. package/src/ABIs/ETHRegistrarController.json +0 -494
  266. package/src/ABIs/NameWrapper.json +0 -1183
  267. package/src/ABIs/PublicResolver.json +0 -875
  268. package/src/ABIs/ReverseRegistrar.json +0 -323
  269. package/src/ABIs/StaticMetadataService.json +0 -32
  270. package/src/ABIs/UniversalResolver.json +0 -187
  271. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  272. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  273. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  274. package/src/tests/populateTransaction.test.ts +0 -40
  275. package/src/tests/setup.ts +0 -53
  276. package/src/tests/signerInjection.test.ts +0 -46
  277. package/src/tests/withProvider.test.ts +0 -28
@@ -23,16 +23,44 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.UniversalResolver__factory = exports.StaticMetadataService__factory = exports.ReverseRegistrar__factory = exports.PublicResolver__factory = exports.NameWrapper__factory = exports.ETHRegistrarController__factory = exports.factories = void 0;
26
+ exports.UniversalResolver__factory = exports.StaticMetadataService__factory = exports.NameWrapper__factory = exports.Multicall__factory = exports.TLDPublicSuffixList__factory = exports.SHA256Digest__factory = exports.SHA1NSEC3Digest__factory = exports.SHA1Digest__factory = exports.RSASHA256Algorithm__factory = exports.RSASHA1Algorithm__factory = exports.Root__factory = exports.ReverseRegistrar__factory = exports.PublicResolver__factory = exports.P256SHA256Algorithm__factory = exports.ETHRegistrarController__factory = exports.ENSRegistry__factory = exports.DNSSECImpl__factory = exports.DNSRegistrar__factory = exports.DefaultReverseResolver__factory = exports.BaseRegistrarImplementation__factory = exports.factories = void 0;
27
27
  exports.factories = __importStar(require("./factories"));
28
+ var BaseRegistrarImplementation__factory_1 = require("./factories/BaseRegistrarImplementation__factory");
29
+ Object.defineProperty(exports, "BaseRegistrarImplementation__factory", { enumerable: true, get: function () { return BaseRegistrarImplementation__factory_1.BaseRegistrarImplementation__factory; } });
30
+ var DefaultReverseResolver__factory_1 = require("./factories/DefaultReverseResolver__factory");
31
+ Object.defineProperty(exports, "DefaultReverseResolver__factory", { enumerable: true, get: function () { return DefaultReverseResolver__factory_1.DefaultReverseResolver__factory; } });
32
+ var DNSRegistrar__factory_1 = require("./factories/DNSRegistrar__factory");
33
+ Object.defineProperty(exports, "DNSRegistrar__factory", { enumerable: true, get: function () { return DNSRegistrar__factory_1.DNSRegistrar__factory; } });
34
+ var DNSSECImpl__factory_1 = require("./factories/DNSSECImpl__factory");
35
+ Object.defineProperty(exports, "DNSSECImpl__factory", { enumerable: true, get: function () { return DNSSECImpl__factory_1.DNSSECImpl__factory; } });
36
+ var ENSRegistry__factory_1 = require("./factories/ENSRegistry__factory");
37
+ Object.defineProperty(exports, "ENSRegistry__factory", { enumerable: true, get: function () { return ENSRegistry__factory_1.ENSRegistry__factory; } });
28
38
  var ETHRegistrarController__factory_1 = require("./factories/ETHRegistrarController__factory");
29
39
  Object.defineProperty(exports, "ETHRegistrarController__factory", { enumerable: true, get: function () { return ETHRegistrarController__factory_1.ETHRegistrarController__factory; } });
30
- var NameWrapper__factory_1 = require("./factories/NameWrapper__factory");
31
- Object.defineProperty(exports, "NameWrapper__factory", { enumerable: true, get: function () { return NameWrapper__factory_1.NameWrapper__factory; } });
40
+ var P256SHA256Algorithm__factory_1 = require("./factories/P256SHA256Algorithm__factory");
41
+ Object.defineProperty(exports, "P256SHA256Algorithm__factory", { enumerable: true, get: function () { return P256SHA256Algorithm__factory_1.P256SHA256Algorithm__factory; } });
32
42
  var PublicResolver__factory_1 = require("./factories/PublicResolver__factory");
33
43
  Object.defineProperty(exports, "PublicResolver__factory", { enumerable: true, get: function () { return PublicResolver__factory_1.PublicResolver__factory; } });
34
44
  var ReverseRegistrar__factory_1 = require("./factories/ReverseRegistrar__factory");
35
45
  Object.defineProperty(exports, "ReverseRegistrar__factory", { enumerable: true, get: function () { return ReverseRegistrar__factory_1.ReverseRegistrar__factory; } });
46
+ var Root__factory_1 = require("./factories/Root__factory");
47
+ Object.defineProperty(exports, "Root__factory", { enumerable: true, get: function () { return Root__factory_1.Root__factory; } });
48
+ var RSASHA1Algorithm__factory_1 = require("./factories/RSASHA1Algorithm__factory");
49
+ Object.defineProperty(exports, "RSASHA1Algorithm__factory", { enumerable: true, get: function () { return RSASHA1Algorithm__factory_1.RSASHA1Algorithm__factory; } });
50
+ var RSASHA256Algorithm__factory_1 = require("./factories/RSASHA256Algorithm__factory");
51
+ Object.defineProperty(exports, "RSASHA256Algorithm__factory", { enumerable: true, get: function () { return RSASHA256Algorithm__factory_1.RSASHA256Algorithm__factory; } });
52
+ var SHA1Digest__factory_1 = require("./factories/SHA1Digest__factory");
53
+ Object.defineProperty(exports, "SHA1Digest__factory", { enumerable: true, get: function () { return SHA1Digest__factory_1.SHA1Digest__factory; } });
54
+ var SHA1NSEC3Digest__factory_1 = require("./factories/SHA1NSEC3Digest__factory");
55
+ Object.defineProperty(exports, "SHA1NSEC3Digest__factory", { enumerable: true, get: function () { return SHA1NSEC3Digest__factory_1.SHA1NSEC3Digest__factory; } });
56
+ var SHA256Digest__factory_1 = require("./factories/SHA256Digest__factory");
57
+ Object.defineProperty(exports, "SHA256Digest__factory", { enumerable: true, get: function () { return SHA256Digest__factory_1.SHA256Digest__factory; } });
58
+ var TLDPublicSuffixList__factory_1 = require("./factories/TLDPublicSuffixList__factory");
59
+ Object.defineProperty(exports, "TLDPublicSuffixList__factory", { enumerable: true, get: function () { return TLDPublicSuffixList__factory_1.TLDPublicSuffixList__factory; } });
60
+ var Multicall__factory_1 = require("./factories/Multicall__factory");
61
+ Object.defineProperty(exports, "Multicall__factory", { enumerable: true, get: function () { return Multicall__factory_1.Multicall__factory; } });
62
+ var NameWrapper__factory_1 = require("./factories/NameWrapper__factory");
63
+ Object.defineProperty(exports, "NameWrapper__factory", { enumerable: true, get: function () { return NameWrapper__factory_1.NameWrapper__factory; } });
36
64
  var StaticMetadataService__factory_1 = require("./factories/StaticMetadataService__factory");
37
65
  Object.defineProperty(exports, "StaticMetadataService__factory", { enumerable: true, get: function () { return StaticMetadataService__factory_1.StaticMetadataService__factory; } });
38
66
  var UniversalResolver__factory_1 = require("./factories/UniversalResolver__factory");
@@ -4,8 +4,11 @@ import ContractManager from './contracts';
4
4
  import { getContractAddress as _getContractAddress } from './contracts/getContractAddress';
5
5
  import { SupportedNetworkId } from './contracts/types';
6
6
  import type burnFuses from './functions/burnFuses';
7
+ import type commitName from './functions/commitName';
7
8
  import type createSubname from './functions/createSubname';
8
9
  import type deleteSubname from './functions/deleteSubname';
10
+ import registerName from './functions/registerName';
11
+ import renewName from './functions/renewName';
9
12
  import type setName from './functions/setName';
10
13
  import type setRecord from './functions/setRecord';
11
14
  import type setRecords from './functions/setRecords';
@@ -36,7 +39,9 @@ declare type WriteOptions = {
36
39
  };
37
40
  declare type OptionalWriteOptions<F> = F extends (x: any, arg_0: infer Z, options?: infer P) => infer R ? (name: Z, options?: P & WriteOptions) => R : F extends (x: any, arg_0: infer Z, options: infer P) => infer R ? (name: Z, options: P & WriteOptions) => R : never;
38
41
  interface WriteFunction<F extends (...args: any) => any> extends Function {
39
- (...args: Parameters<OptionalWriteOptions<F>>): Promise<ContractTransaction>;
42
+ (...args: Parameters<OptionalWriteOptions<F>>): Promise<ContractTransaction & {
43
+ customData?: Record<string, any>;
44
+ }>;
40
45
  populateTransaction: (...args: Parameters<OptionalWriteOptions<F>>) => Promise<PopulatedTransaction>;
41
46
  }
42
47
  export declare type RawFunction = {
@@ -206,8 +211,8 @@ export declare class ENS {
206
211
  reverseResolverAddress: any;
207
212
  resolverAddress: any;
208
213
  } | {
209
- name: null;
210
- match: boolean;
214
+ name: undefined;
215
+ match?: undefined;
211
216
  reverseResolverAddress?: undefined;
212
217
  resolverAddress?: undefined;
213
218
  } | undefined>;
@@ -226,10 +231,9 @@ export declare class ENS {
226
231
  }>;
227
232
  decode: ({ contracts }: ENSArgs<"contracts">, data: string, name: string) => Promise<{
228
233
  fuseObj: {
229
- [k: string]: any;
234
+ [k: string]: boolean;
230
235
  };
231
- vulnerability: any;
232
- vulnerableNode: null;
236
+ expiryDate: Date;
233
237
  rawFuses: ethers.BigNumber;
234
238
  } | undefined>;
235
239
  }>;
@@ -256,36 +260,6 @@ export declare class ENS {
256
260
  data: Record<string, any>;
257
261
  }[];
258
262
  } | undefined>;
259
- getHistoryWithDetail: (name: string) => Promise<{
260
- domain: {
261
- type: any;
262
- blockNumber: any;
263
- transactionHash: any;
264
- id: any;
265
- data: Record<string, any>;
266
- }[];
267
- registration: {
268
- type: any;
269
- blockNumber: any;
270
- transactionHash: any;
271
- id: any;
272
- data: Record<string, any>;
273
- }[];
274
- resolver: {
275
- type: any;
276
- blockNumber: any;
277
- transactionHash: any;
278
- id: any;
279
- data: Record<string, any>;
280
- }[];
281
- } | undefined>;
282
- getHistoryDetailForTransactionHash: (hash: string, indexInTransaction?: number | undefined) => Promise<({
283
- key: any;
284
- value: any;
285
- } | undefined)[] | {
286
- key: any;
287
- value: any;
288
- } | undefined>;
289
263
  getContentHash: GeneratedRawFunction<{
290
264
  raw: ({ contracts, universalWrapper }: ENSArgs<"contracts" | "universalWrapper">, name: string) => Promise<{
291
265
  to: string;
@@ -370,11 +344,18 @@ export declare class ENS {
370
344
  } | undefined>;
371
345
  }>;
372
346
  getExpiry: GeneratedRawFunction<{
373
- raw: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, name: string) => Promise<{
347
+ raw: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, name: string, { contract }?: {
348
+ contract?: ("nameWrapper" | "registrar") | undefined;
349
+ }) => Promise<{
374
350
  to: string;
375
351
  data: string;
376
352
  }>;
377
- decode: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, data: string) => Promise<{
353
+ decode: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, data: string, name: string, { contract }?: {
354
+ contract?: ("nameWrapper" | "registrar") | undefined;
355
+ }) => Promise<{
356
+ expiry: Date;
357
+ gracePeriod: null;
358
+ } | {
378
359
  expiry: Date | null;
379
360
  gracePeriod: number;
380
361
  } | undefined>;
@@ -385,7 +366,7 @@ export declare class ENS {
385
366
  pageSize?: number | undefined;
386
367
  orderDirection?: "asc" | "desc" | undefined;
387
368
  orderBy?: "labelName" | "createdAt" | undefined;
388
- lastSubnames: any[];
369
+ lastSubnames?: any[] | undefined;
389
370
  isLargeQuery?: boolean | undefined;
390
371
  }) => Promise<{
391
372
  subnames: {
@@ -429,6 +410,7 @@ export declare class ENS {
429
410
  premium: ethers.BigNumber;
430
411
  } | undefined>;
431
412
  }>;
413
+ getDNSOwner: (dnsName: string) => Promise<any>;
432
414
  universalWrapper: GeneratedRawFunction<{
433
415
  raw: ({ contracts }: ENSArgs<"contracts">, name: string, data: string) => Promise<{
434
416
  to: string;
@@ -467,6 +449,8 @@ export declare class ENS {
467
449
  createSubname: WriteFunction<typeof createSubname>;
468
450
  deleteSubname: WriteFunction<typeof deleteSubname>;
469
451
  transferSubname: WriteFunction<typeof transferSubname>;
470
- getDNSOwner: (dnsName: string) => Promise<any>;
452
+ commitName: WriteFunction<typeof commitName>;
453
+ registerName: WriteFunction<typeof registerName>;
454
+ renewName: WriteFunction<typeof renewName>;
471
455
  }
472
456
  export {};
package/dist/cjs/index.js CHANGED
@@ -205,8 +205,6 @@ class ENS {
205
205
  'contracts',
206
206
  ]);
207
207
  getHistory = this.generateFunction('getHistory', ['gqlInstance'], 'getHistory');
208
- getHistoryWithDetail = this.generateFunction('getHistory', ['contracts', 'gqlInstance', 'provider'], 'getHistoryWithDetail');
209
- getHistoryDetailForTransactionHash = this.generateFunction('getHistory', ['contracts', 'provider'], 'getHistoryDetailForTransactionHash');
210
208
  getContentHash = this.generateRawFunction('initialGetters', ['contracts', 'universalWrapper'], 'getContentHash');
211
209
  _getContentHash = this.generateRawFunction('initialGetters', ['contracts'], '_getContentHash');
212
210
  getAddr = this.generateRawFunction('initialGetters', ['contracts', 'universalWrapper'], 'getAddr');
@@ -218,6 +216,7 @@ class ENS {
218
216
  getSubnames = this.generateFunction('initialGetters', ['gqlInstance'], 'getSubnames');
219
217
  getNames = this.generateFunction('initialGetters', ['gqlInstance'], 'getNames');
220
218
  getPrice = this.generateRawFunction('initialGetters', ['contracts', 'multicallWrapper'], 'getPrice');
219
+ getDNSOwner = this.generateFunction('getDNSOwner', []);
221
220
  universalWrapper = this.generateRawFunction('initialGetters', ['contracts'], 'universalWrapper');
222
221
  resolverMulticallWrapper = this.generateRawFunction('initialGetters', ['contracts'], 'resolverMulticallWrapper');
223
222
  multicallWrapper = this.generateRawFunction('initialGetters', ['contracts'], 'multicallWrapper');
@@ -234,14 +233,19 @@ class ENS {
234
233
  transferName = this.generateWriteFunction('transferName', ['contracts']);
235
234
  wrapName = this.generateWriteFunction('wrapName', [
236
235
  'contracts',
236
+ 'getExpiry',
237
237
  ]);
238
238
  unwrapName = this.generateWriteFunction('unwrapName', ['contracts']);
239
239
  burnFuses = this.generateWriteFunction('burnFuses', [
240
240
  'contracts',
241
241
  ]);
242
- createSubname = this.generateWriteFunction('createSubname', ['contracts']);
242
+ createSubname = this.generateWriteFunction('createSubname', ['contracts', 'getExpiry']);
243
243
  deleteSubname = this.generateWriteFunction('deleteSubname', ['transferSubname']);
244
- transferSubname = this.generateWriteFunction('transferSubname', ['contracts']);
245
- getDNSOwner = this.generateFunction('getDNSOwner', []);
244
+ transferSubname = this.generateWriteFunction('transferSubname', ['contracts', 'getExpiry']);
245
+ commitName = this.generateWriteFunction('commitName', ['contracts']);
246
+ registerName = this.generateWriteFunction('registerName', ['contracts']);
247
+ renewName = this.generateWriteFunction('renewName', [
248
+ 'contracts',
249
+ ]);
246
250
  }
247
251
  exports.ENS = ENS;
@@ -1,26 +1,54 @@
1
1
  import type { FuseOptions } from '../@types/FuseOptions';
2
2
  import type { PublicResolver } from '../generated';
3
3
  import { RecordOptions } from './recordHelpers';
4
- export declare const randomSecret: () => string;
5
- export declare const makeCommitment: ({ name, owner, duration, resolver, records, reverseRecord, fuses, }: {
4
+ export declare type RegistrationParams = {
6
5
  name: string;
7
6
  owner: string;
8
7
  duration: number;
8
+ secret: string;
9
9
  resolver: PublicResolver;
10
- records?: RecordOptions | undefined;
11
- reverseRecord?: boolean | undefined;
12
- fuses?: FuseOptions | undefined;
13
- }) => {
10
+ records?: RecordOptions;
11
+ reverseRecord?: boolean;
12
+ fuses?: FuseOptions;
13
+ wrapperExpiry: number;
14
+ };
15
+ export declare type CommitmentParams = Omit<RegistrationParams, 'secret' | 'wrapperExpiry'> & {
16
+ secret?: string;
17
+ wrapperExpiry?: number;
18
+ };
19
+ export declare type RegistrationTuple = [
20
+ name: string,
21
+ owner: string,
22
+ duration: number,
23
+ secret: string,
24
+ resolver: string,
25
+ data: string[],
26
+ reverseRecord: boolean,
27
+ fuses: string,
28
+ wrapperExpiry: number
29
+ ];
30
+ export declare type CommitmentTuple = [
31
+ labelhash: string,
32
+ owner: string,
33
+ duration: number,
34
+ resolver: string,
35
+ data: string[],
36
+ secret: string,
37
+ reverseRecord: boolean,
38
+ fuses: string,
39
+ wrapperExpiry: number
40
+ ];
41
+ export declare const randomSecret: () => string;
42
+ export declare const makeCommitmentData: ({ name, owner, duration, resolver, records, reverseRecord, fuses, wrapperExpiry, secret, }: Omit<RegistrationParams, "secret" | "wrapperExpiry"> & {
43
+ secret?: string | undefined;
44
+ wrapperExpiry?: number | undefined;
45
+ } & {
46
+ secret: string;
47
+ }) => CommitmentTuple;
48
+ export declare const makeRegistrationData: (params: RegistrationParams) => RegistrationTuple;
49
+ export declare const makeCommitment: ({ secret, ...inputParams }: CommitmentParams) => {
14
50
  secret: string;
15
51
  commitment: string;
52
+ wrapperExpiry: number;
16
53
  };
17
- export declare const _makeCommitment: ({ labelhash, owner, duration, secret, resolver, data, reverseRecord, fuses, }: {
18
- labelhash: string;
19
- owner: string;
20
- duration: number;
21
- secret: string;
22
- resolver: string;
23
- data: string[];
24
- reverseRecord: boolean;
25
- fuses: string;
26
- }) => string;
54
+ export declare const _makeCommitment: (params: CommitmentTuple) => string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._makeCommitment = exports.makeCommitment = exports.randomSecret = void 0;
6
+ exports._makeCommitment = exports.makeCommitment = exports.makeRegistrationData = exports.makeCommitmentData = exports.randomSecret = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const generateFuseInput_1 = __importDefault(require("./generateFuseInput"));
9
9
  const labels_1 = require("./labels");
@@ -14,39 +14,67 @@ const randomSecret = () => {
14
14
  return '0x' + crypto.getRandomValues(bytes).toString('hex');
15
15
  };
16
16
  exports.randomSecret = randomSecret;
17
- const makeCommitment = ({ name, owner, duration, resolver, records, reverseRecord, fuses, }) => {
17
+ const makeCommitmentData = ({ name, owner, duration, resolver, records, reverseRecord, fuses, wrapperExpiry, secret, }) => {
18
18
  const label = (0, labels_1.labelhash)(name.split('.')[0]);
19
19
  const hash = (0, normalise_1.namehash)(name);
20
20
  const resolverAddress = resolver.address;
21
- const data = records ? (0, recordHelpers_1.generateRecordCallArray)(hash, records, resolver) : [];
22
- const secret = (0, exports.randomSecret)();
23
21
  const fuseData = fuses ? (0, generateFuseInput_1.default)(fuses) : '0';
24
- const commitment = (0, exports._makeCommitment)({
25
- labelhash: label,
22
+ if (reverseRecord) {
23
+ if (!records) {
24
+ records = { coinTypes: [{ key: 'ETH', value: owner }] };
25
+ }
26
+ else if (!records.coinTypes?.find((c) => c.key === 'ETH')) {
27
+ if (!records.coinTypes)
28
+ records.coinTypes = [];
29
+ records.coinTypes.push({ key: 'ETH', value: owner });
30
+ }
31
+ }
32
+ const data = records ? (0, recordHelpers_1.generateRecordCallArray)(hash, records, resolver) : [];
33
+ return [
34
+ label,
26
35
  owner,
27
36
  duration,
28
- secret,
29
- resolver: resolverAddress,
37
+ resolverAddress,
30
38
  data,
31
- reverseRecord: !!reverseRecord,
32
- fuses: fuseData,
39
+ secret,
40
+ !!reverseRecord,
41
+ fuseData,
42
+ wrapperExpiry || Math.floor(Date.now() / 1000) + duration,
43
+ ];
44
+ };
45
+ exports.makeCommitmentData = makeCommitmentData;
46
+ const makeRegistrationData = (params) => {
47
+ const commitmentData = (0, exports.makeCommitmentData)(params);
48
+ commitmentData[0] = params.name.split('.')[0];
49
+ const secret = commitmentData.splice(5, 1)[0];
50
+ commitmentData.splice(3, 0, secret);
51
+ return commitmentData;
52
+ };
53
+ exports.makeRegistrationData = makeRegistrationData;
54
+ const makeCommitment = ({ secret = (0, exports.randomSecret)(), ...inputParams }) => {
55
+ const generatedParams = (0, exports.makeCommitmentData)({
56
+ ...inputParams,
57
+ secret,
33
58
  });
59
+ const commitment = (0, exports._makeCommitment)(generatedParams);
34
60
  return {
35
61
  secret,
36
62
  commitment,
63
+ wrapperExpiry: generatedParams[8],
37
64
  };
38
65
  };
39
66
  exports.makeCommitment = makeCommitment;
40
- const _makeCommitment = ({ labelhash, owner, duration, secret, resolver, data, reverseRecord, fuses, }) => {
41
- return ethers_1.utils.solidityKeccak256([
67
+ const _makeCommitment = (params) => {
68
+ return ethers_1.utils.keccak256(ethers_1.utils.defaultAbiCoder.encode([
42
69
  'bytes32',
43
70
  'address',
44
71
  'uint256',
45
- 'bytes32',
46
72
  'address',
47
73
  'bytes[]',
74
+ 'bytes32',
48
75
  'bool',
49
- 'uint96',
50
- ], [labelhash, owner, duration, secret, resolver, data, reverseRecord, fuses]);
76
+ 'uint32',
77
+ 'uint64',
78
+ ], params));
51
79
  };
52
80
  exports._makeCommitment = _makeCommitment;
@@ -0,0 +1,5 @@
1
+ import { BigNumber } from 'ethers';
2
+ import { ENSArgs } from '..';
3
+ export declare type Expiry = string | number | Date | BigNumber;
4
+ export declare const MAX_EXPIRY: BigNumber;
5
+ export declare const makeExpiry: ({ getExpiry }: ENSArgs<'getExpiry'>, name: string, expiry?: Expiry | undefined) => Promise<BigNumber>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeExpiry = exports.MAX_EXPIRY = void 0;
4
+ const ethers_1 = require("ethers");
5
+ exports.MAX_EXPIRY = ethers_1.BigNumber.from(2).pow(64).sub(1);
6
+ const makeExpiry = async ({ getExpiry }, name, expiry) => {
7
+ if (expiry) {
8
+ if (expiry instanceof Date) {
9
+ return ethers_1.BigNumber.from(expiry.getTime() / 1000);
10
+ }
11
+ else if (expiry instanceof ethers_1.BigNumber) {
12
+ return expiry;
13
+ }
14
+ else {
15
+ return ethers_1.BigNumber.from(expiry);
16
+ }
17
+ }
18
+ else {
19
+ if (name.endsWith('.eth')) {
20
+ const expResponse = await getExpiry(name);
21
+ if (!expResponse?.expiry)
22
+ throw new Error("Couldn't get expiry for name, please provide one.");
23
+ return ethers_1.BigNumber.from(expResponse.expiry.getTime() / 1000);
24
+ }
25
+ else {
26
+ return exports.MAX_EXPIRY;
27
+ }
28
+ }
29
+ };
30
+ exports.makeExpiry = makeExpiry;
@@ -1,4 +1,21 @@
1
1
  import { JsonRpcSigner } from '@ethersproject/providers';
2
2
  import type { PopulatedTransaction } from 'ethers';
3
- declare const _default: (signer: JsonRpcSigner, populate: boolean) => (tx: PopulatedTransaction) => PopulatedTransaction | Promise<import("@ethersproject/abstract-provider").TransactionResponse>;
3
+ declare type CustomData = Record<string, any>;
4
+ declare const _default: (signer: JsonRpcSigner, populate: boolean) => ({ customData, ...tx }: PopulatedTransaction) => {
5
+ to?: string | undefined;
6
+ from?: string | undefined;
7
+ nonce?: number | undefined;
8
+ gasLimit?: import("ethers").BigNumber | undefined;
9
+ gasPrice?: import("ethers").BigNumber | undefined;
10
+ data?: string | undefined;
11
+ value?: import("ethers").BigNumber | undefined;
12
+ chainId?: number | undefined;
13
+ type?: number | undefined;
14
+ accessList?: import("ethers/lib/utils").AccessList | undefined;
15
+ maxFeePerGas?: import("ethers").BigNumber | undefined;
16
+ maxPriorityFeePerGas?: import("ethers").BigNumber | undefined;
17
+ ccipReadEnabled?: boolean | undefined;
18
+ } | Promise<import("@ethersproject/providers").TransactionResponse | (import("@ethersproject/providers").TransactionResponse & {
19
+ customData: CustomData;
20
+ })>;
4
21
  export default _default;
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = (signer, populate) => (tx) => populate ? tx : signer.sendTransaction(tx);
3
+ const withCustomData = (tx, customData) => customData ? { ...tx, customData } : tx;
4
+ exports.default = (signer, populate) => ({ customData, ...tx }) => populate
5
+ ? withCustomData(tx, customData)
6
+ : signer.sendTransaction(tx).then((r) => withCustomData(r, customData));
@@ -1,3 +1,3 @@
1
1
  import { ethers } from 'ethers';
2
- declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated/BaseRegistrarImplementation").BaseRegistrarImplementation;
2
+ declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").BaseRegistrarImplementation;
3
3
  export default _default;
@@ -7,10 +7,10 @@ export default class ContractManager {
7
7
  private generateContractGetter;
8
8
  getPublicResolver: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").PublicResolver>;
9
9
  getUniversalResolver: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").UniversalResolver>;
10
- getRegistry: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated/ENSRegistry").ENSRegistry>;
10
+ getRegistry: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ENSRegistry>;
11
11
  getReverseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ReverseRegistrar>;
12
12
  getNameWrapper: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").NameWrapper>;
13
- getBaseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated/BaseRegistrarImplementation").BaseRegistrarImplementation>;
13
+ getBaseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").BaseRegistrarImplementation>;
14
14
  getEthRegistrarController: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ETHRegistrarController>;
15
- getMulticall: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated/Multicall").Multicall>;
15
+ getMulticall: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").Multicall>;
16
16
  }
@@ -1,3 +1,3 @@
1
1
  import { ethers } from 'ethers';
2
- declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated/Multicall").Multicall;
2
+ declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").Multicall;
3
3
  export default _default;
@@ -1,3 +1,3 @@
1
1
  import { ethers } from 'ethers';
2
- declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated/ENSRegistry").ENSRegistry;
2
+ declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").ENSRegistry;
3
3
  export default _default;
@@ -4,5 +4,5 @@ export default async function ({ contracts, signer }, name, { fusesToBurn, }) {
4
4
  const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
5
5
  const hash = namehash(name);
6
6
  const encodedFuses = generateFuseInput(fusesToBurn);
7
- return nameWrapper.populateTransaction.burnFuses(hash, encodedFuses);
7
+ return nameWrapper.populateTransaction.setFuses(hash, encodedFuses);
8
8
  }
@@ -0,0 +1,26 @@
1
+ import { ENSArgs } from '..';
2
+ import { CommitmentParams } from '../utils/registerHelpers';
3
+ declare type Params = Omit<CommitmentParams, 'resolver' | 'name'> & {
4
+ resolverAddress?: string;
5
+ };
6
+ export default function ({ contracts }: ENSArgs<'contracts'>, name: string, { resolverAddress, ...params }: Params): Promise<{
7
+ customData: {
8
+ secret: string;
9
+ commitment: string;
10
+ wrapperExpiry: number;
11
+ };
12
+ to?: string | undefined;
13
+ from?: string | undefined;
14
+ nonce?: number | undefined;
15
+ gasLimit?: import("ethers").BigNumber | undefined;
16
+ gasPrice?: import("ethers").BigNumber | undefined;
17
+ data?: string | undefined;
18
+ value?: import("ethers").BigNumber | undefined;
19
+ chainId?: number | undefined;
20
+ type?: number | undefined;
21
+ accessList?: import("ethers/lib/utils").AccessList | undefined;
22
+ maxFeePerGas?: import("ethers").BigNumber | undefined;
23
+ maxPriorityFeePerGas?: import("ethers").BigNumber | undefined;
24
+ ccipReadEnabled?: boolean | undefined;
25
+ }>;
26
+ export {};
@@ -0,0 +1,21 @@
1
+ import { makeCommitment } from '../utils/registerHelpers';
2
+ export default async function ({ contracts }, name, { resolverAddress, ...params }) {
3
+ const labels = name.split('.');
4
+ if (labels.length !== 2 || labels[1] !== 'eth')
5
+ throw new Error('Currently only .eth TLD registrations are supported');
6
+ const controller = await contracts.getEthRegistrarController();
7
+ const resolver = await contracts.getPublicResolver(undefined, resolverAddress);
8
+ const { secret, commitment, wrapperExpiry } = makeCommitment({
9
+ name,
10
+ resolver,
11
+ ...params,
12
+ });
13
+ return {
14
+ ...(await controller.populateTransaction.commit(commitment)),
15
+ customData: {
16
+ secret,
17
+ commitment,
18
+ wrapperExpiry,
19
+ },
20
+ };
21
+ }
@@ -1,6 +1,7 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { ENSArgs } from '..';
3
3
  import { FuseOptions } from '../@types/FuseOptions';
4
+ import { Expiry } from '../utils/wrapperExpiry';
4
5
  declare type BaseArgs = {
5
6
  owner: string;
6
7
  resolverAddress?: string;
@@ -9,7 +10,8 @@ declare type BaseArgs = {
9
10
  declare type NameWrapperArgs = {
10
11
  contract: 'nameWrapper';
11
12
  fuses?: FuseOptions;
13
+ expiry?: Expiry;
12
14
  } & BaseArgs;
13
15
  declare type Args = BaseArgs | NameWrapperArgs;
14
- export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, { owner, resolverAddress, contract, ...wrapperArgs }: Args): Promise<ethers.PopulatedTransaction>;
16
+ export default function ({ contracts, signer, getExpiry, }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>, name: string, { owner, resolverAddress, contract, ...wrapperArgs }: Args): Promise<ethers.PopulatedTransaction>;
15
17
  export {};
@@ -1,7 +1,8 @@
1
1
  import { ethers } from 'ethers';
2
2
  import generateFuseInput from '../utils/generateFuseInput';
3
3
  import { namehash } from '../utils/normalise';
4
- export default async function ({ contracts, signer }, name, { owner, resolverAddress, contract, ...wrapperArgs }) {
4
+ import { makeExpiry } from '../utils/wrapperExpiry';
5
+ export default async function ({ contracts, signer, getExpiry, }, name, { owner, resolverAddress, contract, ...wrapperArgs }) {
5
6
  const labels = name.split('.');
6
7
  if (labels.length === 1) {
7
8
  throw new Error('Subnames in ENS.js can only be created for 2LDs, not TLDs');
@@ -22,10 +23,11 @@ export default async function ({ contracts, signer }, name, { owner, resolverAdd
22
23
  }
23
24
  case 'nameWrapper': {
24
25
  const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
26
+ const expiry = await makeExpiry({ getExpiry }, name, 'expiry' in wrapperArgs ? wrapperArgs.expiry : undefined);
25
27
  const generatedFuses = 'fuses' in wrapperArgs && wrapperArgs.fuses
26
28
  ? generateFuseInput(wrapperArgs.fuses)
27
29
  : '0';
28
- return nameWrapper.populateTransaction.setSubnodeRecord(parentNodehash, label, owner, resolverAddress, 0, generatedFuses);
30
+ return nameWrapper.populateTransaction.setSubnodeRecord(parentNodehash, label, owner, resolverAddress, 0, generatedFuses, expiry);
29
31
  }
30
32
  default: {
31
33
  throw new Error(`Unknown contract: ${contract}`);
@@ -1,4 +1,4 @@
1
1
  import { ENSArgs } from '..';
2
- export default function ({ transferSubname }: ENSArgs<'transferSubname'>, name: string, { contract, }: {
2
+ export default function ({ transferSubname, signer }: ENSArgs<'transferSubname' | 'signer'>, name: string, { contract, }: {
3
3
  contract: 'registry' | 'nameWrapper';
4
4
  }): Promise<import("ethers").PopulatedTransaction>;
@@ -1,6 +1,7 @@
1
- export default async function ({ transferSubname }, name, { contract, }) {
1
+ export default async function ({ transferSubname, signer }, name, { contract, }) {
2
2
  return transferSubname.populateTransaction(name, {
3
3
  contract,
4
- address: '0x0000000000000000000000000000000000000000',
4
+ owner: '0x0000000000000000000000000000000000000000',
5
+ signer,
5
6
  });
6
7
  }
@@ -1,10 +1,17 @@
1
1
  import { ENSArgs } from '..';
2
+ declare type ContractOption = 'registrar' | 'nameWrapper';
3
+ declare type Args = {
4
+ contract?: ContractOption;
5
+ };
2
6
  declare const _default: {
3
- raw: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, name: string) => Promise<{
7
+ raw: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, name: string, { contract }?: Args) => Promise<{
4
8
  to: string;
5
9
  data: string;
6
10
  }>;
7
- decode: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, data: string) => Promise<{
11
+ decode: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, data: string, name: string, { contract }?: Args) => Promise<{
12
+ expiry: Date;
13
+ gracePeriod: null;
14
+ } | {
8
15
  expiry: Date | null;
9
16
  gracePeriod: number;
10
17
  } | undefined>;