thirdweb 5.37.0 → 5.37.1-nightly-26d825bc4f0475523ea761aa18ab979557295c28-20240722000339

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 (266) hide show
  1. package/dist/cjs/exports/extensions/lens.js +98 -0
  2. package/dist/cjs/exports/extensions/lens.js.map +1 -0
  3. package/dist/cjs/exports/extensions/permissions.js +7 -1
  4. package/dist/cjs/exports/extensions/permissions.js.map +1 -1
  5. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowData.js +133 -0
  6. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowData.js.map +1 -0
  7. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js +115 -0
  8. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js.map +1 -0
  9. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js +115 -0
  10. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js.map +1 -0
  11. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js +71 -0
  12. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js.map +1 -0
  13. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js +115 -0
  14. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js.map +1 -0
  15. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js +115 -0
  16. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js.map +1 -0
  17. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js +115 -0
  18. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js.map +1 -0
  19. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/isFollowing.js +115 -0
  20. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/isFollowing.js.map +1 -0
  21. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js +115 -0
  22. package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js.map +1 -0
  23. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandle.js +115 -0
  24. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandle.js.map +1 -0
  25. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js +71 -0
  26. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js.map +1 -0
  27. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getLocalName.js +115 -0
  28. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getLocalName.js.map +1 -0
  29. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getTokenId.js +115 -0
  30. package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getTokenId.js.map +1 -0
  31. package/dist/cjs/extensions/lens/__generated__/LensHub/read/exists.js +115 -0
  32. package/dist/cjs/extensions/lens/__generated__/LensHub/read/exists.js.map +1 -0
  33. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getContentURI.js +122 -0
  34. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getContentURI.js.map +1 -0
  35. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfile.js +145 -0
  36. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfile.js.map +1 -0
  37. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js +115 -0
  38. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js.map +1 -0
  39. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getPublication.js +160 -0
  40. package/dist/cjs/extensions/lens/__generated__/LensHub/read/getPublication.js.map +1 -0
  41. package/dist/cjs/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js +115 -0
  42. package/dist/cjs/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js.map +1 -0
  43. package/dist/cjs/extensions/lens/__generated__/LensHub/read/nonces.js +115 -0
  44. package/dist/cjs/extensions/lens/__generated__/LensHub/read/nonces.js.map +1 -0
  45. package/dist/cjs/extensions/lens/__generated__/LensHub/read/tokenDataOf.js +125 -0
  46. package/dist/cjs/extensions/lens/__generated__/LensHub/read/tokenDataOf.js.map +1 -0
  47. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js +115 -0
  48. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js.map +1 -0
  49. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js +115 -0
  50. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js.map +1 -0
  51. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js +115 -0
  52. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js.map +1 -0
  53. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js +125 -0
  54. package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js.map +1 -0
  55. package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js +115 -0
  56. package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js.map +1 -0
  57. package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js +116 -0
  58. package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js.map +1 -0
  59. package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js +115 -0
  60. package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js.map +1 -0
  61. package/dist/cjs/extensions/lens/consts.js +26 -0
  62. package/dist/cjs/extensions/lens/consts.js.map +1 -0
  63. package/dist/cjs/extensions/lens/read/getFullProfile.js +74 -0
  64. package/dist/cjs/extensions/lens/read/getFullProfile.js.map +1 -0
  65. package/dist/cjs/extensions/lens/read/getHandleFromProfileId.js +50 -0
  66. package/dist/cjs/extensions/lens/read/getHandleFromProfileId.js.map +1 -0
  67. package/dist/cjs/extensions/lens/read/getProfileMetadata.js +55 -0
  68. package/dist/cjs/extensions/lens/read/getProfileMetadata.js.map +1 -0
  69. package/dist/cjs/extensions/lens/read/type.js +3 -0
  70. package/dist/cjs/extensions/lens/read/type.js.map +1 -0
  71. package/dist/cjs/extensions/permissions/utils.js +19 -5
  72. package/dist/cjs/extensions/permissions/utils.js.map +1 -1
  73. package/dist/cjs/version.js +1 -1
  74. package/dist/cjs/version.js.map +1 -1
  75. package/dist/esm/exports/extensions/lens.js +56 -0
  76. package/dist/esm/exports/extensions/lens.js.map +1 -0
  77. package/dist/esm/exports/extensions/permissions.js +4 -0
  78. package/dist/esm/exports/extensions/permissions.js.map +1 -1
  79. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowData.js +125 -0
  80. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowData.js.map +1 -0
  81. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js +107 -0
  82. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js.map +1 -0
  83. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js +107 -0
  84. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js.map +1 -0
  85. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js +65 -0
  86. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js.map +1 -0
  87. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js +107 -0
  88. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js.map +1 -0
  89. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js +107 -0
  90. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js.map +1 -0
  91. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js +107 -0
  92. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js.map +1 -0
  93. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/isFollowing.js +107 -0
  94. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/isFollowing.js.map +1 -0
  95. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js +107 -0
  96. package/dist/esm/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js.map +1 -0
  97. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandle.js +107 -0
  98. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandle.js.map +1 -0
  99. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js +65 -0
  100. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js.map +1 -0
  101. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getLocalName.js +107 -0
  102. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getLocalName.js.map +1 -0
  103. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getTokenId.js +107 -0
  104. package/dist/esm/extensions/lens/__generated__/LensHandle/read/getTokenId.js.map +1 -0
  105. package/dist/esm/extensions/lens/__generated__/LensHub/read/exists.js +107 -0
  106. package/dist/esm/extensions/lens/__generated__/LensHub/read/exists.js.map +1 -0
  107. package/dist/esm/extensions/lens/__generated__/LensHub/read/getContentURI.js +114 -0
  108. package/dist/esm/extensions/lens/__generated__/LensHub/read/getContentURI.js.map +1 -0
  109. package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfile.js +137 -0
  110. package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfile.js.map +1 -0
  111. package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js +107 -0
  112. package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js.map +1 -0
  113. package/dist/esm/extensions/lens/__generated__/LensHub/read/getPublication.js +152 -0
  114. package/dist/esm/extensions/lens/__generated__/LensHub/read/getPublication.js.map +1 -0
  115. package/dist/esm/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js +107 -0
  116. package/dist/esm/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js.map +1 -0
  117. package/dist/esm/extensions/lens/__generated__/LensHub/read/nonces.js +107 -0
  118. package/dist/esm/extensions/lens/__generated__/LensHub/read/nonces.js.map +1 -0
  119. package/dist/esm/extensions/lens/__generated__/LensHub/read/tokenDataOf.js +117 -0
  120. package/dist/esm/extensions/lens/__generated__/LensHub/read/tokenDataOf.js.map +1 -0
  121. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js +107 -0
  122. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js.map +1 -0
  123. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js +107 -0
  124. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js.map +1 -0
  125. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js +107 -0
  126. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js.map +1 -0
  127. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js +117 -0
  128. package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js.map +1 -0
  129. package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js +107 -0
  130. package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js.map +1 -0
  131. package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js +108 -0
  132. package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js.map +1 -0
  133. package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js +107 -0
  134. package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js.map +1 -0
  135. package/dist/esm/extensions/lens/consts.js +23 -0
  136. package/dist/esm/extensions/lens/consts.js.map +1 -0
  137. package/dist/esm/extensions/lens/read/getFullProfile.js +71 -0
  138. package/dist/esm/extensions/lens/read/getFullProfile.js.map +1 -0
  139. package/dist/esm/extensions/lens/read/getHandleFromProfileId.js +47 -0
  140. package/dist/esm/extensions/lens/read/getHandleFromProfileId.js.map +1 -0
  141. package/dist/esm/extensions/lens/read/getProfileMetadata.js +52 -0
  142. package/dist/esm/extensions/lens/read/getProfileMetadata.js.map +1 -0
  143. package/dist/esm/extensions/lens/read/type.js +2 -0
  144. package/dist/esm/extensions/lens/read/type.js.map +1 -0
  145. package/dist/esm/extensions/permissions/utils.js +15 -1
  146. package/dist/esm/extensions/permissions/utils.js.map +1 -1
  147. package/dist/esm/version.js +1 -1
  148. package/dist/esm/version.js.map +1 -1
  149. package/dist/types/exports/extensions/lens.d.ts +53 -0
  150. package/dist/types/exports/extensions/lens.d.ts.map +1 -0
  151. package/dist/types/exports/extensions/permissions.d.ts +1 -0
  152. package/dist/types/exports/extensions/permissions.d.ts.map +1 -1
  153. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowData.d.ts +95 -0
  154. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowData.d.ts.map +1 -0
  155. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.d.ts +85 -0
  156. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.d.ts.map +1 -0
  157. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.d.ts +85 -0
  158. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.d.ts.map +1 -0
  159. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.d.ts +46 -0
  160. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.d.ts.map +1 -0
  161. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.d.ts +85 -0
  162. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.d.ts.map +1 -0
  163. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.d.ts +85 -0
  164. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.d.ts.map +1 -0
  165. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.d.ts +85 -0
  166. package/dist/types/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.d.ts.map +1 -0
  167. package/dist/types/extensions/lens/__generated__/FollowNFT/read/isFollowing.d.ts +85 -0
  168. package/dist/types/extensions/lens/__generated__/FollowNFT/read/isFollowing.d.ts.map +1 -0
  169. package/dist/types/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.d.ts +85 -0
  170. package/dist/types/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.d.ts.map +1 -0
  171. package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandle.d.ts +85 -0
  172. package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandle.d.ts.map +1 -0
  173. package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.d.ts +46 -0
  174. package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.d.ts.map +1 -0
  175. package/dist/types/extensions/lens/__generated__/LensHandle/read/getLocalName.d.ts +85 -0
  176. package/dist/types/extensions/lens/__generated__/LensHandle/read/getLocalName.d.ts.map +1 -0
  177. package/dist/types/extensions/lens/__generated__/LensHandle/read/getTokenId.d.ts +85 -0
  178. package/dist/types/extensions/lens/__generated__/LensHandle/read/getTokenId.d.ts.map +1 -0
  179. package/dist/types/extensions/lens/__generated__/LensHub/read/exists.d.ts +85 -0
  180. package/dist/types/extensions/lens/__generated__/LensHub/read/exists.d.ts.map +1 -0
  181. package/dist/types/extensions/lens/__generated__/LensHub/read/getContentURI.d.ts +92 -0
  182. package/dist/types/extensions/lens/__generated__/LensHub/read/getContentURI.d.ts.map +1 -0
  183. package/dist/types/extensions/lens/__generated__/LensHub/read/getProfile.d.ts +101 -0
  184. package/dist/types/extensions/lens/__generated__/LensHub/read/getProfile.d.ts.map +1 -0
  185. package/dist/types/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.d.ts +85 -0
  186. package/dist/types/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.d.ts.map +1 -0
  187. package/dist/types/extensions/lens/__generated__/LensHub/read/getPublication.d.ts +112 -0
  188. package/dist/types/extensions/lens/__generated__/LensHub/read/getPublication.d.ts.map +1 -0
  189. package/dist/types/extensions/lens/__generated__/LensHub/read/mintTimestampOf.d.ts +85 -0
  190. package/dist/types/extensions/lens/__generated__/LensHub/read/mintTimestampOf.d.ts.map +1 -0
  191. package/dist/types/extensions/lens/__generated__/LensHub/read/nonces.d.ts +85 -0
  192. package/dist/types/extensions/lens/__generated__/LensHub/read/nonces.d.ts.map +1 -0
  193. package/dist/types/extensions/lens/__generated__/LensHub/read/tokenDataOf.d.ts +91 -0
  194. package/dist/types/extensions/lens/__generated__/LensHub/read/tokenDataOf.d.ts.map +1 -0
  195. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.d.ts +85 -0
  196. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.d.ts.map +1 -0
  197. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.d.ts +85 -0
  198. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.d.ts.map +1 -0
  199. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.d.ts +85 -0
  200. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.d.ts.map +1 -0
  201. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.d.ts +92 -0
  202. package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.d.ts.map +1 -0
  203. package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.d.ts +85 -0
  204. package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.d.ts.map +1 -0
  205. package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.d.ts +85 -0
  206. package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.d.ts.map +1 -0
  207. package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.d.ts +85 -0
  208. package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.d.ts.map +1 -0
  209. package/dist/types/extensions/lens/consts.d.ts +20 -0
  210. package/dist/types/extensions/lens/consts.d.ts.map +1 -0
  211. package/dist/types/extensions/lens/read/getFullProfile.d.ts +37 -0
  212. package/dist/types/extensions/lens/read/getFullProfile.d.ts.map +1 -0
  213. package/dist/types/extensions/lens/read/getHandleFromProfileId.d.ts +28 -0
  214. package/dist/types/extensions/lens/read/getHandleFromProfileId.d.ts.map +1 -0
  215. package/dist/types/extensions/lens/read/getProfileMetadata.d.ts +36 -0
  216. package/dist/types/extensions/lens/read/getProfileMetadata.d.ts.map +1 -0
  217. package/dist/types/extensions/lens/read/type.d.ts +37 -0
  218. package/dist/types/extensions/lens/read/type.d.ts.map +1 -0
  219. package/dist/types/extensions/permissions/utils.d.ts +15 -2
  220. package/dist/types/extensions/permissions/utils.d.ts.map +1 -1
  221. package/dist/types/version.d.ts +1 -1
  222. package/dist/types/version.d.ts.map +1 -1
  223. package/package.json +1 -1
  224. package/src/exports/extensions/lens.ts +155 -0
  225. package/src/exports/extensions/permissions.ts +5 -0
  226. package/src/extensions/erc1155/drops/read/getActiveClaimCondition.test.ts +3 -4
  227. package/src/extensions/erc20/drops/read/getActiveClaimCondition.test.ts +2 -2
  228. package/src/extensions/erc721/drops/read/getActiveClaimCondition.test.ts +2 -2
  229. package/src/extensions/lens/__generated__/FollowNFT/read/getFollowData.ts +150 -0
  230. package/src/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.ts +134 -0
  231. package/src/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.ts +132 -0
  232. package/src/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.ts +74 -0
  233. package/src/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.ts +136 -0
  234. package/src/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.ts +136 -0
  235. package/src/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.ts +136 -0
  236. package/src/extensions/lens/__generated__/FollowNFT/read/isFollowing.ts +130 -0
  237. package/src/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.ts +129 -0
  238. package/src/extensions/lens/__generated__/LensHandle/read/getHandle.ts +127 -0
  239. package/src/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.ts +76 -0
  240. package/src/extensions/lens/__generated__/LensHandle/read/getLocalName.ts +127 -0
  241. package/src/extensions/lens/__generated__/LensHandle/read/getTokenId.ts +127 -0
  242. package/src/extensions/lens/__generated__/LensHub/read/exists.ts +123 -0
  243. package/src/extensions/lens/__generated__/LensHub/read/getContentURI.ts +140 -0
  244. package/src/extensions/lens/__generated__/LensHub/read/getProfile.ts +160 -0
  245. package/src/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.ts +136 -0
  246. package/src/extensions/lens/__generated__/LensHub/read/getPublication.ts +178 -0
  247. package/src/extensions/lens/__generated__/LensHub/read/mintTimestampOf.ts +129 -0
  248. package/src/extensions/lens/__generated__/LensHub/read/nonces.ts +123 -0
  249. package/src/extensions/lens/__generated__/LensHub/read/tokenDataOf.ts +137 -0
  250. package/src/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.ts +132 -0
  251. package/src/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.ts +136 -0
  252. package/src/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.ts +134 -0
  253. package/src/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.ts +150 -0
  254. package/src/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.ts +132 -0
  255. package/src/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.ts +124 -0
  256. package/src/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.ts +123 -0
  257. package/src/extensions/lens/consts.ts +35 -0
  258. package/src/extensions/lens/read/getFullProfile.test.ts +40 -0
  259. package/src/extensions/lens/read/getFullProfile.ts +106 -0
  260. package/src/extensions/lens/read/getHandleFromProfileId.test.ts +45 -0
  261. package/src/extensions/lens/read/getHandleFromProfileId.ts +67 -0
  262. package/src/extensions/lens/read/getProfileMetadata.test.ts +43 -0
  263. package/src/extensions/lens/read/getProfileMetadata.ts +67 -0
  264. package/src/extensions/lens/read/type.ts +50 -0
  265. package/src/extensions/permissions/utils.ts +15 -1
  266. package/src/version.ts +1 -1
