thirdweb 5.29.1-nightly-1b15e7b1f2714200e522f3ce8dbe8f91ee987c6e-20240614065154 → 5.29.2-nightly-7768067bf4f571a8c8ee6b646a58e2fc5f6bd052-20240614163812

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 (267) hide show
  1. package/dist/cjs/contract/actions/resolve-abi.js +19 -1
  2. package/dist/cjs/contract/actions/resolve-abi.js.map +1 -1
  3. package/dist/cjs/exports/contract.js +6 -1
  4. package/dist/cjs/exports/contract.js.map +1 -1
  5. package/dist/cjs/exports/extensions/modular.js +56 -0
  6. package/dist/cjs/exports/extensions/modular.js.map +1 -0
  7. package/dist/cjs/extensions/modular/ModularCore/write/installPublishedExtension.js +27 -0
  8. package/dist/cjs/extensions/modular/ModularCore/write/installPublishedExtension.js.map +1 -0
  9. package/dist/cjs/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js +25 -0
  10. package/dist/cjs/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js.map +1 -0
  11. package/dist/cjs/extensions/modular/ModularCore/write/uninstallPublishedExtension.js +26 -0
  12. package/dist/cjs/extensions/modular/ModularCore/write/uninstallPublishedExtension.js.map +1 -0
  13. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js +131 -0
  14. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js.map +1 -0
  15. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js +85 -0
  16. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  17. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/supportsInterface.js +118 -0
  18. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/supportsInterface.js.map +1 -0
  19. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/installExtension.js +128 -0
  20. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/installExtension.js.map +1 -0
  21. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js +128 -0
  22. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js.map +1 -0
  23. package/dist/cjs/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js +119 -0
  24. package/dist/cjs/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js.map +1 -0
  25. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js +28 -0
  26. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js.map +1 -0
  27. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js +28 -0
  28. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js.map +1 -0
  29. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js +32 -0
  30. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js.map +1 -0
  31. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js +32 -0
  32. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js.map +1 -0
  33. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js +33 -0
  34. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js.map +1 -0
  35. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js +33 -0
  36. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js.map +1 -0
  37. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js +131 -0
  38. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js.map +1 -0
  39. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js +85 -0
  40. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  41. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js +126 -0
  42. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js.map +1 -0
  43. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js +126 -0
  44. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js.map +1 -0
  45. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/owner.js +73 -0
  46. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/owner.js.map +1 -0
  47. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js +118 -0
  48. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js.map +1 -0
  49. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/rolesOf.js +118 -0
  50. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/rolesOf.js.map +1 -0
  51. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/supportsInterface.js +118 -0
  52. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/supportsInterface.js.map +1 -0
  53. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js +51 -0
  54. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js.map +1 -0
  55. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js +117 -0
  56. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js.map +1 -0
  57. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/grantRoles.js +125 -0
  58. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/grantRoles.js.map +1 -0
  59. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/installExtension.js +125 -0
  60. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/installExtension.js.map +1 -0
  61. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js +51 -0
  62. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js.map +1 -0
  63. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceRoles.js +117 -0
  64. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceRoles.js.map +1 -0
  65. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js +51 -0
  66. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js.map +1 -0
  67. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/revokeRoles.js +125 -0
  68. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/revokeRoles.js.map +1 -0
  69. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/transferOwnership.js +117 -0
  70. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/transferOwnership.js.map +1 -0
  71. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js +125 -0
  72. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js.map +1 -0
  73. package/dist/cjs/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js +119 -0
  74. package/dist/cjs/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js.map +1 -0
  75. package/dist/cjs/version.js +1 -1
  76. package/dist/esm/contract/actions/resolve-abi.js +19 -1
  77. package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
  78. package/dist/esm/exports/contract.js +2 -0
  79. package/dist/esm/exports/contract.js.map +1 -1
  80. package/dist/esm/exports/extensions/modular.js +28 -0
  81. package/dist/esm/exports/extensions/modular.js.map +1 -0
  82. package/dist/esm/extensions/modular/ModularCore/write/installPublishedExtension.js +23 -0
  83. package/dist/esm/extensions/modular/ModularCore/write/installPublishedExtension.js.map +1 -0
  84. package/dist/esm/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js +21 -0
  85. package/dist/esm/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js.map +1 -0
  86. package/dist/esm/extensions/modular/ModularCore/write/uninstallPublishedExtension.js +22 -0
  87. package/dist/esm/extensions/modular/ModularCore/write/uninstallPublishedExtension.js.map +1 -0
  88. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js +125 -0
  89. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js.map +1 -0
  90. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js +79 -0
  91. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  92. package/dist/esm/extensions/modular/__generated__/IModularCore/read/supportsInterface.js +110 -0
  93. package/dist/esm/extensions/modular/__generated__/IModularCore/read/supportsInterface.js.map +1 -0
  94. package/dist/esm/extensions/modular/__generated__/IModularCore/write/installExtension.js +121 -0
  95. package/dist/esm/extensions/modular/__generated__/IModularCore/write/installExtension.js.map +1 -0
  96. package/dist/esm/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js +121 -0
  97. package/dist/esm/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js.map +1 -0
  98. package/dist/esm/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js +113 -0
  99. package/dist/esm/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js.map +1 -0
  100. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js +24 -0
  101. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js.map +1 -0
  102. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js +24 -0
  103. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js.map +1 -0
  104. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js +28 -0
  105. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js.map +1 -0
  106. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js +28 -0
  107. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js.map +1 -0
  108. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js +29 -0
  109. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js.map +1 -0
  110. package/dist/esm/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js +29 -0
  111. package/dist/esm/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js.map +1 -0
  112. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js +125 -0
  113. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js.map +1 -0
  114. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js +79 -0
  115. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  116. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js +118 -0
  117. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js.map +1 -0
  118. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js +118 -0
  119. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js.map +1 -0
  120. package/dist/esm/extensions/modular/__generated__/ModularCore/read/owner.js +67 -0
  121. package/dist/esm/extensions/modular/__generated__/ModularCore/read/owner.js.map +1 -0
  122. package/dist/esm/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js +110 -0
  123. package/dist/esm/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js.map +1 -0
  124. package/dist/esm/extensions/modular/__generated__/ModularCore/read/rolesOf.js +110 -0
  125. package/dist/esm/extensions/modular/__generated__/ModularCore/read/rolesOf.js.map +1 -0
  126. package/dist/esm/extensions/modular/__generated__/ModularCore/read/supportsInterface.js +110 -0
  127. package/dist/esm/extensions/modular/__generated__/ModularCore/read/supportsInterface.js.map +1 -0
  128. package/dist/esm/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js +46 -0
  129. package/dist/esm/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js.map +1 -0
  130. package/dist/esm/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js +110 -0
  131. package/dist/esm/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js.map +1 -0
  132. package/dist/esm/extensions/modular/__generated__/ModularCore/write/grantRoles.js +118 -0
  133. package/dist/esm/extensions/modular/__generated__/ModularCore/write/grantRoles.js.map +1 -0
  134. package/dist/esm/extensions/modular/__generated__/ModularCore/write/installExtension.js +118 -0
  135. package/dist/esm/extensions/modular/__generated__/ModularCore/write/installExtension.js.map +1 -0
  136. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js +46 -0
  137. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js.map +1 -0
  138. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceRoles.js +110 -0
  139. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceRoles.js.map +1 -0
  140. package/dist/esm/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js +46 -0
  141. package/dist/esm/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js.map +1 -0
  142. package/dist/esm/extensions/modular/__generated__/ModularCore/write/revokeRoles.js +118 -0
  143. package/dist/esm/extensions/modular/__generated__/ModularCore/write/revokeRoles.js.map +1 -0
  144. package/dist/esm/extensions/modular/__generated__/ModularCore/write/transferOwnership.js +110 -0
  145. package/dist/esm/extensions/modular/__generated__/ModularCore/write/transferOwnership.js.map +1 -0
  146. package/dist/esm/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js +118 -0
  147. package/dist/esm/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js.map +1 -0
  148. package/dist/esm/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js +113 -0
  149. package/dist/esm/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js.map +1 -0
  150. package/dist/esm/version.js +1 -1
  151. package/dist/types/contract/actions/resolve-abi.d.ts.map +1 -1
  152. package/dist/types/exports/contract.d.ts +1 -0
  153. package/dist/types/exports/contract.d.ts.map +1 -1
  154. package/dist/types/exports/extensions/modular.d.ts +28 -0
  155. package/dist/types/exports/extensions/modular.d.ts.map +1 -0
  156. package/dist/types/extensions/modular/ModularCore/write/installPublishedExtension.d.ts +17 -0
  157. package/dist/types/extensions/modular/ModularCore/write/installPublishedExtension.d.ts.map +1 -0
  158. package/dist/types/extensions/modular/ModularCore/write/uninstallExtensionByProxy.d.ts +12 -0
  159. package/dist/types/extensions/modular/ModularCore/write/uninstallExtensionByProxy.d.ts.map +1 -0
  160. package/dist/types/extensions/modular/ModularCore/write/uninstallPublishedExtension.d.ts +15 -0
  161. package/dist/types/extensions/modular/ModularCore/write/uninstallPublishedExtension.d.ts.map +1 -0
  162. package/dist/types/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.d.ts +74 -0
  163. package/dist/types/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.d.ts.map +1 -0
  164. package/dist/types/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.d.ts +52 -0
  165. package/dist/types/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.d.ts.map +1 -0
  166. package/dist/types/extensions/modular/__generated__/IModularCore/read/supportsInterface.d.ts +86 -0
  167. package/dist/types/extensions/modular/__generated__/IModularCore/read/supportsInterface.d.ts.map +1 -0
  168. package/dist/types/extensions/modular/__generated__/IModularCore/write/installExtension.d.ts +89 -0
  169. package/dist/types/extensions/modular/__generated__/IModularCore/write/installExtension.d.ts.map +1 -0
  170. package/dist/types/extensions/modular/__generated__/IModularCore/write/uninstallExtension.d.ts +89 -0
  171. package/dist/types/extensions/modular/__generated__/IModularCore/write/uninstallExtension.d.ts.map +1 -0
  172. package/dist/types/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.d.ts +68 -0
  173. package/dist/types/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.d.ts.map +1 -0
  174. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.d.ts +32 -0
  175. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.d.ts.map +1 -0
  176. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.d.ts +32 -0
  177. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.d.ts.map +1 -0
  178. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.d.ts +42 -0
  179. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.d.ts.map +1 -0
  180. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.d.ts +42 -0
  181. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.d.ts.map +1 -0
  182. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.d.ts +53 -0
  183. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.d.ts.map +1 -0
  184. package/dist/types/extensions/modular/__generated__/ModularCore/events/RolesUpdated.d.ts +53 -0
  185. package/dist/types/extensions/modular/__generated__/ModularCore/events/RolesUpdated.d.ts.map +1 -0
  186. package/dist/types/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.d.ts +74 -0
  187. package/dist/types/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.d.ts.map +1 -0
  188. package/dist/types/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.d.ts +52 -0
  189. package/dist/types/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.d.ts.map +1 -0
  190. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAllRoles.d.ts +94 -0
  191. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAllRoles.d.ts.map +1 -0
  192. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAnyRole.d.ts +94 -0
  193. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAnyRole.d.ts.map +1 -0
  194. package/dist/types/extensions/modular/__generated__/ModularCore/read/owner.d.ts +46 -0
  195. package/dist/types/extensions/modular/__generated__/ModularCore/read/owner.d.ts.map +1 -0
  196. package/dist/types/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.d.ts +86 -0
  197. package/dist/types/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.d.ts.map +1 -0
  198. package/dist/types/extensions/modular/__generated__/ModularCore/read/rolesOf.d.ts +86 -0
  199. package/dist/types/extensions/modular/__generated__/ModularCore/read/rolesOf.d.ts.map +1 -0
  200. package/dist/types/extensions/modular/__generated__/ModularCore/read/supportsInterface.d.ts +86 -0
  201. package/dist/types/extensions/modular/__generated__/ModularCore/read/supportsInterface.d.ts.map +1 -0
  202. package/dist/types/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.d.ts +34 -0
  203. package/dist/types/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.d.ts.map +1 -0
  204. package/dist/types/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.d.ts +81 -0
  205. package/dist/types/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.d.ts.map +1 -0
  206. package/dist/types/extensions/modular/__generated__/ModularCore/write/grantRoles.d.ts +89 -0
  207. package/dist/types/extensions/modular/__generated__/ModularCore/write/grantRoles.d.ts.map +1 -0
  208. package/dist/types/extensions/modular/__generated__/ModularCore/write/installExtension.d.ts +89 -0
  209. package/dist/types/extensions/modular/__generated__/ModularCore/write/installExtension.d.ts.map +1 -0
  210. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceOwnership.d.ts +34 -0
  211. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceOwnership.d.ts.map +1 -0
  212. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceRoles.d.ts +81 -0
  213. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceRoles.d.ts.map +1 -0
  214. package/dist/types/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.d.ts +34 -0
  215. package/dist/types/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.d.ts.map +1 -0
  216. package/dist/types/extensions/modular/__generated__/ModularCore/write/revokeRoles.d.ts +89 -0
  217. package/dist/types/extensions/modular/__generated__/ModularCore/write/revokeRoles.d.ts.map +1 -0
  218. package/dist/types/extensions/modular/__generated__/ModularCore/write/transferOwnership.d.ts +81 -0
  219. package/dist/types/extensions/modular/__generated__/ModularCore/write/transferOwnership.d.ts.map +1 -0
  220. package/dist/types/extensions/modular/__generated__/ModularCore/write/uninstallExtension.d.ts +89 -0
  221. package/dist/types/extensions/modular/__generated__/ModularCore/write/uninstallExtension.d.ts.map +1 -0
  222. package/dist/types/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.d.ts +68 -0
  223. package/dist/types/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.d.ts.map +1 -0
  224. package/dist/types/utils/any-evm/deploy-metadata.d.ts +4 -1
  225. package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
  226. package/dist/types/version.d.ts +1 -1
  227. package/package.json +1 -1
  228. package/src/contract/actions/resolve-abi.ts +21 -0
  229. package/src/exports/contract.ts +7 -0
  230. package/src/exports/extensions/modular.ts +78 -0
  231. package/src/extensions/modular/ModularCore/write/installPublishedExtension.ts +51 -0
  232. package/src/extensions/modular/ModularCore/write/uninstallExtensionByProxy.ts +40 -0
  233. package/src/extensions/modular/ModularCore/write/uninstallPublishedExtension.ts +47 -0
  234. package/src/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.ts +134 -0
  235. package/src/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.ts +90 -0
  236. package/src/extensions/modular/__generated__/IModularCore/read/supportsInterface.ts +138 -0
  237. package/src/extensions/modular/__generated__/IModularCore/write/installExtension.ts +160 -0
  238. package/src/extensions/modular/__generated__/IModularCore/write/uninstallExtension.ts +162 -0
  239. package/src/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.ts +122 -0
  240. package/src/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.ts +25 -0
  241. package/src/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.ts +25 -0
  242. package/src/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.ts +43 -0
  243. package/src/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.ts +43 -0
  244. package/src/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.ts +51 -0
  245. package/src/extensions/modular/__generated__/ModularCore/events/RolesUpdated.ts +49 -0
  246. package/src/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.ts +134 -0
  247. package/src/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.ts +90 -0
  248. package/src/extensions/modular/__generated__/ModularCore/read/hasAllRoles.ts +147 -0
  249. package/src/extensions/modular/__generated__/ModularCore/read/hasAnyRole.ts +147 -0
  250. package/src/extensions/modular/__generated__/ModularCore/read/owner.ts +74 -0
  251. package/src/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.ts +140 -0
  252. package/src/extensions/modular/__generated__/ModularCore/read/rolesOf.ts +130 -0
  253. package/src/extensions/modular/__generated__/ModularCore/read/supportsInterface.ts +138 -0
  254. package/src/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.ts +53 -0
  255. package/src/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.ts +148 -0
  256. package/src/extensions/modular/__generated__/ModularCore/write/grantRoles.ts +155 -0
  257. package/src/extensions/modular/__generated__/ModularCore/write/installExtension.ts +157 -0
  258. package/src/extensions/modular/__generated__/ModularCore/write/renounceOwnership.ts +53 -0
  259. package/src/extensions/modular/__generated__/ModularCore/write/renounceRoles.ts +144 -0
  260. package/src/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.ts +53 -0
  261. package/src/extensions/modular/__generated__/ModularCore/write/revokeRoles.ts +155 -0
  262. package/src/extensions/modular/__generated__/ModularCore/write/transferOwnership.ts +146 -0
  263. package/src/extensions/modular/__generated__/ModularCore/write/uninstallExtension.ts +159 -0
  264. package/src/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.ts +122 -0
  265. package/src/extensions/prebuilts/deploy-modular-core.test.ts +158 -0
  266. package/src/utils/any-evm/deploy-metadata.ts +4 -1
  267. package/src/version.ts +1 -1
