thirdweb 5.29.1 → 5.29.2-nightly-fb6a07d4b84ba8ea6389ca04c73625f670a0d9c4-20240614172741

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 (298) 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/erc4337.js +7 -1
  6. package/dist/cjs/exports/extensions/erc4337.js.map +1 -1
  7. package/dist/cjs/exports/extensions/modular.js +56 -0
  8. package/dist/cjs/exports/extensions/modular.js.map +1 -0
  9. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js +122 -0
  10. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js.map +1 -0
  11. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js +115 -0
  12. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js.map +1 -0
  13. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js +71 -0
  14. package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js.map +1 -0
  15. package/dist/cjs/extensions/modular/ModularCore/write/installPublishedExtension.js +27 -0
  16. package/dist/cjs/extensions/modular/ModularCore/write/installPublishedExtension.js.map +1 -0
  17. package/dist/cjs/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js +25 -0
  18. package/dist/cjs/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js.map +1 -0
  19. package/dist/cjs/extensions/modular/ModularCore/write/uninstallPublishedExtension.js +26 -0
  20. package/dist/cjs/extensions/modular/ModularCore/write/uninstallPublishedExtension.js.map +1 -0
  21. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js +131 -0
  22. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js.map +1 -0
  23. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js +85 -0
  24. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  25. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/supportsInterface.js +118 -0
  26. package/dist/cjs/extensions/modular/__generated__/IModularCore/read/supportsInterface.js.map +1 -0
  27. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/installExtension.js +128 -0
  28. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/installExtension.js.map +1 -0
  29. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js +128 -0
  30. package/dist/cjs/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js.map +1 -0
  31. package/dist/cjs/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js +119 -0
  32. package/dist/cjs/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js.map +1 -0
  33. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js +28 -0
  34. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js.map +1 -0
  35. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js +28 -0
  36. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js.map +1 -0
  37. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js +32 -0
  38. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js.map +1 -0
  39. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js +32 -0
  40. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js.map +1 -0
  41. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js +33 -0
  42. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js.map +1 -0
  43. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js +33 -0
  44. package/dist/cjs/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js.map +1 -0
  45. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js +131 -0
  46. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js.map +1 -0
  47. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js +85 -0
  48. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  49. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js +126 -0
  50. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js.map +1 -0
  51. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js +126 -0
  52. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js.map +1 -0
  53. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/owner.js +73 -0
  54. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/owner.js.map +1 -0
  55. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js +118 -0
  56. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js.map +1 -0
  57. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/rolesOf.js +118 -0
  58. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/rolesOf.js.map +1 -0
  59. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/supportsInterface.js +118 -0
  60. package/dist/cjs/extensions/modular/__generated__/ModularCore/read/supportsInterface.js.map +1 -0
  61. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js +51 -0
  62. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js.map +1 -0
  63. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js +117 -0
  64. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js.map +1 -0
  65. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/grantRoles.js +125 -0
  66. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/grantRoles.js.map +1 -0
  67. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/installExtension.js +125 -0
  68. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/installExtension.js.map +1 -0
  69. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js +51 -0
  70. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js.map +1 -0
  71. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceRoles.js +117 -0
  72. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceRoles.js.map +1 -0
  73. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js +51 -0
  74. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js.map +1 -0
  75. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/revokeRoles.js +125 -0
  76. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/revokeRoles.js.map +1 -0
  77. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/transferOwnership.js +117 -0
  78. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/transferOwnership.js.map +1 -0
  79. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js +125 -0
  80. package/dist/cjs/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js.map +1 -0
  81. package/dist/cjs/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js +119 -0
  82. package/dist/cjs/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js.map +1 -0
  83. package/dist/cjs/version.js +1 -1
  84. package/dist/cjs/version.js.map +1 -1
  85. package/dist/esm/contract/actions/resolve-abi.js +19 -1
  86. package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
  87. package/dist/esm/exports/contract.js +2 -0
  88. package/dist/esm/exports/contract.js.map +1 -1
  89. package/dist/esm/exports/extensions/erc4337.js +3 -0
  90. package/dist/esm/exports/extensions/erc4337.js.map +1 -1
  91. package/dist/esm/exports/extensions/modular.js +28 -0
  92. package/dist/esm/exports/extensions/modular.js.map +1 -0
  93. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js +114 -0
  94. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js.map +1 -0
  95. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js +107 -0
  96. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js.map +1 -0
  97. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js +65 -0
  98. package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js.map +1 -0
  99. package/dist/esm/extensions/modular/ModularCore/write/installPublishedExtension.js +23 -0
  100. package/dist/esm/extensions/modular/ModularCore/write/installPublishedExtension.js.map +1 -0
  101. package/dist/esm/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js +21 -0
  102. package/dist/esm/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js.map +1 -0
  103. package/dist/esm/extensions/modular/ModularCore/write/uninstallPublishedExtension.js +22 -0
  104. package/dist/esm/extensions/modular/ModularCore/write/uninstallPublishedExtension.js.map +1 -0
  105. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js +125 -0
  106. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js.map +1 -0
  107. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js +79 -0
  108. package/dist/esm/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  109. package/dist/esm/extensions/modular/__generated__/IModularCore/read/supportsInterface.js +110 -0
  110. package/dist/esm/extensions/modular/__generated__/IModularCore/read/supportsInterface.js.map +1 -0
  111. package/dist/esm/extensions/modular/__generated__/IModularCore/write/installExtension.js +121 -0
  112. package/dist/esm/extensions/modular/__generated__/IModularCore/write/installExtension.js.map +1 -0
  113. package/dist/esm/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js +121 -0
  114. package/dist/esm/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js.map +1 -0
  115. package/dist/esm/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js +113 -0
  116. package/dist/esm/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js.map +1 -0
  117. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js +24 -0
  118. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js.map +1 -0
  119. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js +24 -0
  120. package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js.map +1 -0
  121. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js +28 -0
  122. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js.map +1 -0
  123. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js +28 -0
  124. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js.map +1 -0
  125. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js +29 -0
  126. package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js.map +1 -0
  127. package/dist/esm/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js +29 -0
  128. package/dist/esm/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js.map +1 -0
  129. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js +125 -0
  130. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js.map +1 -0
  131. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js +79 -0
  132. package/dist/esm/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
  133. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js +118 -0
  134. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js.map +1 -0
  135. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js +118 -0
  136. package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js.map +1 -0
  137. package/dist/esm/extensions/modular/__generated__/ModularCore/read/owner.js +67 -0
  138. package/dist/esm/extensions/modular/__generated__/ModularCore/read/owner.js.map +1 -0
  139. package/dist/esm/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js +110 -0
  140. package/dist/esm/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js.map +1 -0
  141. package/dist/esm/extensions/modular/__generated__/ModularCore/read/rolesOf.js +110 -0
  142. package/dist/esm/extensions/modular/__generated__/ModularCore/read/rolesOf.js.map +1 -0
  143. package/dist/esm/extensions/modular/__generated__/ModularCore/read/supportsInterface.js +110 -0
  144. package/dist/esm/extensions/modular/__generated__/ModularCore/read/supportsInterface.js.map +1 -0
  145. package/dist/esm/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js +46 -0
  146. package/dist/esm/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js.map +1 -0
  147. package/dist/esm/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js +110 -0
  148. package/dist/esm/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js.map +1 -0
  149. package/dist/esm/extensions/modular/__generated__/ModularCore/write/grantRoles.js +118 -0
  150. package/dist/esm/extensions/modular/__generated__/ModularCore/write/grantRoles.js.map +1 -0
  151. package/dist/esm/extensions/modular/__generated__/ModularCore/write/installExtension.js +118 -0
  152. package/dist/esm/extensions/modular/__generated__/ModularCore/write/installExtension.js.map +1 -0
  153. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js +46 -0
  154. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js.map +1 -0
  155. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceRoles.js +110 -0
  156. package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceRoles.js.map +1 -0
  157. package/dist/esm/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js +46 -0
  158. package/dist/esm/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js.map +1 -0
  159. package/dist/esm/extensions/modular/__generated__/ModularCore/write/revokeRoles.js +118 -0
  160. package/dist/esm/extensions/modular/__generated__/ModularCore/write/revokeRoles.js.map +1 -0
  161. package/dist/esm/extensions/modular/__generated__/ModularCore/write/transferOwnership.js +110 -0
  162. package/dist/esm/extensions/modular/__generated__/ModularCore/write/transferOwnership.js.map +1 -0
  163. package/dist/esm/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js +118 -0
  164. package/dist/esm/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js.map +1 -0
  165. package/dist/esm/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js +113 -0
  166. package/dist/esm/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js.map +1 -0
  167. package/dist/esm/version.js +1 -1
  168. package/dist/esm/version.js.map +1 -1
  169. package/dist/types/contract/actions/resolve-abi.d.ts.map +1 -1
  170. package/dist/types/exports/contract.d.ts +1 -0
  171. package/dist/types/exports/contract.d.ts.map +1 -1
  172. package/dist/types/exports/extensions/erc4337.d.ts +3 -0
  173. package/dist/types/exports/extensions/erc4337.d.ts.map +1 -1
  174. package/dist/types/exports/extensions/modular.d.ts +28 -0
  175. package/dist/types/exports/extensions/modular.d.ts.map +1 -0
  176. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.d.ts +92 -0
  177. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.d.ts.map +1 -0
  178. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.d.ts +85 -0
  179. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.d.ts.map +1 -0
  180. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.d.ts +46 -0
  181. package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.d.ts.map +1 -0
  182. package/dist/types/extensions/modular/ModularCore/write/installPublishedExtension.d.ts +17 -0
  183. package/dist/types/extensions/modular/ModularCore/write/installPublishedExtension.d.ts.map +1 -0
  184. package/dist/types/extensions/modular/ModularCore/write/uninstallExtensionByProxy.d.ts +12 -0
  185. package/dist/types/extensions/modular/ModularCore/write/uninstallExtensionByProxy.d.ts.map +1 -0
  186. package/dist/types/extensions/modular/ModularCore/write/uninstallPublishedExtension.d.ts +15 -0
  187. package/dist/types/extensions/modular/ModularCore/write/uninstallPublishedExtension.d.ts.map +1 -0
  188. package/dist/types/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.d.ts +74 -0
  189. package/dist/types/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.d.ts.map +1 -0
  190. package/dist/types/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.d.ts +52 -0
  191. package/dist/types/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.d.ts.map +1 -0
  192. package/dist/types/extensions/modular/__generated__/IModularCore/read/supportsInterface.d.ts +86 -0
  193. package/dist/types/extensions/modular/__generated__/IModularCore/read/supportsInterface.d.ts.map +1 -0
  194. package/dist/types/extensions/modular/__generated__/IModularCore/write/installExtension.d.ts +89 -0
  195. package/dist/types/extensions/modular/__generated__/IModularCore/write/installExtension.d.ts.map +1 -0
  196. package/dist/types/extensions/modular/__generated__/IModularCore/write/uninstallExtension.d.ts +89 -0
  197. package/dist/types/extensions/modular/__generated__/IModularCore/write/uninstallExtension.d.ts.map +1 -0
  198. package/dist/types/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.d.ts +68 -0
  199. package/dist/types/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.d.ts.map +1 -0
  200. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.d.ts +32 -0
  201. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.d.ts.map +1 -0
  202. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.d.ts +32 -0
  203. package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.d.ts.map +1 -0
  204. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.d.ts +42 -0
  205. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.d.ts.map +1 -0
  206. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.d.ts +42 -0
  207. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.d.ts.map +1 -0
  208. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.d.ts +53 -0
  209. package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.d.ts.map +1 -0
  210. package/dist/types/extensions/modular/__generated__/ModularCore/events/RolesUpdated.d.ts +53 -0
  211. package/dist/types/extensions/modular/__generated__/ModularCore/events/RolesUpdated.d.ts.map +1 -0
  212. package/dist/types/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.d.ts +74 -0
  213. package/dist/types/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.d.ts.map +1 -0
  214. package/dist/types/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.d.ts +52 -0
  215. package/dist/types/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.d.ts.map +1 -0
  216. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAllRoles.d.ts +94 -0
  217. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAllRoles.d.ts.map +1 -0
  218. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAnyRole.d.ts +94 -0
  219. package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAnyRole.d.ts.map +1 -0
  220. package/dist/types/extensions/modular/__generated__/ModularCore/read/owner.d.ts +46 -0
  221. package/dist/types/extensions/modular/__generated__/ModularCore/read/owner.d.ts.map +1 -0
  222. package/dist/types/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.d.ts +86 -0
  223. package/dist/types/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.d.ts.map +1 -0
  224. package/dist/types/extensions/modular/__generated__/ModularCore/read/rolesOf.d.ts +86 -0
  225. package/dist/types/extensions/modular/__generated__/ModularCore/read/rolesOf.d.ts.map +1 -0
  226. package/dist/types/extensions/modular/__generated__/ModularCore/read/supportsInterface.d.ts +86 -0
  227. package/dist/types/extensions/modular/__generated__/ModularCore/read/supportsInterface.d.ts.map +1 -0
  228. package/dist/types/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.d.ts +34 -0
  229. package/dist/types/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.d.ts.map +1 -0
  230. package/dist/types/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.d.ts +81 -0
  231. package/dist/types/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.d.ts.map +1 -0
  232. package/dist/types/extensions/modular/__generated__/ModularCore/write/grantRoles.d.ts +89 -0
  233. package/dist/types/extensions/modular/__generated__/ModularCore/write/grantRoles.d.ts.map +1 -0
  234. package/dist/types/extensions/modular/__generated__/ModularCore/write/installExtension.d.ts +89 -0
  235. package/dist/types/extensions/modular/__generated__/ModularCore/write/installExtension.d.ts.map +1 -0
  236. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceOwnership.d.ts +34 -0
  237. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceOwnership.d.ts.map +1 -0
  238. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceRoles.d.ts +81 -0
  239. package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceRoles.d.ts.map +1 -0
  240. package/dist/types/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.d.ts +34 -0
  241. package/dist/types/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.d.ts.map +1 -0
  242. package/dist/types/extensions/modular/__generated__/ModularCore/write/revokeRoles.d.ts +89 -0
  243. package/dist/types/extensions/modular/__generated__/ModularCore/write/revokeRoles.d.ts.map +1 -0
  244. package/dist/types/extensions/modular/__generated__/ModularCore/write/transferOwnership.d.ts +81 -0
  245. package/dist/types/extensions/modular/__generated__/ModularCore/write/transferOwnership.d.ts.map +1 -0
  246. package/dist/types/extensions/modular/__generated__/ModularCore/write/uninstallExtension.d.ts +89 -0
  247. package/dist/types/extensions/modular/__generated__/ModularCore/write/uninstallExtension.d.ts.map +1 -0
  248. package/dist/types/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.d.ts +68 -0
  249. package/dist/types/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.d.ts.map +1 -0
  250. package/dist/types/utils/any-evm/deploy-metadata.d.ts +4 -1
  251. package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
  252. package/dist/types/version.d.ts +1 -1
  253. package/dist/types/version.d.ts.map +1 -1
  254. package/package.json +2 -2
  255. package/src/contract/actions/resolve-abi.ts +21 -0
  256. package/src/exports/contract.ts +7 -0
  257. package/src/exports/extensions/erc4337.ts +3 -0
  258. package/src/exports/extensions/modular.ts +78 -0
  259. package/src/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.ts +135 -0
  260. package/src/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.ts +127 -0
  261. package/src/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.ts +74 -0
  262. package/src/extensions/modular/ModularCore/write/installPublishedExtension.ts +51 -0
  263. package/src/extensions/modular/ModularCore/write/uninstallExtensionByProxy.ts +40 -0
  264. package/src/extensions/modular/ModularCore/write/uninstallPublishedExtension.ts +47 -0
  265. package/src/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.ts +134 -0
  266. package/src/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.ts +90 -0
  267. package/src/extensions/modular/__generated__/IModularCore/read/supportsInterface.ts +138 -0
  268. package/src/extensions/modular/__generated__/IModularCore/write/installExtension.ts +160 -0
  269. package/src/extensions/modular/__generated__/IModularCore/write/uninstallExtension.ts +162 -0
  270. package/src/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.ts +122 -0
  271. package/src/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.ts +25 -0
  272. package/src/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.ts +25 -0
  273. package/src/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.ts +43 -0
  274. package/src/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.ts +43 -0
  275. package/src/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.ts +51 -0
  276. package/src/extensions/modular/__generated__/ModularCore/events/RolesUpdated.ts +49 -0
  277. package/src/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.ts +134 -0
  278. package/src/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.ts +90 -0
  279. package/src/extensions/modular/__generated__/ModularCore/read/hasAllRoles.ts +147 -0
  280. package/src/extensions/modular/__generated__/ModularCore/read/hasAnyRole.ts +147 -0
  281. package/src/extensions/modular/__generated__/ModularCore/read/owner.ts +74 -0
  282. package/src/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.ts +140 -0
  283. package/src/extensions/modular/__generated__/ModularCore/read/rolesOf.ts +130 -0
  284. package/src/extensions/modular/__generated__/ModularCore/read/supportsInterface.ts +138 -0
  285. package/src/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.ts +53 -0
  286. package/src/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.ts +148 -0
  287. package/src/extensions/modular/__generated__/ModularCore/write/grantRoles.ts +155 -0
  288. package/src/extensions/modular/__generated__/ModularCore/write/installExtension.ts +157 -0
  289. package/src/extensions/modular/__generated__/ModularCore/write/renounceOwnership.ts +53 -0
  290. package/src/extensions/modular/__generated__/ModularCore/write/renounceRoles.ts +144 -0
  291. package/src/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.ts +53 -0
  292. package/src/extensions/modular/__generated__/ModularCore/write/revokeRoles.ts +155 -0
  293. package/src/extensions/modular/__generated__/ModularCore/write/transferOwnership.ts +146 -0
  294. package/src/extensions/modular/__generated__/ModularCore/write/uninstallExtension.ts +159 -0
  295. package/src/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.ts +122 -0
  296. package/src/extensions/prebuilts/deploy-modular-core.test.ts +158 -0
  297. package/src/utils/any-evm/deploy-metadata.ts +4 -1
  298. package/src/version.ts +1 -1
