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,148 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import type {
3
+ BaseTransactionOptions,
4
+ WithOverrides,
5
+ } from "../../../../../transaction/types.js";
6
+ import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
7
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
8
+ import { once } from "../../../../../utils/promise/once.js";
9
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
10
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
11
+
12
+ /**
13
+ * Represents the parameters for the "completeOwnershipHandover" function.
14
+ */
15
+ export type CompleteOwnershipHandoverParams = WithOverrides<{
16
+ pendingOwner: AbiParameterToPrimitiveType<{
17
+ name: "pendingOwner";
18
+ type: "address";
19
+ internalType: "address";
20
+ }>;
21
+ }>;
22
+
23
+ export const FN_SELECTOR = "0xf04e283e" as const;
24
+ const FN_INPUTS = [
25
+ {
26
+ name: "pendingOwner",
27
+ type: "address",
28
+ internalType: "address",
29
+ },
30
+ ] as const;
31
+ const FN_OUTPUTS = [] as const;
32
+
33
+ /**
34
+ * Checks if the `completeOwnershipHandover` method is supported by the given contract.
35
+ * @param contract The ThirdwebContract.
36
+ * @returns A promise that resolves to a boolean indicating if the `completeOwnershipHandover` method is supported.
37
+ * @extension MODULAR
38
+ * @example
39
+ * ```ts
40
+ * import { isCompleteOwnershipHandoverSupported } from "thirdweb/extensions/modular";
41
+ *
42
+ * const supported = await isCompleteOwnershipHandoverSupported(contract);
43
+ * ```
44
+ */
45
+ export async function isCompleteOwnershipHandoverSupported(
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 "completeOwnershipHandover" function.
56
+ * @param options - The options for the completeOwnershipHandover function.
57
+ * @returns The encoded ABI parameters.
58
+ * @extension MODULAR
59
+ * @example
60
+ * ```ts
61
+ * import { encodeCompleteOwnershipHandoverParams } "thirdweb/extensions/modular";
62
+ * const result = encodeCompleteOwnershipHandoverParams({
63
+ * pendingOwner: ...,
64
+ * });
65
+ * ```
66
+ */
67
+ export function encodeCompleteOwnershipHandoverParams(
68
+ options: CompleteOwnershipHandoverParams,
69
+ ) {
70
+ return encodeAbiParameters(FN_INPUTS, [options.pendingOwner]);
71
+ }
72
+
73
+ /**
74
+ * Encodes the "completeOwnershipHandover" function into a Hex string with its parameters.
75
+ * @param options - The options for the completeOwnershipHandover function.
76
+ * @returns The encoded hexadecimal string.
77
+ * @extension MODULAR
78
+ * @example
79
+ * ```ts
80
+ * import { encodeCompleteOwnershipHandover } "thirdweb/extensions/modular";
81
+ * const result = encodeCompleteOwnershipHandover({
82
+ * pendingOwner: ...,
83
+ * });
84
+ * ```
85
+ */
86
+ export function encodeCompleteOwnershipHandover(
87
+ options: CompleteOwnershipHandoverParams,
88
+ ) {
89
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
90
+ // we can do this because we know the specific formats of the values
91
+ return (FN_SELECTOR +
92
+ encodeCompleteOwnershipHandoverParams(options).slice(
93
+ 2,
94
+ )) as `${typeof FN_SELECTOR}${string}`;
95
+ }
96
+
97
+ /**
98
+ * Prepares a transaction to call the "completeOwnershipHandover" function on the contract.
99
+ * @param options - The options for the "completeOwnershipHandover" function.
100
+ * @returns A prepared transaction object.
101
+ * @extension MODULAR
102
+ * @example
103
+ * ```ts
104
+ * import { completeOwnershipHandover } from "thirdweb/extensions/modular";
105
+ *
106
+ * const transaction = completeOwnershipHandover({
107
+ * contract,
108
+ * pendingOwner: ...,
109
+ * overrides: {
110
+ * ...
111
+ * }
112
+ * });
113
+ *
114
+ * // Send the transaction
115
+ * ...
116
+ *
117
+ * ```
118
+ */
119
+ export function completeOwnershipHandover(
120
+ options: BaseTransactionOptions<
121
+ | CompleteOwnershipHandoverParams
122
+ | {
123
+ asyncParams: () => Promise<CompleteOwnershipHandoverParams>;
124
+ }
125
+ >,
126
+ ) {
127
+ const asyncOptions = once(async () => {
128
+ return "asyncParams" in options ? await options.asyncParams() : options;
129
+ });
130
+
131
+ return prepareContractCall({
132
+ contract: options.contract,
133
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
134
+ params: async () => {
135
+ const resolvedOptions = await asyncOptions();
136
+ return [resolvedOptions.pendingOwner] as const;
137
+ },
138
+ value: async () => (await asyncOptions()).overrides?.value,
139
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
140
+ gas: async () => (await asyncOptions()).overrides?.gas,
141
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
142
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
143
+ maxPriorityFeePerGas: async () =>
144
+ (await asyncOptions()).overrides?.maxPriorityFeePerGas,
145
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
146
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
147
+ });
148
+ }
@@ -0,0 +1,155 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import type {
3
+ BaseTransactionOptions,
4
+ WithOverrides,
5
+ } from "../../../../../transaction/types.js";
6
+ import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
7
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
8
+ import { once } from "../../../../../utils/promise/once.js";
9
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
10
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
11
+
12
+ /**
13
+ * Represents the parameters for the "grantRoles" function.
14
+ */
15
+ export type GrantRolesParams = WithOverrides<{
16
+ user: AbiParameterToPrimitiveType<{
17
+ name: "user";
18
+ type: "address";
19
+ internalType: "address";
20
+ }>;
21
+ roles: AbiParameterToPrimitiveType<{
22
+ name: "roles";
23
+ type: "uint256";
24
+ internalType: "uint256";
25
+ }>;
26
+ }>;
27
+
28
+ export const FN_SELECTOR = "0x1c10893f" as const;
29
+ const FN_INPUTS = [
30
+ {
31
+ name: "user",
32
+ type: "address",
33
+ internalType: "address",
34
+ },
35
+ {
36
+ name: "roles",
37
+ type: "uint256",
38
+ internalType: "uint256",
39
+ },
40
+ ] as const;
41
+ const FN_OUTPUTS = [] as const;
42
+
43
+ /**
44
+ * Checks if the `grantRoles` method is supported by the given contract.
45
+ * @param contract The ThirdwebContract.
46
+ * @returns A promise that resolves to a boolean indicating if the `grantRoles` method is supported.
47
+ * @extension MODULAR
48
+ * @example
49
+ * ```ts
50
+ * import { isGrantRolesSupported } from "thirdweb/extensions/modular";
51
+ *
52
+ * const supported = await isGrantRolesSupported(contract);
53
+ * ```
54
+ */
55
+ export async function isGrantRolesSupported(contract: ThirdwebContract<any>) {
56
+ return detectMethod({
57
+ contract,
58
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
59
+ });
60
+ }
61
+
62
+ /**
63
+ * Encodes the parameters for the "grantRoles" function.
64
+ * @param options - The options for the grantRoles function.
65
+ * @returns The encoded ABI parameters.
66
+ * @extension MODULAR
67
+ * @example
68
+ * ```ts
69
+ * import { encodeGrantRolesParams } "thirdweb/extensions/modular";
70
+ * const result = encodeGrantRolesParams({
71
+ * user: ...,
72
+ * roles: ...,
73
+ * });
74
+ * ```
75
+ */
76
+ export function encodeGrantRolesParams(options: GrantRolesParams) {
77
+ return encodeAbiParameters(FN_INPUTS, [options.user, options.roles]);
78
+ }
79
+
80
+ /**
81
+ * Encodes the "grantRoles" function into a Hex string with its parameters.
82
+ * @param options - The options for the grantRoles function.
83
+ * @returns The encoded hexadecimal string.
84
+ * @extension MODULAR
85
+ * @example
86
+ * ```ts
87
+ * import { encodeGrantRoles } "thirdweb/extensions/modular";
88
+ * const result = encodeGrantRoles({
89
+ * user: ...,
90
+ * roles: ...,
91
+ * });
92
+ * ```
93
+ */
94
+ export function encodeGrantRoles(options: GrantRolesParams) {
95
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
96
+ // we can do this because we know the specific formats of the values
97
+ return (FN_SELECTOR +
98
+ encodeGrantRolesParams(options).slice(
99
+ 2,
100
+ )) as `${typeof FN_SELECTOR}${string}`;
101
+ }
102
+
103
+ /**
104
+ * Prepares a transaction to call the "grantRoles" function on the contract.
105
+ * @param options - The options for the "grantRoles" function.
106
+ * @returns A prepared transaction object.
107
+ * @extension MODULAR
108
+ * @example
109
+ * ```ts
110
+ * import { grantRoles } from "thirdweb/extensions/modular";
111
+ *
112
+ * const transaction = grantRoles({
113
+ * contract,
114
+ * user: ...,
115
+ * roles: ...,
116
+ * overrides: {
117
+ * ...
118
+ * }
119
+ * });
120
+ *
121
+ * // Send the transaction
122
+ * ...
123
+ *
124
+ * ```
125
+ */
126
+ export function grantRoles(
127
+ options: BaseTransactionOptions<
128
+ | GrantRolesParams
129
+ | {
130
+ asyncParams: () => Promise<GrantRolesParams>;
131
+ }
132
+ >,
133
+ ) {
134
+ const asyncOptions = once(async () => {
135
+ return "asyncParams" in options ? await options.asyncParams() : options;
136
+ });
137
+
138
+ return prepareContractCall({
139
+ contract: options.contract,
140
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
141
+ params: async () => {
142
+ const resolvedOptions = await asyncOptions();
143
+ return [resolvedOptions.user, resolvedOptions.roles] as const;
144
+ },
145
+ value: async () => (await asyncOptions()).overrides?.value,
146
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
147
+ gas: async () => (await asyncOptions()).overrides?.gas,
148
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
149
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
150
+ maxPriorityFeePerGas: async () =>
151
+ (await asyncOptions()).overrides?.maxPriorityFeePerGas,
152
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
153
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
154
+ });
155
+ }
@@ -0,0 +1,157 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import type {
3
+ BaseTransactionOptions,
4
+ WithOverrides,
5
+ } from "../../../../../transaction/types.js";
6
+ import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
7
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
8
+ import { once } from "../../../../../utils/promise/once.js";
9
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
10
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
11
+
12
+ /**
13
+ * Represents the parameters for the "installExtension" function.
14
+ */
15
+ export type InstallExtensionParams = WithOverrides<{
16
+ extension: AbiParameterToPrimitiveType<{
17
+ name: "_extension";
18
+ type: "address";
19
+ internalType: "address";
20
+ }>;
21
+ data: AbiParameterToPrimitiveType<{
22
+ name: "_data";
23
+ type: "bytes";
24
+ internalType: "bytes";
25
+ }>;
26
+ }>;
27
+
28
+ export const FN_SELECTOR = "0xaca696f5" as const;
29
+ const FN_INPUTS = [
30
+ {
31
+ name: "_extension",
32
+ type: "address",
33
+ internalType: "address",
34
+ },
35
+ {
36
+ name: "_data",
37
+ type: "bytes",
38
+ internalType: "bytes",
39
+ },
40
+ ] as const;
41
+ const FN_OUTPUTS = [] as const;
42
+
43
+ /**
44
+ * Checks if the `installExtension` method is supported by the given contract.
45
+ * @param contract The ThirdwebContract.
46
+ * @returns A promise that resolves to a boolean indicating if the `installExtension` method is supported.
47
+ * @extension MODULAR
48
+ * @example
49
+ * ```ts
50
+ * import { isInstallExtensionSupported } from "thirdweb/extensions/modular";
51
+ *
52
+ * const supported = await isInstallExtensionSupported(contract);
53
+ * ```
54
+ */
55
+ export async function isInstallExtensionSupported(
56
+ contract: ThirdwebContract<any>,
57
+ ) {
58
+ return detectMethod({
59
+ contract,
60
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
61
+ });
62
+ }
63
+
64
+ /**
65
+ * Encodes the parameters for the "installExtension" function.
66
+ * @param options - The options for the installExtension function.
67
+ * @returns The encoded ABI parameters.
68
+ * @extension MODULAR
69
+ * @example
70
+ * ```ts
71
+ * import { encodeInstallExtensionParams } "thirdweb/extensions/modular";
72
+ * const result = encodeInstallExtensionParams({
73
+ * extension: ...,
74
+ * data: ...,
75
+ * });
76
+ * ```
77
+ */
78
+ export function encodeInstallExtensionParams(options: InstallExtensionParams) {
79
+ return encodeAbiParameters(FN_INPUTS, [options.extension, options.data]);
80
+ }
81
+
82
+ /**
83
+ * Encodes the "installExtension" function into a Hex string with its parameters.
84
+ * @param options - The options for the installExtension function.
85
+ * @returns The encoded hexadecimal string.
86
+ * @extension MODULAR
87
+ * @example
88
+ * ```ts
89
+ * import { encodeInstallExtension } "thirdweb/extensions/modular";
90
+ * const result = encodeInstallExtension({
91
+ * extension: ...,
92
+ * data: ...,
93
+ * });
94
+ * ```
95
+ */
96
+ export function encodeInstallExtension(options: InstallExtensionParams) {
97
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
98
+ // we can do this because we know the specific formats of the values
99
+ return (FN_SELECTOR +
100
+ encodeInstallExtensionParams(options).slice(
101
+ 2,
102
+ )) as `${typeof FN_SELECTOR}${string}`;
103
+ }
104
+
105
+ /**
106
+ * Prepares a transaction to call the "installExtension" function on the contract.
107
+ * @param options - The options for the "installExtension" function.
108
+ * @returns A prepared transaction object.
109
+ * @extension MODULAR
110
+ * @example
111
+ * ```ts
112
+ * import { installExtension } from "thirdweb/extensions/modular";
113
+ *
114
+ * const transaction = installExtension({
115
+ * contract,
116
+ * extension: ...,
117
+ * data: ...,
118
+ * overrides: {
119
+ * ...
120
+ * }
121
+ * });
122
+ *
123
+ * // Send the transaction
124
+ * ...
125
+ *
126
+ * ```
127
+ */
128
+ export function installExtension(
129
+ options: BaseTransactionOptions<
130
+ | InstallExtensionParams
131
+ | {
132
+ asyncParams: () => Promise<InstallExtensionParams>;
133
+ }
134
+ >,
135
+ ) {
136
+ const asyncOptions = once(async () => {
137
+ return "asyncParams" in options ? await options.asyncParams() : options;
138
+ });
139
+
140
+ return prepareContractCall({
141
+ contract: options.contract,
142
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
143
+ params: async () => {
144
+ const resolvedOptions = await asyncOptions();
145
+ return [resolvedOptions.extension, resolvedOptions.data] as const;
146
+ },
147
+ value: async () => (await asyncOptions()).overrides?.value,
148
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
149
+ gas: async () => (await asyncOptions()).overrides?.gas,
150
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
151
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
152
+ maxPriorityFeePerGas: async () =>
153
+ (await asyncOptions()).overrides?.maxPriorityFeePerGas,
154
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
155
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
156
+ });
157
+ }
@@ -0,0 +1,53 @@
1
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
2
+ import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
3
+
4
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
5
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
6
+
7
+ export const FN_SELECTOR = "0x715018a6" as const;
8
+ const FN_INPUTS = [] as const;
9
+ const FN_OUTPUTS = [] as const;
10
+
11
+ /**
12
+ * Checks if the `renounceOwnership` method is supported by the given contract.
13
+ * @param contract The ThirdwebContract.
14
+ * @returns A promise that resolves to a boolean indicating if the `renounceOwnership` method is supported.
15
+ * @extension MODULAR
16
+ * @example
17
+ * ```ts
18
+ * import { isRenounceOwnershipSupported } from "thirdweb/extensions/modular";
19
+ *
20
+ * const supported = await isRenounceOwnershipSupported(contract);
21
+ * ```
22
+ */
23
+ export async function isRenounceOwnershipSupported(
24
+ contract: ThirdwebContract<any>,
25
+ ) {
26
+ return detectMethod({
27
+ contract,
28
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
29
+ });
30
+ }
31
+
32
+ /**
33
+ * Prepares a transaction to call the "renounceOwnership" function on the contract.
34
+ * @param options - The options for the "renounceOwnership" function.
35
+ * @returns A prepared transaction object.
36
+ * @extension MODULAR
37
+ * @example
38
+ * ```ts
39
+ * import { renounceOwnership } from "thirdweb/extensions/modular";
40
+ *
41
+ * const transaction = renounceOwnership();
42
+ *
43
+ * // Send the transaction
44
+ * ...
45
+ *
46
+ * ```
47
+ */
48
+ export function renounceOwnership(options: BaseTransactionOptions) {
49
+ return prepareContractCall({
50
+ contract: options.contract,
51
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
52
+ });
53
+ }
@@ -0,0 +1,144 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import type {
3
+ BaseTransactionOptions,
4
+ WithOverrides,
5
+ } from "../../../../../transaction/types.js";
6
+ import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
7
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
8
+ import { once } from "../../../../../utils/promise/once.js";
9
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
10
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
11
+
12
+ /**
13
+ * Represents the parameters for the "renounceRoles" function.
14
+ */
15
+ export type RenounceRolesParams = WithOverrides<{
16
+ roles: AbiParameterToPrimitiveType<{
17
+ name: "roles";
18
+ type: "uint256";
19
+ internalType: "uint256";
20
+ }>;
21
+ }>;
22
+
23
+ export const FN_SELECTOR = "0x183a4f6e" as const;
24
+ const FN_INPUTS = [
25
+ {
26
+ name: "roles",
27
+ type: "uint256",
28
+ internalType: "uint256",
29
+ },
30
+ ] as const;
31
+ const FN_OUTPUTS = [] as const;
32
+
33
+ /**
34
+ * Checks if the `renounceRoles` method is supported by the given contract.
35
+ * @param contract The ThirdwebContract.
36
+ * @returns A promise that resolves to a boolean indicating if the `renounceRoles` method is supported.
37
+ * @extension MODULAR
38
+ * @example
39
+ * ```ts
40
+ * import { isRenounceRolesSupported } from "thirdweb/extensions/modular";
41
+ *
42
+ * const supported = await isRenounceRolesSupported(contract);
43
+ * ```
44
+ */
45
+ export async function isRenounceRolesSupported(
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 "renounceRoles" function.
56
+ * @param options - The options for the renounceRoles function.
57
+ * @returns The encoded ABI parameters.
58
+ * @extension MODULAR
59
+ * @example
60
+ * ```ts
61
+ * import { encodeRenounceRolesParams } "thirdweb/extensions/modular";
62
+ * const result = encodeRenounceRolesParams({
63
+ * roles: ...,
64
+ * });
65
+ * ```
66
+ */
67
+ export function encodeRenounceRolesParams(options: RenounceRolesParams) {
68
+ return encodeAbiParameters(FN_INPUTS, [options.roles]);
69
+ }
70
+
71
+ /**
72
+ * Encodes the "renounceRoles" function into a Hex string with its parameters.
73
+ * @param options - The options for the renounceRoles function.
74
+ * @returns The encoded hexadecimal string.
75
+ * @extension MODULAR
76
+ * @example
77
+ * ```ts
78
+ * import { encodeRenounceRoles } "thirdweb/extensions/modular";
79
+ * const result = encodeRenounceRoles({
80
+ * roles: ...,
81
+ * });
82
+ * ```
83
+ */
84
+ export function encodeRenounceRoles(options: RenounceRolesParams) {
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
+ encodeRenounceRolesParams(options).slice(
89
+ 2,
90
+ )) as `${typeof FN_SELECTOR}${string}`;
91
+ }
92
+
93
+ /**
94
+ * Prepares a transaction to call the "renounceRoles" function on the contract.
95
+ * @param options - The options for the "renounceRoles" function.
96
+ * @returns A prepared transaction object.
97
+ * @extension MODULAR
98
+ * @example
99
+ * ```ts
100
+ * import { renounceRoles } from "thirdweb/extensions/modular";
101
+ *
102
+ * const transaction = renounceRoles({
103
+ * contract,
104
+ * roles: ...,
105
+ * overrides: {
106
+ * ...
107
+ * }
108
+ * });
109
+ *
110
+ * // Send the transaction
111
+ * ...
112
+ *
113
+ * ```
114
+ */
115
+ export function renounceRoles(
116
+ options: BaseTransactionOptions<
117
+ | RenounceRolesParams
118
+ | {
119
+ asyncParams: () => Promise<RenounceRolesParams>;
120
+ }
121
+ >,
122
+ ) {
123
+ const asyncOptions = once(async () => {
124
+ return "asyncParams" in options ? await options.asyncParams() : options;
125
+ });
126
+
127
+ return prepareContractCall({
128
+ contract: options.contract,
129
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
130
+ params: async () => {
131
+ const resolvedOptions = await asyncOptions();
132
+ return [resolvedOptions.roles] as const;
133
+ },
134
+ value: async () => (await asyncOptions()).overrides?.value,
135
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
136
+ gas: async () => (await asyncOptions()).overrides?.gas,
137
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
138
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
139
+ maxPriorityFeePerGas: async () =>
140
+ (await asyncOptions()).overrides?.maxPriorityFeePerGas,
141
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
142
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
143
+ });
144
+ }