@@ -0,0 +1,89 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import type { BaseTransactionOptions, WithOverrides } from "../../../../../transaction/types.js";
3
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
4
+ /**
5
+ * Represents the parameters for the "uninstallExtension" function.
6
+ */
7
+ export type UninstallExtensionParams = WithOverrides<{
8
+ extension: AbiParameterToPrimitiveType<{
9
+ name: "_extension";
10
+ type: "address";
11
+ internalType: "address";
12
+ }>;
13
+ data: AbiParameterToPrimitiveType<{
14
+ name: "_data";
15
+ type: "bytes";
16
+ internalType: "bytes";
17
+ }>;
18
+ }>;
19
+ export declare const FN_SELECTOR: "0x42b7d0c8";
20
+ /**
21
+ * Checks if the `uninstallExtension` method is supported by the given contract.
22
+ * @param contract The ThirdwebContract.
23
+ * @returns A promise that resolves to a boolean indicating if the `uninstallExtension` method is supported.
24
+ * @extension MODULAR
25
+ * @example
26
+ * ```ts
27
+ * import { isUninstallExtensionSupported } from "thirdweb/extensions/modular";
28
+ *
29
+ * const supported = await isUninstallExtensionSupported(contract);
30
+ * ```
31
+ */
32
+ export declare function isUninstallExtensionSupported(contract: ThirdwebContract<any>): Promise<boolean>;
33
+ /**
34
+ * Encodes the parameters for the "uninstallExtension" function.
35
+ * @param options - The options for the uninstallExtension function.
36
+ * @returns The encoded ABI parameters.
37
+ * @extension MODULAR
38
+ * @example
39
+ * ```ts
40
+ * import { encodeUninstallExtensionParams } "thirdweb/extensions/modular";
41
+ * const result = encodeUninstallExtensionParams({
42
+ * extension: ...,
43
+ * data: ...,
44
+ * });
45
+ * ```
46
+ */
47
+ export declare function encodeUninstallExtensionParams(options: UninstallExtensionParams): `0x${string}`;
48
+ /**
49
+ * Encodes the "uninstallExtension" function into a Hex string with its parameters.
50
+ * @param options - The options for the uninstallExtension function.
51
+ * @returns The encoded hexadecimal string.
52
+ * @extension MODULAR
53
+ * @example
54
+ * ```ts
55
+ * import { encodeUninstallExtension } "thirdweb/extensions/modular";
56
+ * const result = encodeUninstallExtension({
57
+ * extension: ...,
58
+ * data: ...,
59
+ * });
60
+ * ```
61
+ */
62
+ export declare function encodeUninstallExtension(options: UninstallExtensionParams): `0x42b7d0c8${string}`;
63
+ /**
64
+ * Prepares a transaction to call the "uninstallExtension" function on the contract.
65
+ * @param options - The options for the "uninstallExtension" function.
66
+ * @returns A prepared transaction object.
67
+ * @extension MODULAR
68
+ * @example
69
+ * ```ts
70
+ * import { uninstallExtension } from "thirdweb/extensions/modular";
71
+ *
72
+ * const transaction = uninstallExtension({
73
+ * contract,
74
+ * extension: ...,
75
+ * data: ...,
76
+ * overrides: {
77
+ * ...
78
+ * }
79
+ * });
80
+ *
81
+ * // Send the transaction
82
+ * ...
83
+ *
84
+ * ```
85
+ */
86
+ export declare function uninstallExtension(options: BaseTransactionOptions<UninstallExtensionParams | {
87
+ asyncParams: () => Promise<UninstallExtensionParams>;
88
+ }>): import("../../../../../transaction/prepare-transaction.js").PreparedTransaction<any, import("abitype").AbiFunction, import("../../../../../transaction/prepare-transaction.js").PrepareTransactionOptions>;
89
+ //# sourceMappingURL=uninstallExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstallExtension.d.ts","sourceRoot":"","sources":["../../../../../../../src/extensions/modular/__generated__/ModularCore/write/uninstallExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,SAAS,EAAE,2BAA2B,CAAC;QACrC,IAAI,EAAE,YAAY,CAAC;QACnB,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,EAAE,SAAS,CAAC;KACzB,CAAC,CAAC;IACH,IAAI,EAAE,2BAA2B,CAAC;QAChC,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;QACd,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH,eAAO,MAAM,WAAW,cAAwB,CAAC;AAejD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,oBAMhC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,wBAAwB,iBAGlC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,yBAOzE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,sBAAsB,CAC3B,wBAAwB,GACxB;IACE,WAAW,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtD,CACJ,8MAuBF"}
@@ -0,0 +1,68 @@
1
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
2
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
3
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
4
+ export declare const FN_SELECTOR: "0x7c173ecc";
5
+ /**
6
+ * Checks if the `getExtensionConfig` method is supported by the given contract.
7
+ * @param contract The ThirdwebContract.
8
+ * @returns A promise that resolves to a boolean indicating if the `getExtensionConfig` method is supported.
9
+ * @extension MODULAR
10
+ * @example
11
+ * ```ts
12
+ * import { isGetExtensionConfigSupported } from "thirdweb/extensions/modular";
13
+ *
14
+ * const supported = await isGetExtensionConfigSupported(contract);
15
+ * ```
16
+ */
17
+ export declare function isGetExtensionConfigSupported(contract: ThirdwebContract<any>): Promise<boolean>;
18
+ /**
19
+ * Decodes the result of the getExtensionConfig function call.
20
+ * @param result - The hexadecimal result to decode.
21
+ * @returns The decoded result as per the FN_OUTPUTS definition.
22
+ * @extension MODULAR
23
+ * @example
24
+ * ```ts
25
+ * import { decodeGetExtensionConfigResult } from "thirdweb/extensions/modular";
26
+ * const result = decodeGetExtensionConfigResult("...");
27
+ * ```
28
+ */
29
+ export declare function decodeGetExtensionConfigResult(result: Hex): {
30
+ registerInstallationCallback: boolean;
31
+ requiredInterfaces: readonly `0x${string}`[];
32
+ supportedInterfaces: readonly `0x${string}`[];
33
+ callbackFunctions: readonly {
34
+ selector: `0x${string}`;
35
+ }[];
36
+ fallbackFunctions: readonly {
37
+ selector: `0x${string}`;
38
+ permissionBits: bigint;
39
+ }[];
40
+ };
41
+ /**
42
+ * Calls the "getExtensionConfig" function on the contract.
43
+ * @param options - The options for the getExtensionConfig function.
44
+ * @returns The parsed result of the function call.
45
+ * @extension MODULAR
46
+ * @example
47
+ * ```ts
48
+ * import { getExtensionConfig } from "thirdweb/extensions/modular";
49
+ *
50
+ * const result = await getExtensionConfig({
51
+ * contract,
52
+ * });
53
+ *
54
+ * ```
55
+ */
56
+ export declare function getExtensionConfig(options: BaseTransactionOptions): Promise<{
57
+ registerInstallationCallback: boolean;
58
+ requiredInterfaces: readonly `0x${string}`[];
59
+ supportedInterfaces: readonly `0x${string}`[];
60
+ callbackFunctions: readonly {
61
+ selector: `0x${string}`;
62
+ }[];
63
+ fallbackFunctions: readonly {
64
+ selector: `0x${string}`;
65
+ permissionBits: bigint;
66
+ }[];
67
+ }>;
68
+ //# sourceMappingURL=getExtensionConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExtensionConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAGlF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,eAAO,MAAM,WAAW,cAAwB,CAAC;AAwDjD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,oBAMhC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,GAAG;;;;;;;;;;;EAEzD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB;;;;;;;;;;;GAMvE"}
@@ -64,10 +64,13 @@ export type ExtendedMetadata = {
64
64
  }>;