@@ -0,0 +1,90 @@
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 = "0xf147db8a" as const;
10
+ const FN_INPUTS = [] as const;
11
+ const FN_OUTPUTS = [
12
+ {
13
+ name: "",
14
+ type: "tuple[]",
15
+ internalType: "struct IModularCore.SupportedCallbackFunction[]",
16
+ components: [
17
+ {
18
+ name: "selector",
19
+ type: "bytes4",
20
+ internalType: "bytes4",
21
+ },
22
+ {
23
+ name: "mode",
24
+ type: "uint8",
25
+ internalType: "enum IModularCore.CallbackMode",
26
+ },
27
+ ],
28
+ },
29
+ ] as const;
30
+
31
+ /**
32
+ * Checks if the `getSupportedCallbackFunctions` method is supported by the given contract.
33
+ * @param contract The ThirdwebContract.
34
+ * @returns A promise that resolves to a boolean indicating if the `getSupportedCallbackFunctions` method is supported.
35
+ * @extension MODULAR
36
+ * @example
37
+ * ```ts
38
+ * import { isGetSupportedCallbackFunctionsSupported } from "thirdweb/extensions/modular";
39
+ *
40
+ * const supported = await isGetSupportedCallbackFunctionsSupported(contract);
41
+ * ```
42
+ */
43
+ export async function isGetSupportedCallbackFunctionsSupported(
44
+ contract: ThirdwebContract<any>,
45
+ ) {
46
+ return detectMethod({
47
+ contract,
48
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Decodes the result of the getSupportedCallbackFunctions function call.
54
+ * @param result - The hexadecimal result to decode.
55
+ * @returns The decoded result as per the FN_OUTPUTS definition.
56
+ * @extension MODULAR
57
+ * @example
58
+ * ```ts
59
+ * import { decodeGetSupportedCallbackFunctionsResult } from "thirdweb/extensions/modular";
60
+ * const result = decodeGetSupportedCallbackFunctionsResult("...");
61
+ * ```
62
+ */
63
+ export function decodeGetSupportedCallbackFunctionsResult(result: Hex) {
64
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
65
+ }
66
+
67
+ /**
68
+ * Calls the "getSupportedCallbackFunctions" function on the contract.
69
+ * @param options - The options for the getSupportedCallbackFunctions function.
70
+ * @returns The parsed result of the function call.
71
+ * @extension MODULAR
72
+ * @example
73
+ * ```ts
74
+ * import { getSupportedCallbackFunctions } from "thirdweb/extensions/modular";
75
+ *
76
+ * const result = await getSupportedCallbackFunctions({
77
+ * contract,
78
+ * });
79
+ *
80
+ * ```
81
+ */
82
+ export async function getSupportedCallbackFunctions(
83
+ options: BaseTransactionOptions,
84
+ ) {
85
+ return readContract({
86
+ contract: options.contract,
87
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
88
+ params: [],
89
+ });
90
+ }
@@ -0,0 +1,147 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "hasAllRoles" function.
12
+ */
13
+ export type HasAllRolesParams = {
14
+ user: AbiParameterToPrimitiveType<{
15
+ name: "user";
16
+ type: "address";
17
+ internalType: "address";
18
+ }>;
19
+ roles: AbiParameterToPrimitiveType<{
20
+ name: "roles";
21
+ type: "uint256";
22
+ internalType: "uint256";
23
+ }>;
24
+ };
25
+
26
+ export const FN_SELECTOR = "0x1cd64df4" as const;
27
+ const FN_INPUTS = [
28
+ {
29
+ name: "user",
30
+ type: "address",
31
+ internalType: "address",
32
+ },
33
+ {
34
+ name: "roles",
35
+ type: "uint256",
36
+ internalType: "uint256",
37
+ },
38
+ ] as const;
39
+ const FN_OUTPUTS = [
40
+ {
41
+ name: "",
42
+ type: "bool",
43
+ internalType: "bool",
44
+ },
45
+ ] as const;
46
+
47
+ /**
48
+ * Checks if the `hasAllRoles` method is supported by the given contract.
49
+ * @param contract The ThirdwebContract.
50
+ * @returns A promise that resolves to a boolean indicating if the `hasAllRoles` method is supported.
51
+ * @extension MODULAR
52
+ * @example
53
+ * ```ts
54
+ * import { isHasAllRolesSupported } from "thirdweb/extensions/modular";
55
+ *
56
+ * const supported = await isHasAllRolesSupported(contract);
57
+ * ```
58
+ */
59
+ export async function isHasAllRolesSupported(contract: ThirdwebContract<any>) {
60
+ return detectMethod({
61
+ contract,
62
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
63
+ });
64
+ }
65
+
66
+ /**
67
+ * Encodes the parameters for the "hasAllRoles" function.
68
+ * @param options - The options for the hasAllRoles function.
69
+ * @returns The encoded ABI parameters.
70
+ * @extension MODULAR
71
+ * @example
72
+ * ```ts
73
+ * import { encodeHasAllRolesParams } "thirdweb/extensions/modular";
74
+ * const result = encodeHasAllRolesParams({
75
+ * user: ...,
76
+ * roles: ...,
77
+ * });
78
+ * ```
79
+ */
80
+ export function encodeHasAllRolesParams(options: HasAllRolesParams) {
81
+ return encodeAbiParameters(FN_INPUTS, [options.user, options.roles]);
82
+ }
83
+
84
+ /**
85
+ * Encodes the "hasAllRoles" function into a Hex string with its parameters.
86
+ * @param options - The options for the hasAllRoles function.
87
+ * @returns The encoded hexadecimal string.
88
+ * @extension MODULAR
89
+ * @example
90
+ * ```ts
91
+ * import { encodeHasAllRoles } "thirdweb/extensions/modular";
92
+ * const result = encodeHasAllRoles({
93
+ * user: ...,
94
+ * roles: ...,
95
+ * });
96
+ * ```
97
+ */
98
+ export function encodeHasAllRoles(options: HasAllRolesParams) {
99
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
100
+ // we can do this because we know the specific formats of the values
101
+ return (FN_SELECTOR +
102
+ encodeHasAllRolesParams(options).slice(
103
+ 2,
104
+ )) as `${typeof FN_SELECTOR}${string}`;
105
+ }
106
+
107
+ /**
108
+ * Decodes the result of the hasAllRoles function call.
109
+ * @param result - The hexadecimal result to decode.
110
+ * @returns The decoded result as per the FN_OUTPUTS definition.
111
+ * @extension MODULAR
112
+ * @example
113
+ * ```ts
114
+ * import { decodeHasAllRolesResult } from "thirdweb/extensions/modular";
115
+ * const result = decodeHasAllRolesResult("...");
116
+ * ```
117
+ */
118
+ export function decodeHasAllRolesResult(result: Hex) {
119
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
120
+ }
121
+
122
+ /**
123
+ * Calls the "hasAllRoles" function on the contract.
124
+ * @param options - The options for the hasAllRoles function.
125
+ * @returns The parsed result of the function call.
126
+ * @extension MODULAR
127
+ * @example
128
+ * ```ts
129
+ * import { hasAllRoles } from "thirdweb/extensions/modular";
130
+ *
131
+ * const result = await hasAllRoles({
132
+ * contract,
133
+ * user: ...,
134
+ * roles: ...,
135
+ * });
136
+ *
137
+ * ```
138
+ */
139
+ export async function hasAllRoles(
140
+ options: BaseTransactionOptions<HasAllRolesParams>,
141
+ ) {
142
+ return readContract({
143
+ contract: options.contract,
144
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
145
+ params: [options.user, options.roles],
146
+ });
147
+ }
@@ -0,0 +1,147 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "hasAnyRole" function.
12
+ */
13
+ export type HasAnyRoleParams = {
14
+ user: AbiParameterToPrimitiveType<{
15
+ name: "user";
16
+ type: "address";
17
+ internalType: "address";
18
+ }>;
19
+ roles: AbiParameterToPrimitiveType<{
20
+ name: "roles";
21
+ type: "uint256";
22
+ internalType: "uint256";
23
+ }>;
24
+ };
25
+
26
+ export const FN_SELECTOR = "0x514e62fc" as const;
27
+ const FN_INPUTS = [
28
+ {
29
+ name: "user",
30
+ type: "address",
31
+ internalType: "address",
32
+ },
33
+ {
34
+ name: "roles",
35
+ type: "uint256",
36
+ internalType: "uint256",
37
+ },
38
+ ] as const;
39
+ const FN_OUTPUTS = [
40
+ {
41
+ name: "",
42
+ type: "bool",
43
+ internalType: "bool",
44
+ },
45
+ ] as const;
46
+
47
+ /**
48
+ * Checks if the `hasAnyRole` method is supported by the given contract.
49
+ * @param contract The ThirdwebContract.
50
+ * @returns A promise that resolves to a boolean indicating if the `hasAnyRole` method is supported.
51
+ * @extension MODULAR
52
+ * @example
53
+ * ```ts
54
+ * import { isHasAnyRoleSupported } from "thirdweb/extensions/modular";
55
+ *
56
+ * const supported = await isHasAnyRoleSupported(contract);
57
+ * ```
58
+ */
59
+ export async function isHasAnyRoleSupported(contract: ThirdwebContract<any>) {
60
+ return detectMethod({
61
+ contract,
62
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
63
+ });
64
+ }
65
+
66
+ /**
67
+ * Encodes the parameters for the "hasAnyRole" function.
68
+ * @param options - The options for the hasAnyRole function.
69
+ * @returns The encoded ABI parameters.
70
+ * @extension MODULAR
71
+ * @example
72
+ * ```ts
73
+ * import { encodeHasAnyRoleParams } "thirdweb/extensions/modular";
74
+ * const result = encodeHasAnyRoleParams({
75
+ * user: ...,
76
+ * roles: ...,
77
+ * });
78
+ * ```
79
+ */
80
+ export function encodeHasAnyRoleParams(options: HasAnyRoleParams) {
81
+ return encodeAbiParameters(FN_INPUTS, [options.user, options.roles]);
82
+ }
83
+
84
+ /**
85
+ * Encodes the "hasAnyRole" function into a Hex string with its parameters.
86
+ * @param options - The options for the hasAnyRole function.
87
+ * @returns The encoded hexadecimal string.
88
+ * @extension MODULAR
89
+ * @example
90
+ * ```ts
91
+ * import { encodeHasAnyRole } "thirdweb/extensions/modular";
92
+ * const result = encodeHasAnyRole({
93
+ * user: ...,
94
+ * roles: ...,
95
+ * });
96
+ * ```
97
+ */
98
+ export function encodeHasAnyRole(options: HasAnyRoleParams) {
99
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
100
+ // we can do this because we know the specific formats of the values
101
+ return (FN_SELECTOR +
102
+ encodeHasAnyRoleParams(options).slice(
103
+ 2,
104
+ )) as `${typeof FN_SELECTOR}${string}`;
105
+ }
106
+
107
+ /**
108
+ * Decodes the result of the hasAnyRole function call.
109
+ * @param result - The hexadecimal result to decode.
110
+ * @returns The decoded result as per the FN_OUTPUTS definition.
111
+ * @extension MODULAR
112
+ * @example
113
+ * ```ts
114
+ * import { decodeHasAnyRoleResult } from "thirdweb/extensions/modular";
115
+ * const result = decodeHasAnyRoleResult("...");
116
+ * ```
117
+ */
118
+ export function decodeHasAnyRoleResult(result: Hex) {
119
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
120
+ }
121
+
122
+ /**
123
+ * Calls the "hasAnyRole" function on the contract.
124
+ * @param options - The options for the hasAnyRole function.
125
+ * @returns The parsed result of the function call.
126
+ * @extension MODULAR
127
+ * @example
128
+ * ```ts
129
+ * import { hasAnyRole } from "thirdweb/extensions/modular";
130
+ *
131
+ * const result = await hasAnyRole({
132
+ * contract,
133
+ * user: ...,
134
+ * roles: ...,
135
+ * });
136
+ *
137
+ * ```
138
+ */
139
+ export async function hasAnyRole(
140
+ options: BaseTransactionOptions<HasAnyRoleParams>,
141
+ ) {
142
+ return readContract({
143
+ contract: options.contract,
144
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
145
+ params: [options.user, options.roles],
146
+ });
147
+ }
@@ -0,0 +1,74 @@
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 = "0x8da5cb5b" as const;
10
+ const FN_INPUTS = [] as const;
11
+ const FN_OUTPUTS = [
12
+ {
13
+ name: "result",
14
+ type: "address",
15
+ internalType: "address",
16
+ },
17
+ ] as const;
18
+
19
+ /**
20
+ * Checks if the `owner` method is supported by the given contract.
21
+ * @param contract The ThirdwebContract.
22
+ * @returns A promise that resolves to a boolean indicating if the `owner` method is supported.
23
+ * @extension MODULAR
24
+ * @example
25
+ * ```ts
26
+ * import { isOwnerSupported } from "thirdweb/extensions/modular";
27
+ *
28
+ * const supported = await isOwnerSupported(contract);
29
+ * ```
30
+ */
31
+ export async function isOwnerSupported(contract: ThirdwebContract<any>) {
32
+ return detectMethod({
33
+ contract,
34
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
35
+ });
36
+ }
37
+
38
+ /**
39
+ * Decodes the result of the owner function call.
40
+ * @param result - The hexadecimal result to decode.
41
+ * @returns The decoded result as per the FN_OUTPUTS definition.
42
+ * @extension MODULAR
43
+ * @example
44
+ * ```ts
45
+ * import { decodeOwnerResult } from "thirdweb/extensions/modular";
46
+ * const result = decodeOwnerResult("...");
47
+ * ```
48
+ */
49
+ export function decodeOwnerResult(result: Hex) {
50
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
51
+ }
52
+
53
+ /**
54
+ * Calls the "owner" function on the contract.
55
+ * @param options - The options for the owner function.
56
+ * @returns The parsed result of the function call.
57
+ * @extension MODULAR
58
+ * @example
59
+ * ```ts
60
+ * import { owner } from "thirdweb/extensions/modular";
61
+ *
62
+ * const result = await owner({
63
+ * contract,
64
+ * });
65
+ *
66
+ * ```
67
+ */
68
+ export async function owner(options: BaseTransactionOptions) {
69
+ return readContract({
70
+ contract: options.contract,
71
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
72
+ params: [],
73
+ });
74
+ }
@@ -0,0 +1,140 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import { readContract } from "../../../../../transaction/read-contract.js";
3
+ import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
4
+ import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
5
+ import { decodeAbiParameters } from "viem";
6
+ import type { Hex } from "../../../../../utils/encoding/hex.js";
7
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
8
+ import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
9
+
10
+ /**
11
+ * Represents the parameters for the "ownershipHandoverExpiresAt" function.
12
+ */
13
+ export type OwnershipHandoverExpiresAtParams = {
14
+ pendingOwner: AbiParameterToPrimitiveType<{
15
+ name: "pendingOwner";
16
+ type: "address";
17
+ internalType: "address";
18
+ }>;
19
+ };
20
+
21
+ export const FN_SELECTOR = "0xfee81cf4" as const;
22
+ const FN_INPUTS = [
23
+ {
24
+ name: "pendingOwner",
25
+ type: "address",
26
+ internalType: "address",
27
+ },
28
+ ] as const;
29
+ const FN_OUTPUTS = [
30
+ {
31
+ name: "result",
32
+ type: "uint256",
33
+ internalType: "uint256",
34
+ },
35
+ ] as const;
36
+
37
+ /**
38
+ * Checks if the `ownershipHandoverExpiresAt` method is supported by the given contract.
39
+ * @param contract The ThirdwebContract.
40
+ * @returns A promise that resolves to a boolean indicating if the `ownershipHandoverExpiresAt` method is supported.
41
+ * @extension MODULAR
42
+ * @example
43
+ * ```ts
44
+ * import { isOwnershipHandoverExpiresAtSupported } from "thirdweb/extensions/modular";
45
+ *
46
+ * const supported = await isOwnershipHandoverExpiresAtSupported(contract);
47
+ * ```
48
+ */
49
+ export async function isOwnershipHandoverExpiresAtSupported(
50
+ contract: ThirdwebContract<any>,
51
+ ) {
52
+ return detectMethod({
53
+ contract,
54
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
55
+ });
56
+ }
57
+
58
+ /**
59
+ * Encodes the parameters for the "ownershipHandoverExpiresAt" function.
60
+ * @param options - The options for the ownershipHandoverExpiresAt function.
61
+ * @returns The encoded ABI parameters.
62
+ * @extension MODULAR
63
+ * @example
64
+ * ```ts
65
+ * import { encodeOwnershipHandoverExpiresAtParams } "thirdweb/extensions/modular";
66
+ * const result = encodeOwnershipHandoverExpiresAtParams({
67
+ * pendingOwner: ...,
68
+ * });
69
+ * ```
70
+ */
71
+ export function encodeOwnershipHandoverExpiresAtParams(
72
+ options: OwnershipHandoverExpiresAtParams,
73
+ ) {
74
+ return encodeAbiParameters(FN_INPUTS, [options.pendingOwner]);
75
+ }
76
+
77
+ /**
78
+ * Encodes the "ownershipHandoverExpiresAt" function into a Hex string with its parameters.
79
+ * @param options - The options for the ownershipHandoverExpiresAt function.
80
+ * @returns The encoded hexadecimal string.
81
+ * @extension MODULAR
82
+ * @example
83
+ * ```ts
84
+ * import { encodeOwnershipHandoverExpiresAt } "thirdweb/extensions/modular";
85
+ * const result = encodeOwnershipHandoverExpiresAt({
86
+ * pendingOwner: ...,
87
+ * });
88
+ * ```
89
+ */
90
+ export function encodeOwnershipHandoverExpiresAt(
91
+ options: OwnershipHandoverExpiresAtParams,
92
+ ) {
93
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
94
+ // we can do this because we know the specific formats of the values
95
+ return (FN_SELECTOR +
96
+ encodeOwnershipHandoverExpiresAtParams(options).slice(
97
+ 2,
98
+ )) as `${typeof FN_SELECTOR}${string}`;
99
+ }
100
+
101
+ /**
102
+ * Decodes the result of the ownershipHandoverExpiresAt function call.
103
+ * @param result - The hexadecimal result to decode.
104
+ * @returns The decoded result as per the FN_OUTPUTS definition.
105
+ * @extension MODULAR
106
+ * @example
107
+ * ```ts
108
+ * import { decodeOwnershipHandoverExpiresAtResult } from "thirdweb/extensions/modular";
109
+ * const result = decodeOwnershipHandoverExpiresAtResult("...");
110
+ * ```
111
+ */
112
+ export function decodeOwnershipHandoverExpiresAtResult(result: Hex) {
113
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
114
+ }
115
+
116
+ /**
117
+ * Calls the "ownershipHandoverExpiresAt" function on the contract.
118
+ * @param options - The options for the ownershipHandoverExpiresAt function.
119
+ * @returns The parsed result of the function call.
120
+ * @extension MODULAR
121
+ * @example
122
+ * ```ts
123
+ * import { ownershipHandoverExpiresAt } from "thirdweb/extensions/modular";
124
+ *
125
+ * const result = await ownershipHandoverExpiresAt({
126
+ * contract,
127
+ * pendingOwner: ...,
128
+ * });
129
+ *
130
+ * ```
131
+ */
132
+ export async function ownershipHandoverExpiresAt(
133
+ options: BaseTransactionOptions<OwnershipHandoverExpiresAtParams>,
134
+ ) {
135
+ return readContract({
136
+ contract: options.contract,
137
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
138
+ params: [options.pendingOwner],
139
+ });
140
+ }