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,178 @@
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 "getPublication" function.
12
+ */
13
+ export type GetPublicationParams = {
14
+ profileId: AbiParameterToPrimitiveType<{
15
+ type: "uint256";
16
+ name: "profileId";
17
+ }>;
18
+ pubId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "pubId" }>;
19
+ };
20
+
21
+ export const FN_SELECTOR = "0x7385ebc9" 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: "tuple",
35
+ components: [
36
+ {
37
+ type: "uint256",
38
+ name: "pointedProfileId",
39
+ },
40
+ {
41
+ type: "uint256",
42
+ name: "pointedPubId",
43
+ },
44
+ {
45
+ type: "string",
46
+ name: "contentURI",
47
+ },
48
+ {
49
+ type: "address",
50
+ name: "referenceModule",
51
+ },
52
+ {
53
+ type: "address",
54
+ name: "__DEPRECATED__collectModule",
55
+ },
56
+ {
57
+ type: "address",
58
+ name: "__DEPRECATED__collectNFT",
59
+ },
60
+ {
61
+ type: "uint8",
62
+ name: "pubType",
63
+ },
64
+ {
65
+ type: "uint256",
66
+ name: "rootProfileId",
67
+ },
68
+ {
69
+ type: "uint256",
70
+ name: "rootPubId",
71
+ },
72
+ ],
73
+ },
74
+ ] as const;
75
+
76
+ /**
77
+ * Checks if the `getPublication` method is supported by the given contract.
78
+ * @param contract The ThirdwebContract.
79
+ * @returns A promise that resolves to a boolean indicating if the `getPublication` method is supported.
80
+ * @extension LENS
81
+ * @example
82
+ * ```ts
83
+ * import { isGetPublicationSupported } from "thirdweb/extensions/lens";
84
+ *
85
+ * const supported = await isGetPublicationSupported(contract);
86
+ * ```
87
+ */
88
+ export async function isGetPublicationSupported(
89
+ contract: ThirdwebContract<any>,
90
+ ) {
91
+ return detectMethod({
92
+ contract,
93
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
94
+ });
95
+ }
96
+
97
+ /**
98
+ * Encodes the parameters for the "getPublication" function.
99
+ * @param options - The options for the getPublication function.
100
+ * @returns The encoded ABI parameters.
101
+ * @extension LENS
102
+ * @example
103
+ * ```ts
104
+ * import { encodeGetPublicationParams } "thirdweb/extensions/lens";
105
+ * const result = encodeGetPublicationParams({
106
+ * profileId: ...,
107
+ * pubId: ...,
108
+ * });
109
+ * ```
110
+ */
111
+ export function encodeGetPublicationParams(options: GetPublicationParams) {
112
+ return encodeAbiParameters(FN_INPUTS, [options.profileId, options.pubId]);
113
+ }
114
+
115
+ /**
116
+ * Encodes the "getPublication" function into a Hex string with its parameters.
117
+ * @param options - The options for the getPublication function.
118
+ * @returns The encoded hexadecimal string.
119
+ * @extension LENS
120
+ * @example
121
+ * ```ts
122
+ * import { encodeGetPublication } "thirdweb/extensions/lens";
123
+ * const result = encodeGetPublication({
124
+ * profileId: ...,
125
+ * pubId: ...,
126
+ * });
127
+ * ```
128
+ */
129
+ export function encodeGetPublication(options: GetPublicationParams) {
130
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
131
+ // we can do this because we know the specific formats of the values
132
+ return (FN_SELECTOR +
133
+ encodeGetPublicationParams(options).slice(
134
+ 2,
135
+ )) as `${typeof FN_SELECTOR}${string}`;
136
+ }
137
+
138
+ /**
139
+ * Decodes the result of the getPublication function call.
140
+ * @param result - The hexadecimal result to decode.
141
+ * @returns The decoded result as per the FN_OUTPUTS definition.
142
+ * @extension LENS
143
+ * @example
144
+ * ```ts
145
+ * import { decodeGetPublicationResult } from "thirdweb/extensions/lens";
146
+ * const result = decodeGetPublicationResult("...");
147
+ * ```
148
+ */
149
+ export function decodeGetPublicationResult(result: Hex) {
150
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
151
+ }
152
+
153
+ /**
154
+ * Calls the "getPublication" function on the contract.
155
+ * @param options - The options for the getPublication function.
156
+ * @returns The parsed result of the function call.
157
+ * @extension LENS
158
+ * @example
159
+ * ```ts
160
+ * import { getPublication } from "thirdweb/extensions/lens";
161
+ *
162
+ * const result = await getPublication({
163
+ * contract,
164
+ * profileId: ...,
165
+ * pubId: ...,
166
+ * });
167
+ *
168
+ * ```
169
+ */
170
+ export async function getPublication(
171
+ options: BaseTransactionOptions<GetPublicationParams>,
172
+ ) {
173
+ return readContract({
174
+ contract: options.contract,
175
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
176
+ params: [options.profileId, options.pubId],
177
+ });
178
+ }
@@ -0,0 +1,129 @@
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 "mintTimestampOf" function.
12
+ */
13
+ export type MintTimestampOfParams = {
14
+ tokenId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "tokenId" }>;
15
+ };
16
+
17
+ export const FN_SELECTOR = "0x50ddf35c" as const;
18
+ const FN_INPUTS = [
19
+ {
20
+ type: "uint256",
21
+ name: "tokenId",
22
+ },
23
+ ] as const;
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "uint256",
27
+ },
28
+ ] as const;
29
+
30
+ /**
31
+ * Checks if the `mintTimestampOf` method is supported by the given contract.
32
+ * @param contract The ThirdwebContract.
33
+ * @returns A promise that resolves to a boolean indicating if the `mintTimestampOf` method is supported.
34
+ * @extension LENS
35
+ * @example
36
+ * ```ts
37
+ * import { isMintTimestampOfSupported } from "thirdweb/extensions/lens";
38
+ *
39
+ * const supported = await isMintTimestampOfSupported(contract);
40
+ * ```
41
+ */
42
+ export async function isMintTimestampOfSupported(
43
+ contract: ThirdwebContract<any>,
44
+ ) {
45
+ return detectMethod({
46
+ contract,
47
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
48
+ });
49
+ }
50
+
51
+ /**
52
+ * Encodes the parameters for the "mintTimestampOf" function.
53
+ * @param options - The options for the mintTimestampOf function.
54
+ * @returns The encoded ABI parameters.
55
+ * @extension LENS
56
+ * @example
57
+ * ```ts
58
+ * import { encodeMintTimestampOfParams } "thirdweb/extensions/lens";
59
+ * const result = encodeMintTimestampOfParams({
60
+ * tokenId: ...,
61
+ * });
62
+ * ```
63
+ */
64
+ export function encodeMintTimestampOfParams(options: MintTimestampOfParams) {
65
+ return encodeAbiParameters(FN_INPUTS, [options.tokenId]);
66
+ }
67
+
68
+ /**
69
+ * Encodes the "mintTimestampOf" function into a Hex string with its parameters.
70
+ * @param options - The options for the mintTimestampOf function.
71
+ * @returns The encoded hexadecimal string.
72
+ * @extension LENS
73
+ * @example
74
+ * ```ts
75
+ * import { encodeMintTimestampOf } "thirdweb/extensions/lens";
76
+ * const result = encodeMintTimestampOf({
77
+ * tokenId: ...,
78
+ * });
79
+ * ```
80
+ */
81
+ export function encodeMintTimestampOf(options: MintTimestampOfParams) {
82
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
83
+ // we can do this because we know the specific formats of the values
84
+ return (FN_SELECTOR +
85
+ encodeMintTimestampOfParams(options).slice(
86
+ 2,
87
+ )) as `${typeof FN_SELECTOR}${string}`;
88
+ }
89
+
90
+ /**
91
+ * Decodes the result of the mintTimestampOf function call.
92
+ * @param result - The hexadecimal result to decode.
93
+ * @returns The decoded result as per the FN_OUTPUTS definition.
94
+ * @extension LENS
95
+ * @example
96
+ * ```ts
97
+ * import { decodeMintTimestampOfResult } from "thirdweb/extensions/lens";
98
+ * const result = decodeMintTimestampOfResult("...");
99
+ * ```
100
+ */
101
+ export function decodeMintTimestampOfResult(result: Hex) {
102
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
103
+ }
104
+
105
+ /**
106
+ * Calls the "mintTimestampOf" function on the contract.
107
+ * @param options - The options for the mintTimestampOf function.
108
+ * @returns The parsed result of the function call.
109
+ * @extension LENS
110
+ * @example
111
+ * ```ts
112
+ * import { mintTimestampOf } from "thirdweb/extensions/lens";
113
+ *
114
+ * const result = await mintTimestampOf({
115
+ * contract,
116
+ * tokenId: ...,
117
+ * });
118
+ *
119
+ * ```
120
+ */
121
+ export async function mintTimestampOf(
122
+ options: BaseTransactionOptions<MintTimestampOfParams>,
123
+ ) {
124
+ return readContract({
125
+ contract: options.contract,
126
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
127
+ params: [options.tokenId],
128
+ });
129
+ }
@@ -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 "nonces" function.
12
+ */
13
+ export type NoncesParams = {
14
+ signer: AbiParameterToPrimitiveType<{ type: "address"; name: "signer" }>;
15
+ };
16
+
17
+ export const FN_SELECTOR = "0x7ecebe00" as const;
18
+ const FN_INPUTS = [
19
+ {
20
+ type: "address",
21
+ name: "signer",
22
+ },
23
+ ] as const;
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "uint256",
27
+ },
28
+ ] as const;
29
+
30
+ /**
31
+ * Checks if the `nonces` method is supported by the given contract.
32
+ * @param contract The ThirdwebContract.
33
+ * @returns A promise that resolves to a boolean indicating if the `nonces` method is supported.
34
+ * @extension LENS
35
+ * @example
36
+ * ```ts
37
+ * import { isNoncesSupported } from "thirdweb/extensions/lens";
38
+ *
39
+ * const supported = await isNoncesSupported(contract);
40
+ * ```
41
+ */
42
+ export async function isNoncesSupported(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 "nonces" function.
51
+ * @param options - The options for the nonces function.
52
+ * @returns The encoded ABI parameters.
53
+ * @extension LENS
54
+ * @example
55
+ * ```ts
56
+ * import { encodeNoncesParams } "thirdweb/extensions/lens";
57
+ * const result = encodeNoncesParams({
58
+ * signer: ...,
59
+ * });
60
+ * ```
61
+ */
62
+ export function encodeNoncesParams(options: NoncesParams) {
63
+ return encodeAbiParameters(FN_INPUTS, [options.signer]);
64
+ }
65
+
66
+ /**
67
+ * Encodes the "nonces" function into a Hex string with its parameters.
68
+ * @param options - The options for the nonces function.
69
+ * @returns The encoded hexadecimal string.
70
+ * @extension LENS
71
+ * @example
72
+ * ```ts
73
+ * import { encodeNonces } "thirdweb/extensions/lens";
74
+ * const result = encodeNonces({
75
+ * signer: ...,
76
+ * });
77
+ * ```
78
+ */
79
+ export function encodeNonces(options: NoncesParams) {
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
+ encodeNoncesParams(options).slice(2)) as `${typeof FN_SELECTOR}${string}`;
84
+ }
85
+
86
+ /**
87
+ * Decodes the result of the nonces 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 { decodeNoncesResult } from "thirdweb/extensions/lens";
94
+ * const result = decodeNoncesResult("...");
95
+ * ```
96
+ */
97
+ export function decodeNoncesResult(result: Hex) {
98
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
99
+ }
100
+
101
+ /**
102
+ * Calls the "nonces" function on the contract.
103
+ * @param options - The options for the nonces function.
104
+ * @returns The parsed result of the function call.
105
+ * @extension LENS
106
+ * @example
107
+ * ```ts
108
+ * import { nonces } from "thirdweb/extensions/lens";
109
+ *
110
+ * const result = await nonces({
111
+ * contract,
112
+ * signer: ...,
113
+ * });
114
+ *
115
+ * ```
116
+ */
117
+ export async function nonces(options: BaseTransactionOptions<NoncesParams>) {
118
+ return readContract({
119
+ contract: options.contract,
120
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
121
+ params: [options.signer],
122
+ });
123
+ }
@@ -0,0 +1,137 @@
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 "tokenDataOf" function.
12
+ */
13
+ export type TokenDataOfParams = {
14
+ tokenId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "tokenId" }>;
15
+ };
16
+
17
+ export const FN_SELECTOR = "0xc0da9bcd" as const;
18
+ const FN_INPUTS = [
19
+ {
20
+ type: "uint256",
21
+ name: "tokenId",
22
+ },
23
+ ] as const;
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "tuple",
27
+ components: [
28
+ {
29
+ type: "address",
30
+ name: "owner",
31
+ },
32
+ {
33
+ type: "uint96",
34
+ name: "mintTimestamp",
35
+ },
36
+ ],
37
+ },
38
+ ] as const;
39
+
40
+ /**
41
+ * Checks if the `tokenDataOf` method is supported by the given contract.
42
+ * @param contract The ThirdwebContract.
43
+ * @returns A promise that resolves to a boolean indicating if the `tokenDataOf` method is supported.
44
+ * @extension LENS
45
+ * @example
46
+ * ```ts
47
+ * import { isTokenDataOfSupported } from "thirdweb/extensions/lens";
48
+ *
49
+ * const supported = await isTokenDataOfSupported(contract);
50
+ * ```
51
+ */
52
+ export async function isTokenDataOfSupported(contract: ThirdwebContract<any>) {
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 "tokenDataOf" function.
61
+ * @param options - The options for the tokenDataOf function.
62
+ * @returns The encoded ABI parameters.
63
+ * @extension LENS
64
+ * @example
65
+ * ```ts
66
+ * import { encodeTokenDataOfParams } "thirdweb/extensions/lens";
67
+ * const result = encodeTokenDataOfParams({
68
+ * tokenId: ...,
69
+ * });
70
+ * ```
71
+ */
72
+ export function encodeTokenDataOfParams(options: TokenDataOfParams) {
73
+ return encodeAbiParameters(FN_INPUTS, [options.tokenId]);
74
+ }
75
+
76
+ /**
77
+ * Encodes the "tokenDataOf" function into a Hex string with its parameters.
78
+ * @param options - The options for the tokenDataOf function.
79
+ * @returns The encoded hexadecimal string.
80
+ * @extension LENS
81
+ * @example
82
+ * ```ts
83
+ * import { encodeTokenDataOf } "thirdweb/extensions/lens";
84
+ * const result = encodeTokenDataOf({
85
+ * tokenId: ...,
86
+ * });
87
+ * ```
88
+ */
89
+ export function encodeTokenDataOf(options: TokenDataOfParams) {
90
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
91
+ // we can do this because we know the specific formats of the values
92
+ return (FN_SELECTOR +
93
+ encodeTokenDataOfParams(options).slice(
94
+ 2,
95
+ )) as `${typeof FN_SELECTOR}${string}`;
96
+ }
97
+
98
+ /**
99
+ * Decodes the result of the tokenDataOf function call.
100
+ * @param result - The hexadecimal result to decode.
101
+ * @returns The decoded result as per the FN_OUTPUTS definition.
102
+ * @extension LENS
103
+ * @example
104
+ * ```ts
105
+ * import { decodeTokenDataOfResult } from "thirdweb/extensions/lens";
106
+ * const result = decodeTokenDataOfResult("...");
107
+ * ```
108
+ */
109
+ export function decodeTokenDataOfResult(result: Hex) {
110
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
111
+ }
112
+
113
+ /**
114
+ * Calls the "tokenDataOf" function on the contract.
115
+ * @param options - The options for the tokenDataOf function.
116
+ * @returns The parsed result of the function call.
117
+ * @extension LENS
118
+ * @example
119
+ * ```ts
120
+ * import { tokenDataOf } from "thirdweb/extensions/lens";
121
+ *
122
+ * const result = await tokenDataOf({
123
+ * contract,
124
+ * tokenId: ...,
125
+ * });
126
+ *
127
+ * ```
128
+ */
129
+ export async function tokenDataOf(
130
+ options: BaseTransactionOptions<TokenDataOfParams>,
131
+ ) {
132
+ return readContract({
133
+ contract: options.contract,
134
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
135
+ params: [options.tokenId],
136
+ });
137
+ }
@@ -0,0 +1,132 @@
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 "getModuleTypes" function.
12
+ */
13
+ export type GetModuleTypesParams = {
14
+ moduleAddress: AbiParameterToPrimitiveType<{
15
+ type: "address";
16
+ name: "moduleAddress";
17
+ }>;
18
+ };
19
+
20
+ export const FN_SELECTOR = "0xc5dcd896" as const;
21
+ const FN_INPUTS = [
22
+ {
23
+ type: "address",
24
+ name: "moduleAddress",
25
+ },
26
+ ] as const;
27
+ const FN_OUTPUTS = [
28
+ {
29
+ type: "uint256",
30
+ },
31
+ ] as const;
32
+
33
+ /**
34
+ * Checks if the `getModuleTypes` method is supported by the given contract.
35
+ * @param contract The ThirdwebContract.
36
+ * @returns A promise that resolves to a boolean indicating if the `getModuleTypes` method is supported.
37
+ * @extension LENS
38
+ * @example
39
+ * ```ts
40
+ * import { isGetModuleTypesSupported } from "thirdweb/extensions/lens";
41
+ *
42
+ * const supported = await isGetModuleTypesSupported(contract);
43
+ * ```
44
+ */
45
+ export async function isGetModuleTypesSupported(
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 "getModuleTypes" function.
56
+ * @param options - The options for the getModuleTypes function.
57
+ * @returns The encoded ABI parameters.
58
+ * @extension LENS
59
+ * @example
60
+ * ```ts
61
+ * import { encodeGetModuleTypesParams } "thirdweb/extensions/lens";
62
+ * const result = encodeGetModuleTypesParams({
63
+ * moduleAddress: ...,
64
+ * });
65
+ * ```
66
+ */
67
+ export function encodeGetModuleTypesParams(options: GetModuleTypesParams) {
68
+ return encodeAbiParameters(FN_INPUTS, [options.moduleAddress]);
69
+ }
70
+
71
+ /**
72
+ * Encodes the "getModuleTypes" function into a Hex string with its parameters.
73
+ * @param options - The options for the getModuleTypes function.
74
+ * @returns The encoded hexadecimal string.
75
+ * @extension LENS
76
+ * @example
77
+ * ```ts
78
+ * import { encodeGetModuleTypes } "thirdweb/extensions/lens";
79
+ * const result = encodeGetModuleTypes({
80
+ * moduleAddress: ...,
81
+ * });
82
+ * ```
83
+ */
84
+ export function encodeGetModuleTypes(options: GetModuleTypesParams) {
85
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
86
+ // we can do this because we know the specific formats of the values
87
+ return (FN_SELECTOR +
88
+ encodeGetModuleTypesParams(options).slice(
89
+ 2,
90
+ )) as `${typeof FN_SELECTOR}${string}`;
91
+ }
92
+
93
+ /**
94
+ * Decodes the result of the getModuleTypes function call.
95
+ * @param result - The hexadecimal result to decode.
96
+ * @returns The decoded result as per the FN_OUTPUTS definition.
97
+ * @extension LENS
98
+ * @example
99
+ * ```ts
100
+ * import { decodeGetModuleTypesResult } from "thirdweb/extensions/lens";
101
+ * const result = decodeGetModuleTypesResult("...");
102
+ * ```
103
+ */
104
+ export function decodeGetModuleTypesResult(result: Hex) {
105
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
106
+ }
107
+
108
+ /**
109
+ * Calls the "getModuleTypes" function on the contract.
110
+ * @param options - The options for the getModuleTypes function.
111
+ * @returns The parsed result of the function call.
112
+ * @extension LENS
113
+ * @example
114
+ * ```ts
115
+ * import { getModuleTypes } from "thirdweb/extensions/lens";
116
+ *
117
+ * const result = await getModuleTypes({
118
+ * contract,
119
+ * moduleAddress: ...,
120
+ * });
121
+ *
122
+ * ```
123
+ */
124
+ export async function getModuleTypes(
125
+ options: BaseTransactionOptions<GetModuleTypesParams>,
126
+ ) {
127
+ return readContract({
128
+ contract: options.contract,
129
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
130
+ params: [options.moduleAddress],
131
+ });
132
+ }