@ensdomains/ensjs 3.0.0-alpha.3 → 3.0.0-alpha.31

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 (703) hide show
  1. package/README.md +6 -1
  2. package/dist/cjs/GqlManager.js +105 -37
  3. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  4. package/dist/cjs/contracts/bulkRenewal.js +25 -0
  5. package/dist/cjs/contracts/dnsRegistrar.js +25 -0
  6. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  7. package/dist/cjs/contracts/getContractAddress.js +82 -43
  8. package/dist/cjs/contracts/index.js +86 -32
  9. package/dist/cjs/contracts/multicall.js +24 -21
  10. package/dist/cjs/contracts/nameWrapper.js +24 -3
  11. package/dist/cjs/contracts/publicResolver.js +24 -3
  12. package/dist/cjs/contracts/registry.js +24 -3
  13. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  14. package/dist/cjs/contracts/types.js +15 -1
  15. package/dist/cjs/contracts/universalResolver.js +24 -3
  16. package/dist/cjs/functions/batch.js +42 -15
  17. package/dist/cjs/functions/batchWrappers.js +130 -67
  18. package/dist/cjs/functions/burnFuses.js +28 -15
  19. package/dist/cjs/functions/commitName.js +49 -0
  20. package/dist/cjs/functions/createSubname.js +80 -38
  21. package/dist/cjs/functions/deleteSubname.js +59 -4
  22. package/dist/cjs/functions/getDNSOwner.js +73 -72
  23. package/dist/cjs/functions/getExpiry.js +110 -41
  24. package/dist/cjs/functions/getHistory.js +165 -195
  25. package/dist/cjs/functions/getName.js +51 -28
  26. package/dist/cjs/functions/getNames.js +210 -102
  27. package/dist/cjs/functions/getOwner.js +147 -125
  28. package/dist/cjs/functions/getPrice.js +118 -43
  29. package/dist/cjs/functions/getProfile.js +440 -254
  30. package/dist/cjs/functions/getRecords.js +29 -9
  31. package/dist/cjs/functions/getResolver.js +41 -19
  32. package/dist/cjs/functions/getSpecificRecord.js +188 -261
  33. package/dist/cjs/functions/getSubnames.js +74 -118
  34. package/dist/cjs/functions/getWrapperData.js +58 -0
  35. package/dist/cjs/functions/importDNSSECName.js +65 -0
  36. package/dist/cjs/functions/initialGetters.js +46 -37
  37. package/dist/cjs/functions/registerName.js +44 -0
  38. package/dist/cjs/functions/renewNames.js +62 -0
  39. package/dist/cjs/functions/setName.js +40 -15
  40. package/dist/cjs/functions/setRecord.js +55 -0
  41. package/dist/cjs/functions/setRecords.js +49 -20
  42. package/dist/cjs/functions/setResolver.js +43 -23
  43. package/dist/cjs/functions/transferController.js +42 -0
  44. package/dist/cjs/functions/transferName.js +60 -30
  45. package/dist/cjs/functions/transferSubname.js +60 -24
  46. package/dist/cjs/functions/unwrapName.js +49 -25
  47. package/dist/cjs/functions/wrapName.js +122 -57
  48. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  49. package/dist/cjs/generated/BulkRenewal.js +16 -0
  50. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  51. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  52. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  53. package/dist/cjs/generated/ENSRegistry.js +15 -1
  54. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  55. package/dist/cjs/generated/Multicall.js +15 -1
  56. package/dist/cjs/generated/NameWrapper.js +15 -1
  57. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  58. package/dist/cjs/generated/PublicResolver.js +15 -1
  59. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  60. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  61. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  62. package/dist/cjs/generated/Root.js +15 -1
  63. package/dist/cjs/generated/SHA1Digest.js +15 -1
  64. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  65. package/dist/cjs/generated/SHA256Digest.js +15 -1
  66. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  67. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  68. package/dist/cjs/generated/UniversalResolver.js +15 -1
  69. package/dist/cjs/generated/common.js +15 -1
  70. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +784 -764
  71. package/dist/cjs/generated/factories/BulkRenewal__factory.js +120 -0
  72. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +281 -288
  73. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +485 -492
  74. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +102 -82
  75. package/dist/cjs/generated/factories/ENSRegistry__factory.js +447 -431
  76. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +671 -504
  77. package/dist/cjs/generated/factories/Multicall__factory.js +457 -441
  78. package/dist/cjs/generated/factories/NameWrapper__factory.js +1378 -1194
  79. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +60 -67
  80. package/dist/cjs/generated/factories/PublicResolver__factory.js +956 -885
  81. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +60 -67
  82. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +60 -67
  83. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +362 -333
  84. package/dist/cjs/generated/factories/Root__factory.js +253 -237
  85. package/dist/cjs/generated/factories/SHA1Digest__factory.js +55 -62
  86. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +60 -67
  87. package/dist/cjs/generated/factories/SHA256Digest__factory.js +55 -62
  88. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +64 -44
  89. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +50 -57
  90. package/dist/cjs/generated/factories/UniversalResolver__factory.js +492 -199
  91. package/dist/cjs/generated/factories/index.js +63 -17
  92. package/dist/cjs/generated/index.js +70 -37
  93. package/dist/cjs/index.js +326 -218
  94. package/dist/cjs/utils/ccip.js +128 -0
  95. package/dist/cjs/utils/consts.js +24 -0
  96. package/dist/cjs/utils/contentHash.js +145 -142
  97. package/dist/cjs/utils/createReverseNode.js +23 -2
  98. package/dist/cjs/utils/format.js +27 -8
  99. package/dist/cjs/utils/fuses.js +123 -13
  100. package/dist/cjs/utils/generateFuseInput.js +37 -16
  101. package/dist/cjs/utils/hexEncodedName.js +29 -7
  102. package/dist/cjs/utils/labels.js +99 -83
  103. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  104. package/dist/cjs/utils/normalise.js +49 -22
  105. package/dist/cjs/utils/recordHelpers.js +89 -39
  106. package/dist/cjs/utils/registerHelpers.js +116 -46
  107. package/dist/cjs/utils/singleCall.js +23 -6
  108. package/dist/cjs/utils/validation.js +76 -63
  109. package/dist/cjs/utils/wrapper.js +51 -0
  110. package/dist/cjs/utils/writeTx.js +25 -0
  111. package/dist/esm/GqlManager.mjs +85 -0
  112. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  113. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  114. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  115. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  116. package/dist/esm/contracts/getContractAddress.mjs +66 -0
  117. package/dist/esm/contracts/index.mjs +66 -0
  118. package/dist/esm/contracts/multicall.mjs +6 -0
  119. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  120. package/dist/esm/contracts/publicResolver.mjs +6 -0
  121. package/dist/esm/contracts/registry.mjs +6 -0
  122. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  123. package/dist/esm/contracts/types.mjs +0 -0
  124. package/dist/esm/contracts/universalResolver.mjs +6 -0
  125. package/dist/esm/functions/batch.mjs +29 -0
  126. package/dist/esm/functions/batchWrappers.mjs +109 -0
  127. package/dist/esm/functions/burnFuses.mjs +12 -0
  128. package/dist/esm/functions/commitName.mjs +30 -0
  129. package/dist/esm/functions/createSubname.mjs +61 -0
  130. package/dist/esm/functions/deleteSubname.mjs +42 -0
  131. package/dist/esm/functions/getDNSOwner.mjs +57 -0
  132. package/dist/esm/functions/getExpiry.mjs +95 -0
  133. package/dist/esm/functions/getHistory.mjs +230 -0
  134. package/dist/esm/functions/getName.mjs +38 -0
  135. package/dist/esm/functions/getNames.mjs +311 -0
  136. package/dist/esm/functions/getOwner.mjs +143 -0
  137. package/dist/esm/functions/getPrice.mjs +106 -0
  138. package/dist/esm/functions/getProfile.mjs +469 -0
  139. package/dist/esm/functions/getRecords.mjs +12 -0
  140. package/dist/esm/functions/getResolver.mjs +27 -0
  141. package/dist/esm/functions/getSpecificRecord.mjs +176 -0
  142. package/dist/esm/functions/getSubnames.mjs +91 -0
  143. package/dist/esm/functions/getWrapperData.mjs +39 -0
  144. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  145. package/dist/esm/functions/initialGetters.mjs +23 -0
  146. package/dist/esm/functions/registerName.mjs +27 -0
  147. package/dist/esm/functions/renewNames.mjs +43 -0
  148. package/dist/esm/functions/setName.mjs +23 -0
  149. package/dist/esm/functions/setRecord.mjs +36 -0
  150. package/dist/esm/functions/setRecords.mjs +32 -0
  151. package/dist/esm/functions/setResolver.mjs +29 -0
  152. package/dist/esm/functions/transferController.mjs +23 -0
  153. package/dist/esm/functions/transferName.mjs +45 -0
  154. package/dist/esm/functions/transferSubname.mjs +45 -0
  155. package/dist/esm/functions/unwrapName.mjs +33 -0
  156. package/dist/esm/functions/wrapName.mjs +104 -0
  157. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  158. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  159. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  160. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  161. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  162. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  163. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  164. package/dist/esm/generated/Multicall.mjs +0 -0
  165. package/dist/esm/generated/NameWrapper.mjs +0 -0
  166. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  167. package/dist/esm/generated/PublicResolver.mjs +0 -0
  168. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  169. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  170. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  171. package/dist/esm/generated/Root.mjs +0 -0
  172. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  173. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  174. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  175. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  176. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  177. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  178. package/dist/esm/generated/common.mjs +0 -0
  179. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +778 -0
  180. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +108 -0
  181. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +277 -0
  182. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +482 -0
  183. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +95 -0
  184. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +443 -0
  185. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +666 -0
  186. package/dist/esm/generated/factories/Multicall__factory.mjs +461 -0
  187. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1372 -0
  188. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +52 -0
  189. package/dist/esm/generated/factories/PublicResolver__factory.mjs +951 -0
  190. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +52 -0
  191. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +52 -0
  192. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +357 -0
  193. package/dist/esm/generated/factories/Root__factory.mjs +247 -0
  194. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +47 -0
  195. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +52 -0
  196. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +47 -0
  197. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +57 -0
  198. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +42 -0
  199. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +485 -0
  200. package/dist/esm/generated/factories/index.mjs +45 -0
  201. package/dist/esm/generated/index.mjs +47 -0
  202. package/dist/esm/index.mjs +311 -0
  203. package/dist/esm/utils/ccip.mjs +114 -0
  204. package/dist/esm/utils/consts.mjs +5 -0
  205. package/dist/esm/utils/contentHash.mjs +142 -0
  206. package/dist/esm/utils/createReverseNode.mjs +5 -0
  207. package/dist/esm/utils/format.mjs +9 -0
  208. package/dist/esm/utils/fuses.mjs +115 -0
  209. package/dist/esm/utils/generateFuseInput.mjs +15 -0
  210. package/dist/esm/utils/hexEncodedName.mjs +6 -0
  211. package/dist/esm/utils/labels.mjs +109 -0
  212. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  213. package/dist/esm/utils/normalise.mjs +30 -0
  214. package/dist/esm/utils/recordHelpers.mjs +75 -0
  215. package/dist/esm/utils/registerHelpers.mjs +97 -0
  216. package/dist/esm/utils/singleCall.mjs +5 -0
  217. package/dist/esm/utils/validation.mjs +67 -0
  218. package/dist/esm/utils/wrapper.mjs +32 -0
  219. package/dist/esm/utils/writeTx.mjs +6 -0
  220. package/dist/types/GqlManager.d.ts +11 -0
  221. package/dist/{cjs → types}/contracts/baseRegistrar.d.ts +0 -0
  222. package/dist/{cjs/contracts/ethRegistrarController.d.ts → types/contracts/bulkRenewal.d.ts} +1 -1
  223. package/dist/{cjs/contracts/publicResolver.d.ts → types/contracts/dnsRegistrar.d.ts} +1 -1
  224. package/dist/{esm → types}/contracts/ethRegistrarController.d.ts +1 -1
  225. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  226. package/dist/types/contracts/index.d.ts +18 -0
  227. package/dist/{cjs → types}/contracts/multicall.d.ts +0 -0
  228. package/dist/{esm → types}/contracts/nameWrapper.d.ts +1 -1
  229. package/dist/{esm → types}/contracts/publicResolver.d.ts +1 -1
  230. package/dist/{cjs → types}/contracts/registry.d.ts +0 -0
  231. package/dist/{cjs → types}/contracts/reverseRegistrar.d.ts +1 -1
  232. package/dist/types/contracts/types.d.ts +2 -0
  233. package/dist/{cjs → types}/contracts/universalResolver.d.ts +1 -1
  234. package/dist/{cjs → types}/functions/batch.d.ts +0 -0
  235. package/dist/types/functions/batchWrappers.d.ts +86 -0
  236. package/dist/types/functions/burnFuses.d.ts +3 -0
  237. package/dist/types/functions/commitName.d.ts +26 -0
  238. package/dist/{esm → types}/functions/createSubname.d.ts +4 -6
  239. package/dist/types/functions/deleteSubname.d.ts +7 -0
  240. package/dist/{cjs → types}/functions/getDNSOwner.d.ts +1 -1
  241. package/dist/types/functions/getExpiry.d.ts +19 -0
  242. package/dist/types/functions/getHistory.d.ts +28 -0
  243. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  244. package/dist/{esm → types}/functions/getNames.d.ts +13 -3
  245. package/dist/{cjs → types}/functions/getOwner.d.ts +0 -0
  246. package/dist/{esm → types}/functions/getPrice.d.ts +2 -2
  247. package/dist/{esm → types}/functions/getProfile.d.ts +10 -1
  248. package/dist/{cjs → types}/functions/getRecords.d.ts +1 -0
  249. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  250. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +4 -4
  251. package/dist/{esm → types}/functions/getSubnames.d.ts +2 -2
  252. package/dist/{cjs/functions/getFuses.d.ts → types/functions/getWrapperData.d.ts} +5 -7
  253. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  254. package/dist/{cjs → types}/functions/initialGetters.d.ts +0 -0
  255. package/dist/types/functions/registerName.d.ts +8 -0
  256. package/dist/types/functions/renewNames.d.ts +13 -0
  257. package/dist/types/functions/setName.d.ts +5 -0
  258. package/dist/types/functions/setRecord.d.ts +18 -0
  259. package/dist/types/functions/setRecords.d.ts +6 -0
  260. package/dist/types/functions/setResolver.d.ts +5 -0
  261. package/dist/types/functions/transferController.d.ts +6 -0
  262. package/dist/types/functions/transferName.d.ts +6 -0
  263. package/dist/types/functions/transferSubname.d.ts +15 -0
  264. package/dist/types/functions/unwrapName.d.ts +5 -0
  265. package/dist/types/functions/wrapName.d.ts +10 -0
  266. package/dist/types/generated/BaseRegistrarImplementation.d.ts +508 -0
  267. package/dist/types/generated/BulkRenewal.d.ts +76 -0
  268. package/dist/{cjs → types}/generated/DNSRegistrar.d.ts +68 -64
  269. package/dist/{esm → types}/generated/DNSSECImpl.d.ts +111 -111
  270. package/dist/{esm → types}/generated/DefaultReverseResolver.d.ts +17 -17
  271. package/dist/types/generated/ENSRegistry.d.ts +274 -0
  272. package/dist/types/generated/ETHRegistrarController.d.ts +362 -0
  273. package/dist/{esm → types}/generated/Multicall.d.ts +60 -60
  274. package/dist/types/generated/NameWrapper.d.ts +810 -0
  275. package/dist/{cjs → types}/generated/P256SHA256Algorithm.d.ts +11 -7
  276. package/dist/types/generated/PublicResolver.d.ts +594 -0
  277. package/dist/{cjs → types}/generated/RSASHA1Algorithm.d.ts +11 -7
  278. package/dist/{cjs → types}/generated/RSASHA256Algorithm.d.ts +11 -7
  279. package/dist/types/generated/ReverseRegistrar.d.ts +279 -0
  280. package/dist/types/generated/Root.d.ts +173 -0
  281. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +7 -7
  282. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +11 -7
  283. package/dist/{cjs → types}/generated/SHA256Digest.d.ts +7 -7
  284. package/dist/{esm → types}/generated/StaticMetadataService.d.ts +7 -7
  285. package/dist/{esm → types}/generated/TLDPublicSuffixList.d.ts +7 -7
  286. package/dist/types/generated/UniversalResolver.d.ts +184 -0
  287. package/dist/{esm → types}/generated/common.d.ts +1 -0
  288. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -0
  289. package/dist/{esm/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +4 -4
  290. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +15 -14
  291. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +9 -9
  292. package/dist/{cjs → types}/generated/factories/DefaultReverseResolver__factory.d.ts +0 -0
  293. package/dist/{cjs → types}/generated/factories/ENSRegistry__factory.d.ts +0 -0
  294. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +12 -1
  295. package/dist/{cjs → types}/generated/factories/Multicall__factory.d.ts +0 -0
  296. package/dist/{cjs → types}/generated/factories/NameWrapper__factory.d.ts +0 -0
  297. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  298. package/dist/{cjs → types}/generated/factories/PublicResolver__factory.d.ts +0 -0
  299. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  300. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  301. package/dist/{cjs → types}/generated/factories/ReverseRegistrar__factory.d.ts +0 -0
  302. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +0 -0
  303. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  304. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  305. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  306. package/dist/{cjs → types}/generated/factories/StaticMetadataService__factory.d.ts +0 -0
  307. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  308. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +0 -0
  309. package/dist/types/generated/factories/index.d.ts +21 -0
  310. package/dist/types/generated/index.d.ts +43 -0
  311. package/dist/{esm → types}/index.d.ts +166 -112
  312. package/dist/types/utils/ccip.d.ts +3 -0
  313. package/dist/types/utils/consts.d.ts +1 -0
  314. package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  315. package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  316. package/dist/{cjs → types}/utils/format.d.ts +0 -0
  317. package/dist/types/utils/fuses.d.ts +61 -0
  318. package/dist/{cjs → types}/utils/generateFuseInput.d.ts +1 -1
  319. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
  320. package/dist/{cjs → types}/utils/labels.d.ts +0 -0
  321. package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
  322. package/dist/types/utils/normalise.d.ts +2 -0
  323. package/dist/{esm → types}/utils/recordHelpers.d.ts +4 -0
  324. package/dist/types/utils/registerHelpers.d.ts +59 -0
  325. package/dist/{cjs → types}/utils/singleCall.d.ts +0 -0
  326. package/dist/{cjs → types}/utils/validation.d.ts +0 -0
  327. package/dist/types/utils/wrapper.d.ts +6 -0
  328. package/dist/types/utils/writeTx.d.ts +21 -0
  329. package/package.json +72 -35
  330. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  331. package/src/@types/dns-packet/index.d.ts +113 -113
  332. package/src/ABIs/Multicall.json +452 -0
  333. package/src/GqlManager.test.ts +173 -0
  334. package/src/GqlManager.ts +90 -2
  335. package/src/contracts/bulkRenewal.ts +6 -0
  336. package/src/contracts/dnsRegistrar.ts +5 -0
  337. package/src/contracts/getContractAddress.ts +26 -3
  338. package/src/contracts/index.ts +21 -1
  339. package/src/contracts/multicall.ts +0 -19
  340. package/src/contracts/types.ts +2 -0
  341. package/src/functions/batch.test.ts +10 -10
  342. package/src/functions/batch.ts +3 -3
  343. package/src/functions/batchWrappers.test.ts +13 -13
  344. package/src/functions/batchWrappers.ts +40 -9
  345. package/src/functions/burnFuses.test.ts +127 -23
  346. package/src/functions/burnFuses.ts +6 -13
  347. package/src/functions/commitName.test.ts +61 -0
  348. package/src/functions/commitName.ts +39 -0
  349. package/src/functions/createSubname.test.ts +11 -19
  350. package/src/functions/createSubname.ts +22 -16
  351. package/src/functions/deleteSubname.test.ts +36 -38
  352. package/src/functions/deleteSubname.ts +47 -13
  353. package/src/functions/getDNSOwner.test.ts +14 -17
  354. package/src/functions/getDNSOwner.ts +2 -2
  355. package/src/functions/getExpiry.test.ts +28 -10
  356. package/src/functions/getExpiry.ts +87 -9
  357. package/src/functions/getHistory.test.ts +17 -80
  358. package/src/functions/getHistory.ts +104 -174
  359. package/src/functions/getName.test.ts +10 -10
  360. package/src/functions/getName.ts +4 -4
  361. package/src/functions/getNames.test.ts +153 -89
  362. package/src/functions/getNames.ts +135 -32
  363. package/src/functions/getOwner.test.ts +28 -32
  364. package/src/functions/getOwner.ts +20 -12
  365. package/src/functions/getPrice.test.ts +55 -0
  366. package/src/functions/getPrice.ts +62 -10
  367. package/src/functions/getProfile-ccip.test.ts +29 -0
  368. package/src/functions/getProfile.test.ts +53 -27
  369. package/src/functions/getProfile.ts +275 -150
  370. package/src/functions/getRecords.ts +2 -1
  371. package/src/functions/getResolver.test.ts +5 -9
  372. package/src/functions/getSpecificRecord.test.ts +20 -17
  373. package/src/functions/getSpecificRecord.ts +18 -147
  374. package/src/functions/getSubnames.test.ts +651 -7
  375. package/src/functions/getSubnames.ts +43 -102
  376. package/src/functions/getWrapperData.test.ts +98 -0
  377. package/src/functions/getWrapperData.ts +42 -0
  378. package/src/functions/importDNSSECName.ts +54 -0
  379. package/src/functions/makeCommitment.test.ts +6 -6
  380. package/src/functions/registerName.test.ts +59 -0
  381. package/src/functions/registerName.ts +38 -0
  382. package/src/functions/renewNames.test.ts +64 -0
  383. package/src/functions/renewNames.ts +60 -0
  384. package/src/functions/setName.test.ts +22 -18
  385. package/src/functions/setName.ts +15 -17
  386. package/src/functions/setRecord.test.ts +103 -0
  387. package/src/functions/setRecord.ts +59 -0
  388. package/src/functions/setRecords.test.ts +21 -18
  389. package/src/functions/setRecords.ts +19 -13
  390. package/src/functions/setResolver.test.ts +17 -25
  391. package/src/functions/setResolver.ts +15 -20
  392. package/src/functions/transferController.ts +28 -0
  393. package/src/functions/transferName.test.ts +24 -40
  394. package/src/functions/transferName.ts +17 -21
  395. package/src/functions/transferSubname.test.ts +19 -37
  396. package/src/functions/transferSubname.ts +39 -14
  397. package/src/functions/unwrapName.test.ts +19 -34
  398. package/src/functions/unwrapName.ts +23 -20
  399. package/src/functions/wrapName.test.ts +123 -37
  400. package/src/functions/wrapName.ts +74 -59
  401. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  402. package/src/generated/BulkRenewal.ts +197 -0
  403. package/src/generated/DNSRegistrar.ts +103 -89
  404. package/src/generated/DNSSECImpl.ts +180 -149
  405. package/src/generated/DefaultReverseResolver.ts +37 -21
  406. package/src/generated/ENSRegistry.ts +257 -184
  407. package/src/generated/ETHRegistrarController.ts +356 -191
  408. package/src/generated/Multicall.ts +73 -57
  409. package/src/generated/NameWrapper.ts +1047 -666
  410. package/src/generated/P256SHA256Algorithm.ts +21 -16
  411. package/src/generated/PublicResolver.ts +561 -390
  412. package/src/generated/RSASHA1Algorithm.ts +21 -16
  413. package/src/generated/RSASHA256Algorithm.ts +21 -16
  414. package/src/generated/ReverseRegistrar.ts +213 -141
  415. package/src/generated/Root.ts +146 -86
  416. package/src/generated/SHA1Digest.ts +12 -11
  417. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  418. package/src/generated/SHA256Digest.ts +12 -11
  419. package/src/generated/StaticMetadataService.ts +22 -6
  420. package/src/generated/TLDPublicSuffixList.ts +10 -6
  421. package/src/generated/UniversalResolver.ts +425 -58
  422. package/src/generated/common.ts +2 -0
  423. package/src/generated/factories/BulkRenewal__factory.ts +108 -0
  424. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  425. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  426. package/src/generated/factories/ETHRegistrarController__factory.ts +151 -4
  427. package/src/generated/factories/NameWrapper__factory.ts +279 -111
  428. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  429. package/src/generated/factories/PublicResolver__factory.ts +69 -14
  430. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  431. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  432. package/src/generated/factories/ReverseRegistrar__factory.ts +13 -0
  433. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  434. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  435. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  436. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  437. package/src/generated/factories/UniversalResolver__factory.ts +277 -0
  438. package/src/generated/factories/index.ts +15 -0
  439. package/src/generated/index.ts +31 -1
  440. package/src/index.ts +191 -74
  441. package/src/utils/ccip.ts +148 -0
  442. package/src/utils/consts.ts +1 -0
  443. package/src/utils/contentHash.ts +24 -22
  444. package/src/utils/createReverseNode.ts +1 -1
  445. package/src/utils/fuses.ts +141 -4
  446. package/src/utils/generateFuseInput.ts +5 -10
  447. package/src/utils/labels.ts +6 -4
  448. package/src/utils/normalise.ts +11 -5
  449. package/src/utils/recordHelpers.ts +59 -20
  450. package/src/utils/registerHelpers.ts +123 -55
  451. package/src/utils/singleCall.ts +1 -1
  452. package/src/utils/validation.ts +8 -9
  453. package/src/utils/wrapper.ts +36 -0
  454. package/src/utils/writeTx.ts +16 -0
  455. package/dist/cjs/GqlManager.d.ts +0 -6
  456. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  457. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  458. package/dist/cjs/contracts/index.d.ts +0 -16
  459. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  460. package/dist/cjs/contracts/types.d.ts +0 -2
  461. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  462. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  463. package/dist/cjs/functions/createSubname.d.ts +0 -19
  464. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  465. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  466. package/dist/cjs/functions/getFuses.js +0 -62
  467. package/dist/cjs/functions/getHistory.d.ts +0 -54
  468. package/dist/cjs/functions/getNames.d.ts +0 -40
  469. package/dist/cjs/functions/getPrice.d.ts +0 -13
  470. package/dist/cjs/functions/getProfile.d.ts +0 -30
  471. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  472. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  473. package/dist/cjs/functions/setName.d.ts +0 -4
  474. package/dist/cjs/functions/setRecords.d.ts +0 -3
  475. package/dist/cjs/functions/setResolver.d.ts +0 -4
  476. package/dist/cjs/functions/transferName.d.ts +0 -5
  477. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  478. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  479. package/dist/cjs/functions/wrapName.d.ts +0 -6
  480. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  481. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  482. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  483. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  484. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  485. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  486. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  487. package/dist/cjs/generated/Multicall.d.ts +0 -292
  488. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  489. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  490. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  491. package/dist/cjs/generated/Root.d.ts +0 -173
  492. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  493. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  494. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  495. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  496. package/dist/cjs/generated/common.d.ts +0 -21
  497. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  498. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  499. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  500. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  501. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  502. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  503. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  504. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  505. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  506. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  507. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  508. package/dist/cjs/generated/factories/index.d.ts +0 -6
  509. package/dist/cjs/generated/index.d.ts +0 -13
  510. package/dist/cjs/index.d.ts +0 -471
  511. package/dist/cjs/utils/fuses.d.ts +0 -20
  512. package/dist/cjs/utils/normalise.d.ts +0 -2
  513. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  514. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  515. package/dist/esm/GqlManager.d.ts +0 -6
  516. package/dist/esm/GqlManager.js +0 -18
  517. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  518. package/dist/esm/contracts/baseRegistrar.js +0 -2
  519. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  520. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  521. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  522. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  523. package/dist/esm/contracts/getContractAddress.js +0 -42
  524. package/dist/esm/contracts/index.d.ts +0 -16
  525. package/dist/esm/contracts/index.js +0 -29
  526. package/dist/esm/contracts/multicall.d.ts +0 -3
  527. package/dist/esm/contracts/multicall.js +0 -20
  528. package/dist/esm/contracts/nameWrapper.js +0 -2
  529. package/dist/esm/contracts/publicResolver.js +0 -2
  530. package/dist/esm/contracts/registry.d.ts +0 -3
  531. package/dist/esm/contracts/registry.js +0 -2
  532. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  533. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  534. package/dist/esm/contracts/types.d.ts +0 -2
  535. package/dist/esm/contracts/types.js +0 -1
  536. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  537. package/dist/esm/contracts/universalResolver.js +0 -2
  538. package/dist/esm/functions/batch.d.ts +0 -9
  539. package/dist/esm/functions/batch.js +0 -19
  540. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  541. package/dist/esm/functions/batchWrappers.js +0 -68
  542. package/dist/esm/functions/burnFuses.d.ts +0 -3
  543. package/dist/esm/functions/burnFuses.js +0 -12
  544. package/dist/esm/functions/createSubname.js +0 -38
  545. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  546. package/dist/esm/functions/deleteSubname.js +0 -3
  547. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  548. package/dist/esm/functions/getDNSOwner.js +0 -51
  549. package/dist/esm/functions/getExpiry.d.ts +0 -12
  550. package/dist/esm/functions/getExpiry.js +0 -43
  551. package/dist/esm/functions/getFuses.d.ts +0 -17
  552. package/dist/esm/functions/getFuses.js +0 -60
  553. package/dist/esm/functions/getHistory.d.ts +0 -54
  554. package/dist/esm/functions/getHistory.js +0 -273
  555. package/dist/esm/functions/getName.d.ts +0 -19
  556. package/dist/esm/functions/getName.js +0 -32
  557. package/dist/esm/functions/getNames.js +0 -220
  558. package/dist/esm/functions/getOwner.d.ts +0 -14
  559. package/dist/esm/functions/getOwner.js +0 -138
  560. package/dist/esm/functions/getPrice.js +0 -48
  561. package/dist/esm/functions/getProfile.js +0 -299
  562. package/dist/esm/functions/getRecords.d.ts +0 -32
  563. package/dist/esm/functions/getRecords.js +0 -8
  564. package/dist/esm/functions/getResolver.d.ts +0 -9
  565. package/dist/esm/functions/getResolver.js +0 -22
  566. package/dist/esm/functions/getSpecificRecord.js +0 -265
  567. package/dist/esm/functions/getSubnames.js +0 -152
  568. package/dist/esm/functions/initialGetters.d.ts +0 -11
  569. package/dist/esm/functions/initialGetters.js +0 -11
  570. package/dist/esm/functions/setName.d.ts +0 -4
  571. package/dist/esm/functions/setName.js +0 -14
  572. package/dist/esm/functions/setRecords.d.ts +0 -3
  573. package/dist/esm/functions/setRecords.js +0 -19
  574. package/dist/esm/functions/setResolver.d.ts +0 -4
  575. package/dist/esm/functions/setResolver.js +0 -25
  576. package/dist/esm/functions/transferName.d.ts +0 -5
  577. package/dist/esm/functions/transferName.js +0 -31
  578. package/dist/esm/functions/transferSubname.d.ts +0 -5
  579. package/dist/esm/functions/transferSubname.js +0 -25
  580. package/dist/esm/functions/unwrapName.d.ts +0 -4
  581. package/dist/esm/functions/unwrapName.js +0 -25
  582. package/dist/esm/functions/wrapName.d.ts +0 -6
  583. package/dist/esm/functions/wrapName.js +0 -58
  584. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  585. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  586. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  587. package/dist/esm/generated/DNSRegistrar.js +0 -1
  588. package/dist/esm/generated/DNSSECImpl.js +0 -1
  589. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  590. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  591. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  592. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  593. package/dist/esm/generated/ENSRegistry.js +0 -1
  594. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  595. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  596. package/dist/esm/generated/Multicall.js +0 -1
  597. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  598. package/dist/esm/generated/NameWrapper.js +0 -1
  599. package/dist/esm/generated/P256SHA256Algorithm.d.ts +0 -72
  600. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  601. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  602. package/dist/esm/generated/PublicResolver.js +0 -1
  603. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  604. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  605. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  606. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  607. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  608. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  609. package/dist/esm/generated/Root.d.ts +0 -173
  610. package/dist/esm/generated/Root.js +0 -1
  611. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  612. package/dist/esm/generated/SHA1Digest.js +0 -1
  613. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  614. package/dist/esm/generated/SHA256Digest.d.ts +0 -67
  615. package/dist/esm/generated/SHA256Digest.js +0 -1
  616. package/dist/esm/generated/StaticMetadataService.js +0 -1
  617. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  618. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  619. package/dist/esm/generated/UniversalResolver.js +0 -1
  620. package/dist/esm/generated/common.js +0 -1
  621. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  622. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  623. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  624. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  625. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  626. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  627. package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  628. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  629. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  630. package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +0 -52
  631. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  632. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  633. package/dist/esm/generated/factories/Multicall__factory.d.ts +0 -42
  634. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  635. package/dist/esm/generated/factories/NameWrapper__factory.d.ts +0 -57
  636. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  637. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  638. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  639. package/dist/esm/generated/factories/PublicResolver__factory.d.ts +0 -46
  640. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  641. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  642. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  643. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  644. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  645. package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  646. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  647. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  648. package/dist/esm/generated/factories/Root__factory.js +0 -239
  649. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  650. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  651. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  652. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  653. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  654. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  655. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  656. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  657. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  658. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  659. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  660. package/dist/esm/generated/factories/index.d.ts +0 -6
  661. package/dist/esm/generated/factories/index.js +0 -9
  662. package/dist/esm/generated/index.d.ts +0 -13
  663. package/dist/esm/generated/index.js +0 -7
  664. package/dist/esm/index.js +0 -193
  665. package/dist/esm/utils/contentHash.d.ts +0 -28
  666. package/dist/esm/utils/contentHash.js +0 -153
  667. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  668. package/dist/esm/utils/createReverseNode.js +0 -1
  669. package/dist/esm/utils/format.d.ts +0 -3
  670. package/dist/esm/utils/format.js +0 -3
  671. package/dist/esm/utils/fuses.d.ts +0 -20
  672. package/dist/esm/utils/fuses.js +0 -21
  673. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  674. package/dist/esm/utils/generateFuseInput.js +0 -14
  675. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  676. package/dist/esm/utils/hexEncodedName.js +0 -2
  677. package/dist/esm/utils/labels.d.ts +0 -14
  678. package/dist/esm/utils/labels.js +0 -95
  679. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  680. package/dist/esm/utils/makeHashIndexes.js +0 -3
  681. package/dist/esm/utils/normalise.d.ts +0 -2
  682. package/dist/esm/utils/normalise.js +0 -20
  683. package/dist/esm/utils/recordHelpers.js +0 -39
  684. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  685. package/dist/esm/utils/registerHelpers.js +0 -43
  686. package/dist/esm/utils/singleCall.d.ts +0 -9
  687. package/dist/esm/utils/singleCall.js +0 -5
  688. package/dist/esm/utils/validation.d.ts +0 -8
  689. package/dist/esm/utils/validation.js +0 -67
  690. package/src/@types/FuseOptions.d.ts +0 -9
  691. package/src/ABIs/ETHRegistrarController.json +0 -494
  692. package/src/ABIs/NameWrapper.json +0 -1183
  693. package/src/ABIs/PublicResolver.json +0 -875
  694. package/src/ABIs/ReverseRegistrar.json +0 -323
  695. package/src/ABIs/StaticMetadataService.json +0 -32
  696. package/src/ABIs/UniversalResolver.json +0 -187
  697. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  698. package/src/functions/getFuses.test.ts +0 -103
  699. package/src/functions/getFuses.ts +0 -76
  700. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  701. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  702. package/src/tests/setup.ts +0 -53
  703. package/src/tests/withProvider.test.ts +0 -28
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { ethers } from 'ethers'
2
- import ContractManager from './contracts'
1
+ import type { JsonRpcSigner } from '@ethersproject/providers'
2
+ import { ContractTransaction, ethers, PopulatedTransaction } from 'ethers'
3
3
  import { getContractAddress as _getContractAddress } from './contracts/getContractAddress'
4
+ import ContractManager from './contracts/index'
4
5
  import { SupportedNetworkId } from './contracts/types'
5
6
  import type batch from './functions/batch'
6
7
  import type {
@@ -9,15 +10,12 @@ import type {
9
10
  universalWrapper,
10
11
  } from './functions/batchWrappers'
11
12
  import type burnFuses from './functions/burnFuses'
13
+ import type commitName from './functions/commitName'
12
14
  import type createSubname from './functions/createSubname'
13
15
  import type deleteSubname from './functions/deleteSubname'
16
+ import type getDNSOwner from './functions/getDNSOwner'
14
17
  import type getExpiry from './functions/getExpiry'
15
- import type getFuses from './functions/getFuses'
16
- import type {
17
- getHistory,
18
- getHistoryDetailForTransactionHash,
19
- getHistoryWithDetail,
20
- } from './functions/getHistory'
18
+ import type { getHistory } from './functions/getHistory'
21
19
  import type getName from './functions/getName'
22
20
  import type getNames from './functions/getNames'
23
21
  import type getOwner from './functions/getOwner'
@@ -34,16 +32,35 @@ import type {
34
32
  _getText,
35
33
  } from './functions/getSpecificRecord'
36
34
  import type getSubnames from './functions/getSubnames'
35
+ import type getWrapperData from './functions/getWrapperData'
36
+ import type registerName from './functions/registerName'
37
+ import type {
38
+ // eslint-disable-next-line import/no-named-default
39
+ default as renewNames,
40
+ renewNameWithData,
41
+ } from './functions/renewNames'
37
42
  import type setName from './functions/setName'
43
+ import type setRecord from './functions/setRecord'
38
44
  import type setRecords from './functions/setRecords'
39
45
  import type setResolver from './functions/setResolver'
46
+ import type transferController from './functions/transferController'
40
47
  import type transferName from './functions/transferName'
41
48
  import type transferSubname from './functions/transferSubname'
42
49
  import type unwrapName from './functions/unwrapName'
43
50
  import type wrapName from './functions/wrapName'
44
- import type getDNSOwner from './functions/getDNSOwner'
45
51
  import GqlManager from './GqlManager'
46
52
  import singleCall from './utils/singleCall'
53
+ import writeTx from './utils/writeTx'
54
+ import importDNSSECName from './functions/importDNSSECName'
55
+
56
+ export type {
57
+ Fuse,
58
+ FuseArrayPossibilities,
59
+ FuseObj,
60
+ NamedFusesToBurn,
61
+ UnnamedFuseType,
62
+ UnnamedFuseValues,
63
+ } from './utils/fuses'
47
64
 
48
65
  type ENSOptions = {
49
66
  graphURI?: string | null
@@ -53,6 +70,7 @@ type ENSOptions = {
53
70
  export type InternalENS = {
54
71
  options?: ENSOptions
55
72
  provider?: ethers.providers.Provider
73
+ signer: JsonRpcSigner
56
74
  graphURI?: string | null
57
75
  } & ENS
58
76
 
@@ -76,12 +94,40 @@ type FirstArg<F> = F extends (x: infer A, ...args: any[]) => any ? A : never
76
94
 
77
95
  type FunctionDeps<F> = Extract<keyof FirstArg<F>, string>[]
78
96
 
97
+ type WriteOptions = {
98
+ addressOrIndex?: string | number
99
+ signer?: JsonRpcSigner
100
+ }
101
+
102
+ type OptionalWriteOptions<F> = F extends (
103
+ x: any,
104
+ arg_0: infer Z,
105
+ options?: infer P,
106
+ ) => infer R
107
+ ? (name: Z, options?: P & WriteOptions) => R
108
+ : F extends (x: any, arg_0: infer Z, options: infer P) => infer R
109
+ ? (name: Z, options: P & WriteOptions) => R
110
+ : never
111
+
112
+ interface WriteFunction<F extends (...args: any) => any> extends Function {
113
+ (...args: Parameters<OptionalWriteOptions<F>>): Promise<
114
+ ContractTransaction & {
115
+ customData?: Record<string, any>
116
+ }
117
+ >
118
+ populateTransaction: (
119
+ ...args: Parameters<OptionalWriteOptions<F>>
120
+ ) => Promise<PopulatedTransaction>
121
+ }
122
+
123
+ /* eslint-disable @typescript-eslint/naming-convention */
79
124
  const graphURIEndpoints: Record<string, string> = {
80
125
  1: 'https://api.thegraph.com/subgraphs/name/ensdomains/ens',
81
126
  3: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensropsten',
82
127
  4: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensrinkeby',
83
128
  5: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensgoerli',
84
129
  }
130
+ /* eslint-enable @typescript-eslint/naming-convention */
85
131
 
86
132
  export type RawFunction = {
87
133
  raw: (...args: any[]) => Promise<{ to: string; data: string }>
@@ -121,12 +167,19 @@ export interface GenericGeneratedRawFunction
121
167
 
122
168
  export class ENS {
123
169
  [x: string]: any
170
+
124
171
  protected options?: ENSOptions
172
+
125
173
  protected provider?: ethers.providers.JsonRpcProvider
174
+
126
175
  protected graphURI?: string | null
176
+
127
177
  protected initialProvider?: ethers.providers.JsonRpcProvider
178
+
128
179
  contracts?: ContractManager
180
+
129
181
  getContractAddress = _getContractAddress
182
+
130
183
  gqlInstance = new GqlManager()
131
184
 
132
185
  constructor(options?: ENSOptions) {
@@ -143,7 +196,6 @@ export class ENS {
143
196
  return
144
197
  }
145
198
  await this.setProvider(this.initialProvider)
146
- return
147
199
  }
148
200
 
149
201
  /**
@@ -172,7 +224,13 @@ export class ENS {
172
224
  path: string,
173
225
  dependencies: FunctionDeps<F>,
174
226
  exportName: string = 'default',
175
- subFunc?: 'raw' | 'decode' | 'combine' | 'batch',
227
+ subFunc?:
228
+ | 'raw'
229
+ | 'decode'
230
+ | 'combine'
231
+ | 'batch'
232
+ | 'write'
233
+ | 'populateTransaction',
176
234
  passthrough?: RawFunction,
177
235
  ): Function => {
178
236
  // if batch is specified, create batch func
@@ -186,37 +244,55 @@ export class ENS {
186
244
  await thisRef.checkInitialProvider()
187
245
  // import the module dynamically
188
246
  const mod = await import(
189
- /* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true */
247
+ /* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true, webpackExclude: /.*\.ts$/ */
190
248
  `./functions/${path}`
191
249
  )
192
250
 
193
251
  // if combine isn't specified, run normally
194
252
  // otherwise, create a function from the raw and decode functions
195
253
  if (subFunc !== 'combine') {
254
+ const writeable =
255
+ subFunc === 'write' || subFunc === 'populateTransaction'
196
256
  // get the function to call
197
- const func = subFunc ? mod[exportName][subFunc] : mod[exportName]
198
- if(dependencies.length === 0) {
199
- return func(...args)
200
- }
257
+ const func =
258
+ subFunc && !writeable ? mod[exportName][subFunc] : mod[exportName]
201
259
  // get the dependencies to forward to the function as the first arg
202
- const dependenciesToForward =
260
+ let dependenciesToForward =
203
261
  thisRef.forwardDependenciesFromArray<F>(dependencies)
262
+
263
+ // if func is write func, inject signer into dependencies
264
+ if (writeable) {
265
+ const options = (args[1] || {}) as WriteOptions
266
+ const signer =
267
+ options.signer ||
268
+ thisRef.provider?.getSigner(options.addressOrIndex)
269
+ const populate = subFunc === 'populateTransaction'
270
+ if (!signer) {
271
+ throw new Error('No signer specified')
272
+ }
273
+ delete options.addressOrIndex
274
+ delete options.signer
275
+ dependenciesToForward = { ...dependenciesToForward, signer }
276
+ return func(dependenciesToForward, args[0], options).then(
277
+ writeTx(signer, populate),
278
+ )
279
+ }
280
+
204
281
  // return the function with the dependencies forwarded
205
282
  return func(dependenciesToForward, ...args)
206
- } else {
207
- // get the dependencies to forward from raw and decode functions
208
- const dependenciesToForward = thisRef.forwardDependenciesFromArray<
209
- CombineFunctionDeps<F>
210
- >(dependencies as any)
211
-
212
- // return singleCall function with dependencies forwarded
213
- return singleCall(
214
- thisRef.provider!,
215
- dependenciesToForward,
216
- mod[exportName],
217
- ...args,
218
- )
219
283
  }
284
+ // get the dependencies to forward from raw and decode functions
285
+ const dependenciesToForward = thisRef.forwardDependenciesFromArray<
286
+ CombineFunctionDeps<F>
287
+ >(dependencies as any)
288
+
289
+ // return singleCall function with dependencies forwarded
290
+ return singleCall(
291
+ thisRef.provider!,
292
+ dependenciesToForward,
293
+ mod[exportName],
294
+ ...args,
295
+ )
220
296
  }
221
297
 
222
298
  // if subfunc is combine, add raw and decode property methods to the function
@@ -240,6 +316,13 @@ export class ENS {
240
316
  'batch',
241
317
  { raw: mainFunc.raw as any, decode: mainFunc.decode as any },
242
318
  )
319
+ } else if (subFunc === 'write') {
320
+ mainFunc.populateTransaction = this.importGenerator<F>(
321
+ path,
322
+ dependencies,
323
+ exportName,
324
+ 'populateTransaction',
325
+ )
243
326
  }
244
327
 
245
328
  return mainFunc as Function
@@ -259,6 +342,25 @@ export class ENS {
259
342
  ): OmitFirstArg<F> =>
260
343
  this.importGenerator<F>(path, dependencies, exportName) as OmitFirstArg<F>
261
344
 
345
+ /**
346
+ * Generates a write wrapped function
347
+ * @param {string} path - The path of the exported function
348
+ * @param {FunctionDeps} dependencies - An array of ENS properties
349
+ * @param {string} exportName - The export name of the target function
350
+ * @returns {OmitFirstArg} - The generated wrapped function
351
+ */
352
+ private generateWriteFunction = <F extends (...args: any) => any>(
353
+ path: string,
354
+ dependencies: FunctionDeps<F>,
355
+ exportName: string = 'default',
356
+ ): WriteFunction<F> =>
357
+ this.importGenerator<F>(
358
+ path,
359
+ dependencies,
360
+ exportName,
361
+ 'write',
362
+ ) as WriteFunction<F>
363
+
262
364
  /**
263
365
  * Generates a wrapped function from raw and decode exports
264
366
  * @param {string} path - The path of the exported function
@@ -298,7 +400,6 @@ export class ENS {
298
400
  this.provider,
299
401
  this.getContractAddress(String(network) as SupportedNetworkId),
300
402
  )
301
- return
302
403
  }
303
404
 
304
405
  /**
@@ -350,9 +451,10 @@ export class ENS {
350
451
  ['contracts'],
351
452
  )
352
453
 
353
- public getFuses = this.generateRawFunction<typeof getFuses>('getFuses', [
354
- 'contracts',
355
- ])
454
+ public getWrapperData = this.generateRawFunction<typeof getWrapperData>(
455
+ 'getWrapperData',
456
+ ['contracts'],
457
+ )
356
458
 
357
459
  public getHistory = this.generateFunction<typeof getHistory>(
358
460
  'getHistory',
@@ -360,22 +462,6 @@ export class ENS {
360
462
  'getHistory',
361
463
  )
362
464
 
363
- public getHistoryWithDetail = this.generateFunction<
364
- typeof getHistoryWithDetail
365
- >(
366
- 'getHistory',
367
- ['contracts', 'gqlInstance', 'provider'],
368
- 'getHistoryWithDetail',
369
- )
370
-
371
- public getHistoryDetailForTransactionHash = this.generateFunction<
372
- typeof getHistoryDetailForTransactionHash
373
- >(
374
- 'getHistory',
375
- ['contracts', 'provider'],
376
- 'getHistoryDetailForTransactionHash',
377
- )
378
-
379
465
  public getContentHash = this.generateRawFunction<typeof getContentHash>(
380
466
  'initialGetters',
381
467
  ['contracts', 'universalWrapper'],
@@ -442,6 +528,11 @@ export class ENS {
442
528
  'getPrice',
443
529
  )
444
530
 
531
+ public getDNSOwner = this.generateFunction<typeof getDNSOwner>(
532
+ 'getDNSOwner',
533
+ [],
534
+ )
535
+
445
536
  public universalWrapper = this.generateRawFunction<typeof universalWrapper>(
446
537
  'initialGetters',
447
538
  ['contracts'],
@@ -458,59 +549,85 @@ export class ENS {
458
549
  'multicallWrapper',
459
550
  )
460
551
 
461
- public setName = this.generateFunction<typeof setName>('setName', [
552
+ public setName = this.generateWriteFunction<typeof setName>('setName', [
462
553
  'contracts',
463
- 'provider',
464
554
  ])
465
555
 
466
- public setRecords = this.generateFunction<typeof setRecords>('setRecords', [
556
+ public setRecords = this.generateWriteFunction<typeof setRecords>(
557
+ 'setRecords',
558
+ ['contracts', 'provider', 'getResolver'],
559
+ )
560
+
561
+ public setRecord = this.generateWriteFunction<typeof setRecord>('setRecord', [
467
562
  'contracts',
468
563
  'provider',
469
564
  'getResolver',
470
565
  ])
471
566
 
472
- public setResolver = this.generateFunction<typeof setResolver>(
567
+ public setResolver = this.generateWriteFunction<typeof setResolver>(
473
568
  'setResolver',
474
- ['contracts', 'provider'],
569
+ ['contracts'],
475
570
  )
476
571
 
477
- public transferName = this.generateFunction<typeof transferName>(
572
+ public transferName = this.generateWriteFunction<typeof transferName>(
478
573
  'transferName',
479
- ['contracts', 'provider'],
574
+ ['contracts'],
480
575
  )
481
576
 
482
- public wrapName = this.generateFunction<typeof wrapName>('wrapName', [
483
- 'contracts',
484
- 'provider',
485
- ])
577
+ public transferController = this.generateWriteFunction<
578
+ typeof transferController
579
+ >('transferController', ['contracts'])
486
580
 
487
- public unwrapName = this.generateFunction<typeof unwrapName>('unwrapName', [
581
+ public wrapName = this.generateWriteFunction<typeof wrapName>('wrapName', [
488
582
  'contracts',
489
- 'provider',
583
+ 'getExpiry',
490
584
  ])
491
585
 
492
- public burnFuses = this.generateFunction<typeof burnFuses>('burnFuses', [
586
+ public unwrapName = this.generateWriteFunction<typeof unwrapName>(
587
+ 'unwrapName',
588
+ ['contracts'],
589
+ )
590
+
591
+ public burnFuses = this.generateWriteFunction<typeof burnFuses>('burnFuses', [
493
592
  'contracts',
494
- 'provider',
495
593
  ])
496
594
 
497
- public createSubname = this.generateFunction<typeof createSubname>(
595
+ public importDNSSECName = this.generateWriteFunction<typeof importDNSSECName>(
596
+ 'importDNSSECName',
597
+ ['contracts', 'provider', 'signer'],
598
+ )
599
+
600
+ public createSubname = this.generateWriteFunction<typeof createSubname>(
498
601
  'createSubname',
499
- ['contracts', 'provider'],
602
+ ['contracts', 'getExpiry'],
500
603
  )
501
604
 
502
- public deleteSubname = this.generateFunction<typeof deleteSubname>(
605
+ public deleteSubname = this.generateWriteFunction<typeof deleteSubname>(
503
606
  'deleteSubname',
504
- ['contracts', 'provider', 'transferSubname'],
607
+ ['contracts'],
505
608
  )
506
609
 
507
- public transferSubname = this.generateFunction<typeof transferSubname>(
610
+ public transferSubname = this.generateWriteFunction<typeof transferSubname>(
508
611
  'transferSubname',
509
- ['contracts', 'provider'],
612
+ ['contracts', 'getExpiry'],
510
613
  )
511
614
 
512
- public getDNSOwner = this.generateFunction<typeof getDNSOwner>(
513
- 'getDNSOwner',
514
- [],
615
+ public commitName = this.generateWriteFunction<typeof commitName>(
616
+ 'commitName',
617
+ ['contracts'],
618
+ )
619
+
620
+ public registerName = this.generateWriteFunction<typeof registerName>(
621
+ 'registerName',
622
+ ['contracts'],
515
623
  )
624
+
625
+ public renewNames = this.generateWriteFunction<typeof renewNames>(
626
+ 'renewNames',
627
+ ['contracts'],
628
+ )
629
+
630
+ public renewNameWithData = this.generateWriteFunction<
631
+ typeof renewNameWithData
632
+ >('renewNames', ['contracts'], 'renewNameWithData')
516
633
  }
@@ -0,0 +1,148 @@
1
+ import type { BaseProvider, TransactionRequest } from '@ethersproject/providers'
2
+ import { BigNumber, Transaction } from 'ethers'
3
+ import {
4
+ arrayify,
5
+ BytesLike,
6
+ hexConcat,
7
+ hexDataSlice,
8
+ toUtf8String,
9
+ } from 'ethers/lib/utils'
10
+
11
+ function bytesPad(value: Uint8Array): Uint8Array {
12
+ if (value.length % 32 === 0) {
13
+ return value
14
+ }
15
+
16
+ const result = new Uint8Array(Math.ceil(value.length / 32) * 32)
17
+ result.set(value)
18
+ return result
19
+ }
20
+
21
+ function numPad(value: number): Uint8Array {
22
+ const result = arrayify(value)
23
+ if (result.length > 32) {
24
+ throw new Error('internal; should not happen')
25
+ }
26
+
27
+ const padded = new Uint8Array(32)
28
+ padded.set(result, 32 - result.length)
29
+ return padded
30
+ }
31
+
32
+ // ABI Encodes a series of (bytes, bytes, ...)
33
+ function encodeBytes(datas: Array<BytesLike>) {
34
+ const result: Array<Uint8Array> = []
35
+
36
+ let byteCount = 0
37
+
38
+ // Add place-holders for pointers as we add items
39
+ for (let i = 0; i < datas.length; i += 1) {
40
+ result.push(new Uint8Array(0))
41
+ byteCount += 32
42
+ }
43
+
44
+ for (let i = 0; i < datas.length; i += 1) {
45
+ const data = arrayify(datas[i])
46
+
47
+ // Update the bytes offset
48
+ result[i] = numPad(byteCount)
49
+
50
+ // The length and padded value of data
51
+ result.push(numPad(data.length))
52
+ result.push(bytesPad(data))
53
+ byteCount += 32 + Math.ceil(data.length / 32) * 32
54
+ }
55
+
56
+ return hexConcat(result)
57
+ }
58
+
59
+ function _parseBytes(result: string, start: number): null | string {
60
+ if (result === '0x') {
61
+ return null
62
+ }
63
+
64
+ const offset = BigNumber.from(
65
+ hexDataSlice(result, start, start + 32),
66
+ ).toNumber()
67
+ const length = BigNumber.from(
68
+ hexDataSlice(result, offset, offset + 32),
69
+ ).toNumber()
70
+
71
+ return hexDataSlice(result, offset + 32, offset + 32 + length)
72
+ }
73
+
74
+ function _parseString(result: string, start: number): null | string {
75
+ try {
76
+ const bytes = _parseBytes(result, start)
77
+ if (bytes == null) return null
78
+ return toUtf8String(bytes)
79
+ } catch (error) {}
80
+ return null
81
+ }
82
+
83
+ const ccipLookup = async (
84
+ provider: BaseProvider,
85
+ transaction: TransactionRequest,
86
+ result: string,
87
+ ) => {
88
+ const txSender = transaction.to!
89
+ try {
90
+ const data = hexDataSlice(result, 4)
91
+
92
+ // Check the sender of the OffchainLookup matches the transaction
93
+ const sender = hexDataSlice(data, 0, 32)
94
+ if (!BigNumber.from(sender).eq(txSender)) {
95
+ throw new Error('CCIP Read sender did not match')
96
+ }
97
+
98
+ // Read the URLs from the response
99
+ const urls: Array<string> = []
100
+ const urlsOffset = BigNumber.from(hexDataSlice(data, 32, 64)).toNumber()
101
+ const urlsLength = BigNumber.from(
102
+ hexDataSlice(data, urlsOffset, urlsOffset + 32),
103
+ ).toNumber()
104
+ const urlsData = hexDataSlice(data, urlsOffset + 32)
105
+ for (let u = 0; u < urlsLength; u += 1) {
106
+ const url = _parseString(urlsData, u * 32)
107
+ if (url == null) {
108
+ throw new Error('CCIP Read contained corrupt URL string')
109
+ }
110
+ urls.push(url)
111
+ }
112
+
113
+ // Get the CCIP calldata to forward
114
+ const calldata = _parseBytes(data, 64)
115
+
116
+ // Get the callbackSelector (bytes4)
117
+ if (!BigNumber.from(hexDataSlice(data, 100, 128)).isZero()) {
118
+ throw new Error('CCIP Read callback selected included junk')
119
+ }
120
+ const callbackSelector = hexDataSlice(data, 96, 100)
121
+
122
+ // Get the extra data to send back to the contract as context
123
+ const extraData = _parseBytes(data, 128)
124
+
125
+ const ccipResult = await provider.ccipReadFetch(
126
+ <Transaction>transaction,
127
+ calldata!,
128
+ urls,
129
+ )
130
+ if (ccipResult == null) {
131
+ throw new Error('CCIP Read disabled or provided no URLs')
132
+ }
133
+
134
+ const tx = {
135
+ to: sender,
136
+ data: hexConcat([
137
+ callbackSelector,
138
+ encodeBytes([ccipResult, extraData!]),
139
+ ]),
140
+ }
141
+
142
+ return await provider._call(tx, 'latest', 1)
143
+ } catch (error) {
144
+ console.error(error)
145
+ }
146
+ }
147
+
148
+ export default ccipLookup
@@ -0,0 +1 @@
1
+ export const EMPTY_ADDRESS = '0x0000000000000000000000000000000000000000'
@@ -26,13 +26,16 @@ function matchProtocol(text: string) {
26
26
  }
27
27
 
28
28
  export function decodeContenthash(encoded: any) {
29
- let decoded, protocolType, error
29
+ let decoded
30
+ let protocolType
31
+ let error
30
32
  if (!encoded || encoded === '0x') {
31
33
  return {}
32
34
  }
33
35
  if (encoded.error) {
34
36
  return { protocolType: null, decoded: encoded.error }
35
- } else if (encoded === false) {
37
+ }
38
+ if (encoded === false) {
36
39
  return { protocolType: null, decoded: 'invalid value' }
37
40
  }
38
41
  if (encoded) {
@@ -80,12 +83,12 @@ export function isValidContenthash(encoded: any) {
80
83
  }
81
84
 
82
85
  export function getProtocolType(encoded: any) {
83
- let protocolType, decoded
86
+ let protocolType
87
+ let decoded
84
88
  try {
85
- let matched = matchProtocol(encoded)
89
+ const matched = matchProtocol(encoded)
86
90
  if (matched) {
87
- protocolType = matched[1]
88
- decoded = matched[2]
91
+ ;[, protocolType, decoded] = matched
89
92
  }
90
93
  return {
91
94
  protocolType,
@@ -101,38 +104,37 @@ export function encodeContenthash(text: string) {
101
104
  let contentType
102
105
  let encoded: string | boolean = false
103
106
  let error
104
- if (!!text) {
105
- let matched = matchProtocol(text)
107
+ if (text) {
108
+ const matched = matchProtocol(text)
106
109
  if (matched) {
107
- contentType = matched[1]
108
- content = matched[2]
110
+ ;[, contentType, content] = matched
109
111
  }
110
112
  try {
111
113
  if (contentType === 'ipfs') {
112
114
  if (content.length >= 4) {
113
- encoded = '0x' + contentHash.encode('ipfs-ns', content)
115
+ encoded = `0x${contentHash.encode('ipfs-ns', content)}`
114
116
  }
115
117
  } else if (contentType === 'ipns') {
116
- encoded = '0x' + contentHash.encode('ipns-ns', content)
118
+ encoded = `0x${contentHash.encode('ipns-ns', content)}`
117
119
  } else if (contentType === 'bzz') {
118
120
  if (content.length >= 4) {
119
- encoded = '0x' + contentHash.fromSwarm(content)
121
+ encoded = `0x${contentHash.fromSwarm(content)}`
120
122
  }
121
123
  } else if (contentType === 'onion') {
122
- if (content.length == 16) {
123
- encoded = '0x' + contentHash.encode('onion', content)
124
+ if (content.length === 16) {
125
+ encoded = `0x${contentHash.encode('onion', content)}`
124
126
  }
125
127
  } else if (contentType === 'onion3') {
126
- if (content.length == 56) {
127
- encoded = '0x' + contentHash.encode('onion3', content)
128
+ if (content.length === 56) {
129
+ encoded = `0x${contentHash.encode('onion3', content)}`
128
130
  }
129
131
  } else if (contentType === 'sia') {
130
- if (content.length == 46) {
131
- encoded = '0x' + contentHash.encode('skynet-ns', content)
132
+ if (content.length === 46) {
133
+ encoded = `0x${contentHash.encode('skynet-ns', content)}`
132
134
  }
133
135
  } else if (contentType === 'arweave') {
134
- if (content.length == 43) {
135
- encoded = '0x' + contentHash.encode('arweave-ns', content)
136
+ if (content.length === 43) {
137
+ encoded = `0x${contentHash.encode('arweave-ns', content)}`
136
138
  }
137
139
  } else {
138
140
  console.warn('Unsupported protocol or invalid value', {
@@ -144,7 +146,7 @@ export function encodeContenthash(text: string) {
144
146
  const errorMessage = 'Error encoding content hash'
145
147
  console.warn(errorMessage, { text, encoded })
146
148
  error = errorMessage
147
- //throw 'Error encoding content hash'
149
+ // throw 'Error encoding content hash'
148
150
  }
149
151
  }
150
152
  return { encoded, error }
@@ -1,2 +1,2 @@
1
1
  export default (address: string) =>
2
- address.toLowerCase().substring(2) + '.addr.reverse'
2
+ `${address.toLowerCase().substring(2)}.addr.reverse`