@@ -0,0 +1,127 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "getTokenId" function.
12
+ */
13
+ export type GetTokenIdParams = {
14
+ localName: AbiParameterToPrimitiveType<{ type: "string"; name: "localName" }>;
15
+ };
16
+
17
+ export const FN_SELECTOR = "0x1e7663bc" as const;
18
+ const FN_INPUTS = [
19
+ {
20
+ type: "string",
21
+ name: "localName",
22
+ },
23
+ ] as const;
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "uint256",
27
+ },
28
+ ] as const;
29
+
30
+ /**
31
+ * Checks if the `getTokenId` method is supported by the given contract.
32
+ * @param contract The ThirdwebContract.
33
+ * @returns A promise that resolves to a boolean indicating if the `getTokenId` method is supported.
34
+ * @extension LENS
35
+ * @example
36
+ * ```ts
37
+ * import { isGetTokenIdSupported } from "thirdweb/extensions/lens";
38
+ *
39
+ * const supported = await isGetTokenIdSupported(contract);
40
+ * ```
41
+ */
42
+ export async function isGetTokenIdSupported(contract: ThirdwebContract<any>) {
43
+ return detectMethod({
44
+ contract,
45
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
46
+ });
47
+ }
48
+
49
+ /**
50
+ * Encodes the parameters for the "getTokenId" function.
51
+ * @param options - The options for the getTokenId function.
52
+ * @returns The encoded ABI parameters.
53
+ * @extension LENS
54
+ * @example
55
+ * ```ts
56
+ * import { encodeGetTokenIdParams } "thirdweb/extensions/lens";
57
+ * const result = encodeGetTokenIdParams({
58
+ * localName: ...,
59
+ * });
60
+ * ```
61
+ */
62
+ export function encodeGetTokenIdParams(options: GetTokenIdParams) {
63
+ return encodeAbiParameters(FN_INPUTS, [options.localName]);
64
+ }
65
+
66
+ /**
67
+ * Encodes the "getTokenId" function into a Hex string with its parameters.
68
+ * @param options - The options for the getTokenId function.
69
+ * @returns The encoded hexadecimal string.
70
+ * @extension LENS
71
+ * @example
72
+ * ```ts
73
+ * import { encodeGetTokenId } "thirdweb/extensions/lens";
74
+ * const result = encodeGetTokenId({
75
+ * localName: ...,
76
+ * });
77
+ * ```
78
+ */
79
+ export function encodeGetTokenId(options: GetTokenIdParams) {
80
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
81
+ // we can do this because we know the specific formats of the values
82
+ return (FN_SELECTOR +
83
+ encodeGetTokenIdParams(options).slice(
84
+ 2,
85
+ )) as `${typeof FN_SELECTOR}${string}`;
86
+ }
87
+
88
+ /**
89
+ * Decodes the result of the getTokenId function call.
90
+ * @param result - The hexadecimal result to decode.
91
+ * @returns The decoded result as per the FN_OUTPUTS definition.
92
+ * @extension LENS
93
+ * @example
94
+ * ```ts
95
+ * import { decodeGetTokenIdResult } from "thirdweb/extensions/lens";
96
+ * const result = decodeGetTokenIdResult("...");
97
+ * ```
98
+ */
99
+ export function decodeGetTokenIdResult(result: Hex) {
100
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
101
+ }
102
+
103
+ /**
104
+ * Calls the "getTokenId" function on the contract.
105
+ * @param options - The options for the getTokenId function.
106
+ * @returns The parsed result of the function call.
107
+ * @extension LENS
108
+ * @example
109
+ * ```ts
110
+ * import { getTokenId } from "thirdweb/extensions/lens";
111
+ *
112
+ * const result = await getTokenId({
113
+ * contract,
114
+ * localName: ...,
115
+ * });
116
+ *
117
+ * ```
118
+ */
119
+ export async function getTokenId(
120
+ options: BaseTransactionOptions<GetTokenIdParams>,
121
+ ) {
122
+ return readContract({
123
+ contract: options.contract,
124
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
125
+ params: [options.localName],
126
+ });
127
+ }
@@ -0,0 +1,123 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "exists" function.
12
+ */
13
+ export type ExistsParams = {
14
+ tokenId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "tokenId" }>;
15
+ };
16
+
17
+ export const FN_SELECTOR = "0x4f558e79" as const;
18
+ const FN_INPUTS = [
19
+ {
20
+ type: "uint256",
21
+ name: "tokenId",
22
+ },
23
+ ] as const;
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "bool",
27
+ },
28
+ ] as const;
29
+
30
+ /**
31
+ * Checks if the `exists` method is supported by the given contract.
32
+ * @param contract The ThirdwebContract.
33
+ * @returns A promise that resolves to a boolean indicating if the `exists` method is supported.
34
+ * @extension LENS
35
+ * @example
36
+ * ```ts
37
+ * import { isExistsSupported } from "thirdweb/extensions/lens";
38
+ *
39
+ * const supported = await isExistsSupported(contract);
40
+ * ```
41
+ */
42
+ export async function isExistsSupported(contract: ThirdwebContract<any>) {
43
+ return detectMethod({
44
+ contract,
45
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
46
+ });
47
+ }
48
+
49
+ /**
50
+ * Encodes the parameters for the "exists" function.
51
+ * @param options - The options for the exists function.
52
+ * @returns The encoded ABI parameters.
53
+ * @extension LENS
54
+ * @example
55
+ * ```ts
56
+ * import { encodeExistsParams } "thirdweb/extensions/lens";
57
+ * const result = encodeExistsParams({
58
+ * tokenId: ...,
59
+ * });
60
+ * ```
61
+ */
62
+ export function encodeExistsParams(options: ExistsParams) {
63
+ return encodeAbiParameters(FN_INPUTS, [options.tokenId]);
64
+ }
65
+
66
+ /**
67
+ * Encodes the "exists" function into a Hex string with its parameters.
68
+ * @param options - The options for the exists function.
69
+ * @returns The encoded hexadecimal string.
70
+ * @extension LENS
71
+ * @example
72
+ * ```ts
73
+ * import { encodeExists } "thirdweb/extensions/lens";
74
+ * const result = encodeExists({
75
+ * tokenId: ...,
76
+ * });
77
+ * ```
78
+ */
79
+ export function encodeExists(options: ExistsParams) {
80
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
81
+ // we can do this because we know the specific formats of the values
82
+ return (FN_SELECTOR +
83
+ encodeExistsParams(options).slice(2)) as `${typeof FN_SELECTOR}${string}`;
84
+ }
85
+
86
+ /**
87
+ * Decodes the result of the exists function call.
88
+ * @param result - The hexadecimal result to decode.
89
+ * @returns The decoded result as per the FN_OUTPUTS definition.
90
+ * @extension LENS
91
+ * @example
92
+ * ```ts
93
+ * import { decodeExistsResult } from "thirdweb/extensions/lens";
94
+ * const result = decodeExistsResult("...");
95
+ * ```
96
+ */
97
+ export function decodeExistsResult(result: Hex) {
98
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
99
+ }
100
+
101
+ /**
102
+ * Calls the "exists" function on the contract.
103
+ * @param options - The options for the exists function.
104
+ * @returns The parsed result of the function call.
105
+ * @extension LENS
106
+ * @example
107
+ * ```ts
108
+ * import { exists } from "thirdweb/extensions/lens";
109
+ *
110
+ * const result = await exists({
111
+ * contract,
112
+ * tokenId: ...,
113
+ * });
114
+ *
115
+ * ```
116
+ */
117
+ export async function exists(options: BaseTransactionOptions<ExistsParams>) {
118
+ return readContract({
119
+ contract: options.contract,
120
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
121
+ params: [options.tokenId],
122
+ });
123
+ }
@@ -0,0 +1,140 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "getContentURI" function.
12
+ */
13
+ export type GetContentURIParams = {
14
+ profileId: AbiParameterToPrimitiveType<{
15
+ type: "uint256";
16
+ name: "profileId";
17
+ }>;
18
+ pubId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "pubId" }>;
19
+ };
20
+
21
+ export const FN_SELECTOR = "0xb5a31496" as const;
22
+ const FN_INPUTS = [
23
+ {
24
+ type: "uint256",
25
+ name: "profileId",
26
+ },
27
+ {
28
+ type: "uint256",
29
+ name: "pubId",
30
+ },
31
+ ] as const;
32
+ const FN_OUTPUTS = [
33
+ {
34
+ type: "string",
35
+ },
36
+ ] as const;
37
+
38
+ /**
39
+ * Checks if the `getContentURI` method is supported by the given contract.
40
+ * @param contract The ThirdwebContract.
41
+ * @returns A promise that resolves to a boolean indicating if the `getContentURI` method is supported.
42
+ * @extension LENS
43
+ * @example
44
+ * ```ts
45
+ * import { isGetContentURISupported } from "thirdweb/extensions/lens";
46
+ *
47
+ * const supported = await isGetContentURISupported(contract);
48
+ * ```
49
+ */
50
+ export async function isGetContentURISupported(
51
+ contract: ThirdwebContract<any>,
52
+ ) {
53
+ return detectMethod({
54
+ contract,
55
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
56
+ });
57
+ }
58
+
59
+ /**
60
+ * Encodes the parameters for the "getContentURI" function.
61
+ * @param options - The options for the getContentURI function.
62
+ * @returns The encoded ABI parameters.
63
+ * @extension LENS
64
+ * @example
65
+ * ```ts
66
+ * import { encodeGetContentURIParams } "thirdweb/extensions/lens";
67
+ * const result = encodeGetContentURIParams({
68
+ * profileId: ...,
69
+ * pubId: ...,
70
+ * });
71
+ * ```
72
+ */
73
+ export function encodeGetContentURIParams(options: GetContentURIParams) {
74
+ return encodeAbiParameters(FN_INPUTS, [options.profileId, options.pubId]);
75
+ }
76
+
77
+ /**
78
+ * Encodes the "getContentURI" function into a Hex string with its parameters.
79
+ * @param options - The options for the getContentURI function.
80
+ * @returns The encoded hexadecimal string.
81
+ * @extension LENS
82
+ * @example
83
+ * ```ts
84
+ * import { encodeGetContentURI } "thirdweb/extensions/lens";
85
+ * const result = encodeGetContentURI({
86
+ * profileId: ...,
87
+ * pubId: ...,
88
+ * });
89
+ * ```
90
+ */
91
+ export function encodeGetContentURI(options: GetContentURIParams) {
92
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
93
+ // we can do this because we know the specific formats of the values
94
+ return (FN_SELECTOR +
95
+ encodeGetContentURIParams(options).slice(
96
+ 2,
97
+ )) as `${typeof FN_SELECTOR}${string}`;
98
+ }
99
+
100
+ /**
101
+ * Decodes the result of the getContentURI function call.
102
+ * @param result - The hexadecimal result to decode.
103
+ * @returns The decoded result as per the FN_OUTPUTS definition.
104
+ * @extension LENS
105
+ * @example
106
+ * ```ts
107
+ * import { decodeGetContentURIResult } from "thirdweb/extensions/lens";
108
+ * const result = decodeGetContentURIResult("...");
109
+ * ```
110
+ */
111
+ export function decodeGetContentURIResult(result: Hex) {
112
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
113
+ }
114
+
115
+ /**
116
+ * Calls the "getContentURI" function on the contract.
117
+ * @param options - The options for the getContentURI function.
118
+ * @returns The parsed result of the function call.
119
+ * @extension LENS
120
+ * @example
121
+ * ```ts
122
+ * import { getContentURI } from "thirdweb/extensions/lens";
123
+ *
124
+ * const result = await getContentURI({
125
+ * contract,
126
+ * profileId: ...,
127
+ * pubId: ...,
128
+ * });
129
+ *
130
+ * ```
131
+ */
132
+ export async function getContentURI(
133
+ options: BaseTransactionOptions<GetContentURIParams>,
134
+ ) {
135
+ return readContract({
136
+ contract: options.contract,
137
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
138
+ params: [options.profileId, options.pubId],
139
+ });
140
+ }
@@ -0,0 +1,160 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "getProfile" function.
12
+ */
13
+ export type GetProfileParams = {
14
+ profileId: AbiParameterToPrimitiveType<{
15
+ type: "uint256";
16
+ name: "profileId";
17
+ }>;
18
+ };
19
+
20
+ export const FN_SELECTOR = "0xf08f4f64" as const;
21
+ const FN_INPUTS = [
22
+ {
23
+ type: "uint256",
24
+ name: "profileId",
25
+ },
26
+ ] as const;
27
+ const FN_OUTPUTS = [
28
+ {
29
+ type: "tuple",
30
+ components: [
31
+ {
32
+ type: "uint256",
33
+ name: "pubCount",
34
+ },
35
+ {
36
+ type: "address",
37
+ name: "followModule",
38
+ },
39
+ {
40
+ type: "address",
41
+ name: "followNFT",
42
+ },
43
+ {
44
+ type: "string",
45
+ name: "__DEPRECATED__handle",
46
+ },
47
+ {
48
+ type: "string",
49
+ name: "__DEPRECATED__imageURI",
50
+ },
51
+ {
52
+ type: "string",
53
+ name: "__DEPRECATED__followNFTURI",
54
+ },
55
+ {
56
+ type: "string",
57
+ name: "metadataURI",
58
+ },
59
+ ],
60
+ },
61
+ ] as const;
62
+
63
+ /**
64
+ * Checks if the `getProfile` method is supported by the given contract.
65
+ * @param contract The ThirdwebContract.
66
+ * @returns A promise that resolves to a boolean indicating if the `getProfile` method is supported.
67
+ * @extension LENS
68
+ * @example
69
+ * ```ts
70
+ * import { isGetProfileSupported } from "thirdweb/extensions/lens";
71
+ *
72
+ * const supported = await isGetProfileSupported(contract);
73
+ * ```
74
+ */
75
+ export async function isGetProfileSupported(contract: ThirdwebContract<any>) {
76
+ return detectMethod({
77
+ contract,
78
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
79
+ });
80
+ }
81
+
82
+ /**
83
+ * Encodes the parameters for the "getProfile" function.
84
+ * @param options - The options for the getProfile function.
85
+ * @returns The encoded ABI parameters.
86
+ * @extension LENS
87
+ * @example
88
+ * ```ts
89
+ * import { encodeGetProfileParams } "thirdweb/extensions/lens";
90
+ * const result = encodeGetProfileParams({
91
+ * profileId: ...,
92
+ * });
93
+ * ```
94
+ */
95
+ export function encodeGetProfileParams(options: GetProfileParams) {
96
+ return encodeAbiParameters(FN_INPUTS, [options.profileId]);
97
+ }
98
+
99
+ /**
100
+ * Encodes the "getProfile" function into a Hex string with its parameters.
101
+ * @param options - The options for the getProfile function.
102
+ * @returns The encoded hexadecimal string.
103
+ * @extension LENS
104
+ * @example
105
+ * ```ts
106
+ * import { encodeGetProfile } "thirdweb/extensions/lens";
107
+ * const result = encodeGetProfile({
108
+ * profileId: ...,
109
+ * });
110
+ * ```
111
+ */
112
+ export function encodeGetProfile(options: GetProfileParams) {
113
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
114
+ // we can do this because we know the specific formats of the values
115
+ return (FN_SELECTOR +
116
+ encodeGetProfileParams(options).slice(
117
+ 2,
118
+ )) as `${typeof FN_SELECTOR}${string}`;
119
+ }
120
+
121
+ /**
122
+ * Decodes the result of the getProfile function call.
123
+ * @param result - The hexadecimal result to decode.
124
+ * @returns The decoded result as per the FN_OUTPUTS definition.
125
+ * @extension LENS
126
+ * @example
127
+ * ```ts
128
+ * import { decodeGetProfileResult } from "thirdweb/extensions/lens";
129
+ * const result = decodeGetProfileResult("...");
130
+ * ```
131
+ */
132
+ export function decodeGetProfileResult(result: Hex) {
133
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
134
+ }
135
+
136
+ /**
137
+ * Calls the "getProfile" function on the contract.
138
+ * @param options - The options for the getProfile function.
139
+ * @returns The parsed result of the function call.
140
+ * @extension LENS
141
+ * @example
142
+ * ```ts
143
+ * import { getProfile } from "thirdweb/extensions/lens";
144
+ *
145
+ * const result = await getProfile({
146
+ * contract,
147
+ * profileId: ...,
148
+ * });
149
+ *
150
+ * ```
151
+ */
152
+ export async function getProfile(
153
+ options: BaseTransactionOptions<GetProfileParams>,
154
+ ) {
155
+ return readContract({
156
+ contract: options.contract,
157
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
158
+ params: [options.profileId],
159
+ });
160
+ }
@@ -0,0 +1,136 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "getProfileIdByHandleHash" function.
12
+ */
13
+ export type GetProfileIdByHandleHashParams = {
14
+ handleHash: AbiParameterToPrimitiveType<{
15
+ type: "bytes32";
16
+ name: "handleHash";
17
+ }>;
18
+ };
19
+
20
+ export const FN_SELECTOR = "0x19e14070" as const;
21
+ const FN_INPUTS = [
22
+ {
23
+ type: "bytes32",
24
+ name: "handleHash",
25
+ },
26
+ ] as const;
27
+ const FN_OUTPUTS = [
28
+ {
29
+ type: "uint256",
30
+ },
31
+ ] as const;
32
+
33
+ /**
34
+ * Checks if the `getProfileIdByHandleHash` method is supported by the given contract.
35
+ * @param contract The ThirdwebContract.
36
+ * @returns A promise that resolves to a boolean indicating if the `getProfileIdByHandleHash` method is supported.
37
+ * @extension LENS
38
+ * @example
39
+ * ```ts
40
+ * import { isGetProfileIdByHandleHashSupported } from "thirdweb/extensions/lens";
41
+ *
42
+ * const supported = await isGetProfileIdByHandleHashSupported(contract);
43
+ * ```
44
+ */
45
+ export async function isGetProfileIdByHandleHashSupported(
46
+ contract: ThirdwebContract<any>,
47
+ ) {
48
+ return detectMethod({
49
+ contract,
50
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
51
+ });
52
+ }
53
+
54
+ /**
55
+ * Encodes the parameters for the "getProfileIdByHandleHash" function.
56
+ * @param options - The options for the getProfileIdByHandleHash function.
57
+ * @returns The encoded ABI parameters.
58
+ * @extension LENS
59
+ * @example
60
+ * ```ts
61
+ * import { encodeGetProfileIdByHandleHashParams } "thirdweb/extensions/lens";
62
+ * const result = encodeGetProfileIdByHandleHashParams({
63
+ * handleHash: ...,
64
+ * });
65
+ * ```
66
+ */
67
+ export function encodeGetProfileIdByHandleHashParams(
68
+ options: GetProfileIdByHandleHashParams,
69
+ ) {
70
+ return encodeAbiParameters(FN_INPUTS, [options.handleHash]);
71
+ }
72
+
73
+ /**
74
+ * Encodes the "getProfileIdByHandleHash" function into a Hex string with its parameters.
75
+ * @param options - The options for the getProfileIdByHandleHash function.
76
+ * @returns The encoded hexadecimal string.
77
+ * @extension LENS
78
+ * @example
79
+ * ```ts
80
+ * import { encodeGetProfileIdByHandleHash } "thirdweb/extensions/lens";
81
+ * const result = encodeGetProfileIdByHandleHash({
82
+ * handleHash: ...,
83
+ * });
84
+ * ```
85
+ */
86
+ export function encodeGetProfileIdByHandleHash(
87
+ options: GetProfileIdByHandleHashParams,
88
+ ) {
89
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
90
+ // we can do this because we know the specific formats of the values
91
+ return (FN_SELECTOR +
92
+ encodeGetProfileIdByHandleHashParams(options).slice(
93
+ 2,
94
+ )) as `${typeof FN_SELECTOR}${string}`;
95
+ }
96
+
97
+ /**
98
+ * Decodes the result of the getProfileIdByHandleHash function call.
99
+ * @param result - The hexadecimal result to decode.
100
+ * @returns The decoded result as per the FN_OUTPUTS definition.
101
+ * @extension LENS
102
+ * @example
103
+ * ```ts
104
+ * import { decodeGetProfileIdByHandleHashResult } from "thirdweb/extensions/lens";
105
+ * const result = decodeGetProfileIdByHandleHashResult("...");
106
+ * ```
107
+ */
108
+ export function decodeGetProfileIdByHandleHashResult(result: Hex) {
109
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
110
+ }
111
+
112
+ /**
113
+ * Calls the "getProfileIdByHandleHash" function on the contract.
114
+ * @param options - The options for the getProfileIdByHandleHash function.
115
+ * @returns The parsed result of the function call.
116
+ * @extension LENS
117
+ * @example
118
+ * ```ts
119
+ * import { getProfileIdByHandleHash } from "thirdweb/extensions/lens";
120
+ *
121
+ * const result = await getProfileIdByHandleHash({
122
+ * contract,
123
+ * handleHash: ...,
124
+ * });
125
+ *
126
+ * ```
127
+ */
128
+ export async function getProfileIdByHandleHash(
129
+ options: BaseTransactionOptions<GetProfileIdByHandleHashParams>,
130
+ ) {
131
+ return readContract({
132
+ contract: options.contract,
133
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
134
+ params: [options.handleHash],
135
+ });
136
+ }