65
65
  customFactoryAddresses: Record<string, string>;
66
66
  };
67
+ modularFactoryInput?: {
68
+ hooksParamName: string;
69
+ };
67
70
  factoryAddresses?: Record<string, string>;
68
71
  } | undefined;
69
72
  deployType?: "standard" | "autoFactory" | "customFactory";
70
- routerType?: "none" | "plugin" | "dynamic";
73
+ routerType?: "none" | "plugin" | "dynamic" | "modular";
71
74
  networksForDeployment?: {
72
75
  allNetworks?: boolean;
73
76
  networksEnabled?: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-metadata.d.ts","sourceRoot":"","sources":["../../../../src/utils/any-evm/deploy-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-metadata.d.ts","sourceRoot":"","sources":["../../../../src/utils/any-evm/deploy-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.29.1-nightly-1b15e7b1f2714200e522f3ce8dbe8f91ee987c6e-20240614065154";
1
+ export declare const version = "5.29.2-nightly-7768067bf4f571a8c8ee6b646a58e2fc5f6bd052-20240614163812";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.29.1-nightly-1b15e7b1f2714200e522f3ce8dbe8f91ee987c6e-20240614065154",
3
+ "version": "5.29.2-nightly-7768067bf4f571a8c8ee6b646a58e2fc5f6bd052-20240614163812",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -1,4 +1,5 @@
1
1
  import { type Abi, formatAbi, parseAbi } from "abitype";
2
+ import { getInstalledExtensions } from "../../extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js";
2
3
  import { download } from "../../storage/download.js";
3
4
  import { extractIPFSUri } from "../../utils/bytecode/extractIPFS.js";
4
5
  import { getClientFetch } from "../../utils/fetch.js";
@@ -284,12 +285,14 @@ export async function resolveCompositeAbi(
284
285
  rootAbi_,
285
286
  pluginPatternAddresses,
286
287
  baseRouterAddresses,
288
+ modularExtensionAddresses,
287
289
  diamondFacetAddresses,
288
290
  ] = await Promise.all([
289
291
  rootAbi ? rootAbi : resolveAbiFromBytecode(contract),
290
292
  // check these all at the same time
291
293
  resolvePluginPatternAddresses(contract),
292
294
  resolveBaseRouterAddresses(contract),
295
+ resolveModularExtensionAddresses(contract),
293
296
  resolveDiamondFacetAddresses(contract),
294
297
  ]);
295
298
 
@@ -297,6 +300,7 @@ export async function resolveCompositeAbi(
297
300
  ...new Set([
298
301
  ...pluginPatternAddresses,
299
302
  ...baseRouterAddresses,
303
+ ...modularExtensionAddresses,
300
304
  ...diamondFacetAddresses,
301
305
  ]),
302
306
  ];
@@ -358,6 +362,23 @@ async function resolveBaseRouterAddresses(
358
362
  return [];
359
363
  }
360
364
 
365
+ async function resolveModularExtensionAddresses(
366
+ contract: ThirdwebContract,
367
+ ): Promise<string[]> {
368
+ try {
369
+ const extensions = await getInstalledExtensions({ contract });
370
+ // if there are no plugins, return the root ABI
371
+ if (!extensions.length) {
372
+ return [];
373
+ }
374
+ // get all the plugin addresses
375
+ return [...new Set(extensions.map((item) => item.implementation))];
376
+ } catch {
377
+ // no-op, expected because not everything supports this
378
+ }
379
+ return [];
380
+ }
381
+
361
382
  async function resolveDiamondFacetAddresses(
362
383
  contract: ThirdwebContract,
363
384
  ): Promise<string[]> {
@@ -21,6 +21,13 @@ export {
21
21
  checkVerificationStatus,
22
22
  } from "../contract/verification/index.js";
23
23
 
24
+ // publisher
25
+ export {
26
+ fetchPublishedContract,
27
+ fetchPublishedContractMetadata,
28
+ fetchDeployBytecodeFromPublishedContractMetadata,
29
+ } from "../contract/deployment/publisher.js";
30
+
24
31
  // deployment - TODO: these end up looking more like extensions -> should they be?
25
32
  export {
26
33
  prepareDirectDeployTransaction,
@@ -0,0 +1,78 @@
1
+ /**
2
+ * READ
3
+ */
4
+ export {
5
+ getInstalledExtensions,
6
+ isGetInstalledExtensionsSupported,
7
+ } from "../../extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js";
8
+ export {
9
+ getSupportedCallbackFunctions,
10
+ isGetSupportedCallbackFunctionsSupported,
11
+ } from "../../extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js";
12
+ export {
13
+ hasAnyRole,
14
+ type HasAnyRoleParams,
15
+ } from "../../extensions/modular/__generated__/ModularCore/read/hasAnyRole.js";
16
+ export {
17
+ hasAllRoles,
18
+ type HasAllRolesParams,
19
+ } from "../../extensions/modular/__generated__/ModularCore/read/hasAllRoles.js";
20
+ export { owner } from "../../extensions/modular/__generated__/ModularCore/read/owner.js";
21
+ export {
22
+ ownershipHandoverExpiresAt,
23
+ type OwnershipHandoverExpiresAtParams,
24
+ } from "../../extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js";
25
+ export {
26
+ rolesOf,
27
+ type RolesOfParams,
28
+ } from "../../extensions/modular/__generated__/ModularCore/read/rolesOf.js";
29
+
30
+ /**
31
+ * Write
32
+ */
33
+ export { cancelOwnershipHandover } from "../../extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js";
34
+ export {
35
+ completeOwnershipHandover,
36
+ type CompleteOwnershipHandoverParams,
37
+ } from "../../extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js";
38
+ export {
39
+ grantRoles,
40
+ type GrantRolesParams,
41
+ } from "../../extensions/modular/__generated__/ModularCore/write/grantRoles.js";
42
+ export {
43
+ installExtension,
44
+ isInstallExtensionSupported,
45
+ type InstallExtensionParams,
46
+ } from "../../extensions/modular/__generated__/ModularCore/write/installExtension.js";
47
+ export { renounceOwnership } from "../../extensions/modular/__generated__/ModularCore/write/renounceOwnership.js";
48
+ export { requestOwnershipHandover } from "../../extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js";
49
+ export {
50
+ renounceRoles,
51
+ type RenounceRolesParams,
52
+ } from "../../extensions/modular/__generated__/ModularCore/write/renounceRoles.js";
53
+ export {
54
+ revokeRoles,
55
+ type RevokeRolesParams,
56
+ } from "../../extensions/modular/__generated__/ModularCore/write/revokeRoles.js";
57
+ export {
58
+ transferOwnership,
59
+ type TransferOwnershipParams,
60
+ } from "../../extensions/modular/__generated__/ModularCore/write/transferOwnership.js";
61
+ export {
62
+ uninstallExtension,
63
+ isUninstallExtensionSupported,
64
+ type UninstallExtensionParams,
65
+ } from "../../extensions/modular/__generated__/ModularCore/write/uninstallExtension.js";
66
+ export { getExtensionConfig } from "../../extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js";
67
+ export {
68
+ installPublishedExtension,
69
+ type InstallPublishedExtensionOptions,
70
+ } from "../../extensions/modular/ModularCore/write/installPublishedExtension.js";
71
+ export {
72
+ uninstallPublishedExtension,
73
+ type UninstallPublishedExtensionOptions,
74
+ } from "../../extensions/modular/ModularCore/write/uninstallPublishedExtension.js";
75
+ export {
76
+ uninstallExtensionByProxy,
77
+ type UninstallExtensionByProxyOptions,
78
+ } from "../../extensions/modular/ModularCore/write/uninstallExtensionByProxy.js";
@@ -0,0 +1,51 @@
1
+ import type { Chain } from "../../../../chains/types.js";
2
+ import type { ThirdwebClient } from "../../../../client/client.js";
3
+ import type { ThirdwebContract } from "../../../../contract/contract.js";
4
+ import { getOrDeployInfraForPublishedContract } from "../../../../contract/deployment/utils/bootstrap.js";
5
+ import type { Account } from "../../../../wallets/interfaces/wallet.js";
6
+ import { installExtension } from "../../__generated__/ModularCore/write/installExtension.js";
7
+
8
+ export type InstallPublishedExtensionOptions = {
9
+ client: ThirdwebClient;
10
+ chain: Chain;
11
+ account: Account;
12
+ contract: ThirdwebContract;
13
+ extensionName: string;
14
+ publisherAddress: string;
15
+ version?: string;
16
+ constructorParams?: unknown[];
17
+ extensionData?: `0x${string}`;
18
+ };
19
+
20
+ export function installPublishedExtension(
21
+ options: InstallPublishedExtensionOptions,
22
+ ) {
23
+ const {
24
+ client,
25
+ chain,
26
+ account,
27
+ contract,
28
+ extensionName,
29
+ constructorParams,
30
+ publisherAddress,
31
+ extensionData,
32
+ } = options;
33
+
34
+ return installExtension({
35
+ contract,
36
+ asyncParams: async () => {
37
+ const deployedExtension = await getOrDeployInfraForPublishedContract({
38
+ chain,
39
+ client,
40
+ account,
41
+ contractId: extensionName,
42
+ constructorParams: constructorParams || [],
43
+ publisher: publisherAddress,
44
+ });
45
+ return {
46
+ extension: deployedExtension.implementationContract.address as string,
47
+ data: extensionData || "0x",
48
+ };
49
+ },
50
+ });
51
+ }
@@ -0,0 +1,40 @@
1
+ import type { Chain } from "../../../../chains/types.js";
2
+ import type { ThirdwebClient } from "../../../../client/client.js";
3
+ import {
4
+ type ThirdwebContract,
5
+ getContract,
6
+ } from "../../../../contract/contract.js";
7
+ import { resolveImplementation } from "../../../../utils/bytecode/resolveImplementation.js";
8
+ import { uninstallExtension } from "../../__generated__/ModularCore/write/uninstallExtension.js";
9
+
10
+ export type UninstallExtensionByProxyOptions = {
11
+ client: ThirdwebClient;
12
+ chain: Chain;
13
+ contract: ThirdwebContract;
14
+ extensionProxyAddress: string;
15
+ extensionData?: `0x${string}`;
16
+ };
17
+
18
+ export function uninstallExtensionByProxy(
19
+ options: UninstallExtensionByProxyOptions,
20
+ ) {
21
+ const { client, chain, contract, extensionProxyAddress, extensionData } =
22
+ options;
23
+
24
+ return uninstallExtension({
25
+ contract,
26
+ asyncParams: async () => {
27
+ const extensionImplementation = await resolveImplementation(
28
+ getContract({
29
+ chain,
30
+ client,
31
+ address: extensionProxyAddress,
32
+ }),
33
+ );
34
+ return {
35
+ extension: extensionImplementation.address,
36
+ data: extensionData || "0x",
37
+ };
38
+ },
39
+ });
40
+ }
@@ -0,0 +1,47 @@
1
+ import type { Chain } from "../../../../chains/types.js";
2
+ import type { ThirdwebClient } from "../../../../client/client.js";
3
+ import type { ThirdwebContract } from "../../../../contract/contract.js";
4
+ import { getDeployedInfraContract } from "../../../../contract/deployment/utils/infra.js";
5
+ import { uninstallExtension } from "../../__generated__/ModularCore/write/uninstallExtension.js";
6
+
7
+ export type UninstallPublishedExtensionOptions = {
8
+ client: ThirdwebClient;
9
+ chain: Chain;
10
+ contract: ThirdwebContract;
11
+ extensionName: string;
12
+ publisherAddress: string;
13
+ version?: string;
14
+ constructorParams?: unknown[];
15
+ extensionData?: `0x${string}`;
16
+ };
17
+
18
+ export function uninstallPublishedExtension(
19
+ options: UninstallPublishedExtensionOptions,
20
+ ) {
21
+ const {
22
+ client,
23
+ chain,
24
+ contract,
25
+ extensionName,
26
+ publisherAddress,
27
+ constructorParams,
28
+ extensionData,
29
+ } = options;
30
+
31
+ return uninstallExtension({
32
+ contract,
33
+ asyncParams: async () => {
34
+ const deployedExtension = await getDeployedInfraContract({
35
+ chain,
36
+ client,
37
+ contractId: extensionName,
38
+ constructorParams: constructorParams || [],
39
+ publisher: publisherAddress,
40
+ });
41
+ return {
42
+ extension: deployedExtension?.address as string,
43
+ data: extensionData || "0x",
44
+ };
45
+ },
46
+ });
47
+ }
@@ -0,0 +1,134 @@
1
+ import { readContract } from "../../../../../transaction/read-contract.js";
2
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
3
+
4
+ import { decodeAbiParameters } from "viem";
5
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
6
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
7
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
8
+
9
+ export const FN_SELECTOR = "0x5357aa5e" as const;
10
+ const FN_INPUTS = [] as const;
11
+ const FN_OUTPUTS = [
12
+ {
13
+ name: "",
14
+ type: "tuple[]",
15
+ internalType: "struct IModularCore.InstalledExtension[]",
16
+ components: [
17
+ {
18
+ name: "implementation",
19
+ type: "address",
20
+ internalType: "address",
21
+ },
22
+ {
23
+ name: "config",
24
+ type: "tuple",
25
+ internalType: "struct IExtensionConfig.ExtensionConfig",
26
+ components: [
27
+ {
28
+ name: "registerInstallationCallback",
29
+ type: "bool",
30
+ internalType: "bool",
31
+ },
32
+ {
33
+ name: "requiredInterfaces",
34
+ type: "bytes4[]",
35
+ internalType: "bytes4[]",
36
+ },
37
+ {
38
+ name: "supportedInterfaces",
39
+ type: "bytes4[]",
40
+ internalType: "bytes4[]",
41
+ },
42
+ {
43
+ name: "callbackFunctions",
44
+ type: "tuple[]",
45
+ internalType: "struct IExtensionConfig.CallbackFunction[]",
46
+ components: [
47
+ {
48
+ name: "selector",
49
+ type: "bytes4",
50
+ internalType: "bytes4",
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ name: "fallbackFunctions",
56
+ type: "tuple[]",
57
+ internalType: "struct IExtensionConfig.FallbackFunction[]",
58
+ components: [
59
+ {
60
+ name: "selector",
61
+ type: "bytes4",
62
+ internalType: "bytes4",
63
+ },
64
+ {
65
+ name: "permissionBits",
66
+ type: "uint256",
67
+ internalType: "uint256",
68
+ },
69
+ ],
70
+ },
71
+ ],
72
+ },
73
+ ],
74
+ },
75
+ ] as const;
76
+
77
+ /**
78
+ * Checks if the `getInstalledExtensions` method is supported by the given contract.
79
+ * @param contract The ThirdwebContract.
80
+ * @returns A promise that resolves to a boolean indicating if the `getInstalledExtensions` method is supported.
81
+ * @extension MODULAR
82
+ * @example
83
+ * ```ts
84
+ * import { isGetInstalledExtensionsSupported } from "thirdweb/extensions/modular";
85
+ *
86
+ * const supported = await isGetInstalledExtensionsSupported(contract);
87
+ * ```
88
+ */
89
+ export async function isGetInstalledExtensionsSupported(
90
+ contract: ThirdwebContract<any>,
91
+ ) {
92
+ return detectMethod({
93
+ contract,
94
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
95
+ });
96
+ }
97
+
98
+ /**
99
+ * Decodes the result of the getInstalledExtensions function call.
100
+ * @param result - The hexadecimal result to decode.
101
+ * @returns The decoded result as per the FN_OUTPUTS definition.
102
+ * @extension MODULAR
103
+ * @example
104
+ * ```ts
105
+ * import { decodeGetInstalledExtensionsResult } from "thirdweb/extensions/modular";
106
+ * const result = decodeGetInstalledExtensionsResult("...");
107
+ * ```
108
+ */
109
+ export function decodeGetInstalledExtensionsResult(result: Hex) {
110
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
111
+ }
112
+
113
+ /**
114
+ * Calls the "getInstalledExtensions" function on the contract.
115
+ * @param options - The options for the getInstalledExtensions function.
116
+ * @returns The parsed result of the function call.
117
+ * @extension MODULAR
118
+ * @example
119
+ * ```ts
120
+ * import { getInstalledExtensions } from "thirdweb/extensions/modular";
121
+ *
122
+ * const result = await getInstalledExtensions({
123
+ * contract,
124
+ * });
125
+ *
126
+ * ```
127
+ */
128
+ export async function getInstalledExtensions(options: BaseTransactionOptions) {
129
+ return readContract({
130
+ contract: options.contract,
131
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
132
+ params: [],
133
+ });
134
+ }