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.
- package/dist/cjs/contract/actions/resolve-abi.js +19 -1
- package/dist/cjs/contract/actions/resolve-abi.js.map +1 -1
- package/dist/cjs/exports/contract.js +6 -1
- package/dist/cjs/exports/contract.js.map +1 -1
- package/dist/cjs/exports/extensions/erc4337.js +7 -1
- package/dist/cjs/exports/extensions/erc4337.js.map +1 -1
- package/dist/cjs/exports/extensions/modular.js +56 -0
- package/dist/cjs/exports/extensions/modular.js.map +1 -0
- package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js +122 -0
- package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js.map +1 -0
- package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js +115 -0
- package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js.map +1 -0
- package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js +71 -0
- package/dist/cjs/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js.map +1 -0
- package/dist/cjs/extensions/modular/ModularCore/write/installPublishedExtension.js +27 -0
- package/dist/cjs/extensions/modular/ModularCore/write/installPublishedExtension.js.map +1 -0
- package/dist/cjs/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js +25 -0
- package/dist/cjs/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js.map +1 -0
- package/dist/cjs/extensions/modular/ModularCore/write/uninstallPublishedExtension.js +26 -0
- package/dist/cjs/extensions/modular/ModularCore/write/uninstallPublishedExtension.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js +131 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js +85 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/read/supportsInterface.js +118 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/read/supportsInterface.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/write/installExtension.js +128 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/write/installExtension.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js +128 -0
- package/dist/cjs/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js +119 -0
- package/dist/cjs/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js +28 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js +28 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js +32 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js +32 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js +33 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js +33 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js +131 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js +85 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js +126 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js +126 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/owner.js +73 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/owner.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js +118 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/rolesOf.js +118 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/rolesOf.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/supportsInterface.js +118 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/read/supportsInterface.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js +51 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js +117 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/grantRoles.js +125 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/grantRoles.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/installExtension.js +125 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/installExtension.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js +51 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceRoles.js +117 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/renounceRoles.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js +51 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/revokeRoles.js +125 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/revokeRoles.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/transferOwnership.js +117 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/transferOwnership.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js +125 -0
- package/dist/cjs/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js.map +1 -0
- package/dist/cjs/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js +119 -0
- package/dist/cjs/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/contract/actions/resolve-abi.js +19 -1
- package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
- package/dist/esm/exports/contract.js +2 -0
- package/dist/esm/exports/contract.js.map +1 -1
- package/dist/esm/exports/extensions/erc4337.js +3 -0
- package/dist/esm/exports/extensions/erc4337.js.map +1 -1
- package/dist/esm/exports/extensions/modular.js +28 -0
- package/dist/esm/exports/extensions/modular.js.map +1 -0
- package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js +114 -0
- package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js.map +1 -0
- package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js +107 -0
- package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js.map +1 -0
- package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js +65 -0
- package/dist/esm/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js.map +1 -0
- package/dist/esm/extensions/modular/ModularCore/write/installPublishedExtension.js +23 -0
- package/dist/esm/extensions/modular/ModularCore/write/installPublishedExtension.js.map +1 -0
- package/dist/esm/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js +21 -0
- package/dist/esm/extensions/modular/ModularCore/write/uninstallExtensionByProxy.js.map +1 -0
- package/dist/esm/extensions/modular/ModularCore/write/uninstallPublishedExtension.js +22 -0
- package/dist/esm/extensions/modular/ModularCore/write/uninstallPublishedExtension.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js +125 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js +79 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/read/supportsInterface.js +110 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/read/supportsInterface.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/write/installExtension.js +121 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/write/installExtension.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js +121 -0
- package/dist/esm/extensions/modular/__generated__/IModularCore/write/uninstallExtension.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js +113 -0
- package/dist/esm/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js +24 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js +24 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js +28 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js +28 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js +29 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js +29 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/events/RolesUpdated.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js +125 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js +79 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js +118 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAllRoles.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js +118 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/hasAnyRole.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/owner.js +67 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/owner.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js +110 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/rolesOf.js +110 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/rolesOf.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/supportsInterface.js +110 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/read/supportsInterface.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js +46 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js +110 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/grantRoles.js +118 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/grantRoles.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/installExtension.js +118 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/installExtension.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js +46 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceOwnership.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceRoles.js +110 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/renounceRoles.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js +46 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/revokeRoles.js +118 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/revokeRoles.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/transferOwnership.js +110 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/transferOwnership.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js +118 -0
- package/dist/esm/extensions/modular/__generated__/ModularCore/write/uninstallExtension.js.map +1 -0
- package/dist/esm/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js +113 -0
- package/dist/esm/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/contract/actions/resolve-abi.d.ts.map +1 -1
- package/dist/types/exports/contract.d.ts +1 -0
- package/dist/types/exports/contract.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc4337.d.ts +3 -0
- package/dist/types/exports/extensions/erc4337.d.ts.map +1 -1
- package/dist/types/exports/extensions/modular.d.ts +28 -0
- package/dist/types/exports/extensions/modular.d.ts.map +1 -0
- package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.d.ts +92 -0
- package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.d.ts.map +1 -0
- package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.d.ts +85 -0
- package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.d.ts.map +1 -0
- package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.d.ts +46 -0
- package/dist/types/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.d.ts.map +1 -0
- package/dist/types/extensions/modular/ModularCore/write/installPublishedExtension.d.ts +17 -0
- package/dist/types/extensions/modular/ModularCore/write/installPublishedExtension.d.ts.map +1 -0
- package/dist/types/extensions/modular/ModularCore/write/uninstallExtensionByProxy.d.ts +12 -0
- package/dist/types/extensions/modular/ModularCore/write/uninstallExtensionByProxy.d.ts.map +1 -0
- package/dist/types/extensions/modular/ModularCore/write/uninstallPublishedExtension.d.ts +15 -0
- package/dist/types/extensions/modular/ModularCore/write/uninstallPublishedExtension.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.d.ts +74 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.d.ts +52 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/read/supportsInterface.d.ts +86 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/read/supportsInterface.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/write/installExtension.d.ts +89 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/write/installExtension.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/write/uninstallExtension.d.ts +89 -0
- package/dist/types/extensions/modular/__generated__/IModularCore/write/uninstallExtension.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.d.ts +68 -0
- package/dist/types/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.d.ts +32 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.d.ts +32 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.d.ts +42 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.d.ts +42 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.d.ts +53 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/RolesUpdated.d.ts +53 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/events/RolesUpdated.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.d.ts +74 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.d.ts +52 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAllRoles.d.ts +94 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAllRoles.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAnyRole.d.ts +94 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/hasAnyRole.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/owner.d.ts +46 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/owner.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.d.ts +86 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/rolesOf.d.ts +86 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/rolesOf.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/supportsInterface.d.ts +86 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/read/supportsInterface.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.d.ts +34 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.d.ts +81 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/grantRoles.d.ts +89 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/grantRoles.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/installExtension.d.ts +89 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/installExtension.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceOwnership.d.ts +34 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceOwnership.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceRoles.d.ts +81 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/renounceRoles.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.d.ts +34 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/revokeRoles.d.ts +89 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/revokeRoles.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/transferOwnership.d.ts +81 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/transferOwnership.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/uninstallExtension.d.ts +89 -0
- package/dist/types/extensions/modular/__generated__/ModularCore/write/uninstallExtension.d.ts.map +1 -0
- package/dist/types/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.d.ts +68 -0
- package/dist/types/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.d.ts.map +1 -0
- package/dist/types/utils/any-evm/deploy-metadata.d.ts +4 -1
- package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/contract/actions/resolve-abi.ts +21 -0
- package/src/exports/contract.ts +7 -0
- package/src/exports/extensions/erc4337.ts +3 -0
- package/src/exports/extensions/modular.ts +78 -0
- package/src/extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.ts +135 -0
- package/src/extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.ts +127 -0
- package/src/extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.ts +74 -0
- package/src/extensions/modular/ModularCore/write/installPublishedExtension.ts +51 -0
- package/src/extensions/modular/ModularCore/write/uninstallExtensionByProxy.ts +40 -0
- package/src/extensions/modular/ModularCore/write/uninstallPublishedExtension.ts +47 -0
- package/src/extensions/modular/__generated__/IModularCore/read/getInstalledExtensions.ts +134 -0
- package/src/extensions/modular/__generated__/IModularCore/read/getSupportedCallbackFunctions.ts +90 -0
- package/src/extensions/modular/__generated__/IModularCore/read/supportsInterface.ts +138 -0
- package/src/extensions/modular/__generated__/IModularCore/write/installExtension.ts +160 -0
- package/src/extensions/modular/__generated__/IModularCore/write/uninstallExtension.ts +162 -0
- package/src/extensions/modular/__generated__/IModularExtension/read/getExtensionConfig.ts +122 -0
- package/src/extensions/modular/__generated__/ModularCore/events/ExtensionInstalled.ts +25 -0
- package/src/extensions/modular/__generated__/ModularCore/events/ExtensionUninstalled.ts +25 -0
- package/src/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverCanceled.ts +43 -0
- package/src/extensions/modular/__generated__/ModularCore/events/OwnershipHandoverRequested.ts +43 -0
- package/src/extensions/modular/__generated__/ModularCore/events/OwnershipTransferred.ts +51 -0
- package/src/extensions/modular/__generated__/ModularCore/events/RolesUpdated.ts +49 -0
- package/src/extensions/modular/__generated__/ModularCore/read/getInstalledExtensions.ts +134 -0
- package/src/extensions/modular/__generated__/ModularCore/read/getSupportedCallbackFunctions.ts +90 -0
- package/src/extensions/modular/__generated__/ModularCore/read/hasAllRoles.ts +147 -0
- package/src/extensions/modular/__generated__/ModularCore/read/hasAnyRole.ts +147 -0
- package/src/extensions/modular/__generated__/ModularCore/read/owner.ts +74 -0
- package/src/extensions/modular/__generated__/ModularCore/read/ownershipHandoverExpiresAt.ts +140 -0
- package/src/extensions/modular/__generated__/ModularCore/read/rolesOf.ts +130 -0
- package/src/extensions/modular/__generated__/ModularCore/read/supportsInterface.ts +138 -0
- package/src/extensions/modular/__generated__/ModularCore/write/cancelOwnershipHandover.ts +53 -0
- package/src/extensions/modular/__generated__/ModularCore/write/completeOwnershipHandover.ts +148 -0
- package/src/extensions/modular/__generated__/ModularCore/write/grantRoles.ts +155 -0
- package/src/extensions/modular/__generated__/ModularCore/write/installExtension.ts +157 -0
- package/src/extensions/modular/__generated__/ModularCore/write/renounceOwnership.ts +53 -0
- package/src/extensions/modular/__generated__/ModularCore/write/renounceRoles.ts +144 -0
- package/src/extensions/modular/__generated__/ModularCore/write/requestOwnershipHandover.ts +53 -0
- package/src/extensions/modular/__generated__/ModularCore/write/revokeRoles.ts +155 -0
- package/src/extensions/modular/__generated__/ModularCore/write/transferOwnership.ts +146 -0
- package/src/extensions/modular/__generated__/ModularCore/write/uninstallExtension.ts +159 -0
- package/src/extensions/modular/__generated__/ModularExtension/read/getExtensionConfig.ts +122 -0
- package/src/extensions/prebuilts/deploy-modular-core.test.ts +158 -0
- package/src/utils/any-evm/deploy-metadata.ts +4 -1
- package/src/version.ts +1 -1
@@ -0,0 +1,146 @@
|
|
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 "transferOwnership" function.
|
14
|
+
*/
|
15
|
+
export type TransferOwnershipParams = WithOverrides<{
|
16
|
+
newOwner: AbiParameterToPrimitiveType<{
|
17
|
+
name: "newOwner";
|
18
|
+
type: "address";
|
19
|
+
internalType: "address";
|
20
|
+
}>;
|
21
|
+
}>;
|
22
|
+
|
23
|
+
export const FN_SELECTOR = "0xf2fde38b" as const;
|
24
|
+
const FN_INPUTS = [
|
25
|
+
{
|
26
|
+
name: "newOwner",
|
27
|
+
type: "address",
|
28
|
+
internalType: "address",
|
29
|
+
},
|
30
|
+
] as const;
|
31
|
+
const FN_OUTPUTS = [] as const;
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Checks if the `transferOwnership` method is supported by the given contract.
|
35
|
+
* @param contract The ThirdwebContract.
|
36
|
+
* @returns A promise that resolves to a boolean indicating if the `transferOwnership` method is supported.
|
37
|
+
* @extension MODULAR
|
38
|
+
* @example
|
39
|
+
* ```ts
|
40
|
+
* import { isTransferOwnershipSupported } from "thirdweb/extensions/modular";
|
41
|
+
*
|
42
|
+
* const supported = await isTransferOwnershipSupported(contract);
|
43
|
+
* ```
|
44
|
+
*/
|
45
|
+
export async function isTransferOwnershipSupported(
|
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 "transferOwnership" function.
|
56
|
+
* @param options - The options for the transferOwnership function.
|
57
|
+
* @returns The encoded ABI parameters.
|
58
|
+
* @extension MODULAR
|
59
|
+
* @example
|
60
|
+
* ```ts
|
61
|
+
* import { encodeTransferOwnershipParams } "thirdweb/extensions/modular";
|
62
|
+
* const result = encodeTransferOwnershipParams({
|
63
|
+
* newOwner: ...,
|
64
|
+
* });
|
65
|
+
* ```
|
66
|
+
*/
|
67
|
+
export function encodeTransferOwnershipParams(
|
68
|
+
options: TransferOwnershipParams,
|
69
|
+
) {
|
70
|
+
return encodeAbiParameters(FN_INPUTS, [options.newOwner]);
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Encodes the "transferOwnership" function into a Hex string with its parameters.
|
75
|
+
* @param options - The options for the transferOwnership function.
|
76
|
+
* @returns The encoded hexadecimal string.
|
77
|
+
* @extension MODULAR
|
78
|
+
* @example
|
79
|
+
* ```ts
|
80
|
+
* import { encodeTransferOwnership } "thirdweb/extensions/modular";
|
81
|
+
* const result = encodeTransferOwnership({
|
82
|
+
* newOwner: ...,
|
83
|
+
* });
|
84
|
+
* ```
|
85
|
+
*/
|
86
|
+
export function encodeTransferOwnership(options: TransferOwnershipParams) {
|
87
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
88
|
+
// we can do this because we know the specific formats of the values
|
89
|
+
return (FN_SELECTOR +
|
90
|
+
encodeTransferOwnershipParams(options).slice(
|
91
|
+
2,
|
92
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
93
|
+
}
|
94
|
+
|
95
|
+
/**
|
96
|
+
* Prepares a transaction to call the "transferOwnership" function on the contract.
|
97
|
+
* @param options - The options for the "transferOwnership" function.
|
98
|
+
* @returns A prepared transaction object.
|
99
|
+
* @extension MODULAR
|
100
|
+
* @example
|
101
|
+
* ```ts
|
102
|
+
* import { transferOwnership } from "thirdweb/extensions/modular";
|
103
|
+
*
|
104
|
+
* const transaction = transferOwnership({
|
105
|
+
* contract,
|
106
|
+
* newOwner: ...,
|
107
|
+
* overrides: {
|
108
|
+
* ...
|
109
|
+
* }
|
110
|
+
* });
|
111
|
+
*
|
112
|
+
* // Send the transaction
|
113
|
+
* ...
|
114
|
+
*
|
115
|
+
* ```
|
116
|
+
*/
|
117
|
+
export function transferOwnership(
|
118
|
+
options: BaseTransactionOptions<
|
119
|
+
| TransferOwnershipParams
|
120
|
+
| {
|
121
|
+
asyncParams: () => Promise<TransferOwnershipParams>;
|
122
|
+
}
|
123
|
+
>,
|
124
|
+
) {
|
125
|
+
const asyncOptions = once(async () => {
|
126
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
127
|
+
});
|
128
|
+
|
129
|
+
return prepareContractCall({
|
130
|
+
contract: options.contract,
|
131
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
132
|
+
params: async () => {
|
133
|
+
const resolvedOptions = await asyncOptions();
|
134
|
+
return [resolvedOptions.newOwner] as const;
|
135
|
+
},
|
136
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
137
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
138
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
139
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
140
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
141
|
+
maxPriorityFeePerGas: async () =>
|
142
|
+
(await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
143
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
144
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
145
|
+
});
|
146
|
+
}
|
@@ -0,0 +1,159 @@
|
|
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 "uninstallExtension" function.
|
14
|
+
*/
|
15
|
+
export type UninstallExtensionParams = 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 = "0x42b7d0c8" 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 `uninstallExtension` method is supported by the given contract.
|
45
|
+
* @param contract The ThirdwebContract.
|
46
|
+
* @returns A promise that resolves to a boolean indicating if the `uninstallExtension` method is supported.
|
47
|
+
* @extension MODULAR
|
48
|
+
* @example
|
49
|
+
* ```ts
|
50
|
+
* import { isUninstallExtensionSupported } from "thirdweb/extensions/modular";
|
51
|
+
*
|
52
|
+
* const supported = await isUninstallExtensionSupported(contract);
|
53
|
+
* ```
|
54
|
+
*/
|
55
|
+
export async function isUninstallExtensionSupported(
|
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 "uninstallExtension" function.
|
66
|
+
* @param options - The options for the uninstallExtension function.
|
67
|
+
* @returns The encoded ABI parameters.
|
68
|
+
* @extension MODULAR
|
69
|
+
* @example
|
70
|
+
* ```ts
|
71
|
+
* import { encodeUninstallExtensionParams } "thirdweb/extensions/modular";
|
72
|
+
* const result = encodeUninstallExtensionParams({
|
73
|
+
* extension: ...,
|
74
|
+
* data: ...,
|
75
|
+
* });
|
76
|
+
* ```
|
77
|
+
*/
|
78
|
+
export function encodeUninstallExtensionParams(
|
79
|
+
options: UninstallExtensionParams,
|
80
|
+
) {
|
81
|
+
return encodeAbiParameters(FN_INPUTS, [options.extension, options.data]);
|
82
|
+
}
|
83
|
+
|
84
|
+
/**
|
85
|
+
* Encodes the "uninstallExtension" function into a Hex string with its parameters.
|
86
|
+
* @param options - The options for the uninstallExtension function.
|
87
|
+
* @returns The encoded hexadecimal string.
|
88
|
+
* @extension MODULAR
|
89
|
+
* @example
|
90
|
+
* ```ts
|
91
|
+
* import { encodeUninstallExtension } "thirdweb/extensions/modular";
|
92
|
+
* const result = encodeUninstallExtension({
|
93
|
+
* extension: ...,
|
94
|
+
* data: ...,
|
95
|
+
* });
|
96
|
+
* ```
|
97
|
+
*/
|
98
|
+
export function encodeUninstallExtension(options: UninstallExtensionParams) {
|
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
|
+
encodeUninstallExtensionParams(options).slice(
|
103
|
+
2,
|
104
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
105
|
+
}
|
106
|
+
|
107
|
+
/**
|
108
|
+
* Prepares a transaction to call the "uninstallExtension" function on the contract.
|
109
|
+
* @param options - The options for the "uninstallExtension" function.
|
110
|
+
* @returns A prepared transaction object.
|
111
|
+
* @extension MODULAR
|
112
|
+
* @example
|
113
|
+
* ```ts
|
114
|
+
* import { uninstallExtension } from "thirdweb/extensions/modular";
|
115
|
+
*
|
116
|
+
* const transaction = uninstallExtension({
|
117
|
+
* contract,
|
118
|
+
* extension: ...,
|
119
|
+
* data: ...,
|
120
|
+
* overrides: {
|
121
|
+
* ...
|
122
|
+
* }
|
123
|
+
* });
|
124
|
+
*
|
125
|
+
* // Send the transaction
|
126
|
+
* ...
|
127
|
+
*
|
128
|
+
* ```
|
129
|
+
*/
|
130
|
+
export function uninstallExtension(
|
131
|
+
options: BaseTransactionOptions<
|
132
|
+
| UninstallExtensionParams
|
133
|
+
| {
|
134
|
+
asyncParams: () => Promise<UninstallExtensionParams>;
|
135
|
+
}
|
136
|
+
>,
|
137
|
+
) {
|
138
|
+
const asyncOptions = once(async () => {
|
139
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
140
|
+
});
|
141
|
+
|
142
|
+
return prepareContractCall({
|
143
|
+
contract: options.contract,
|
144
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
145
|
+
params: async () => {
|
146
|
+
const resolvedOptions = await asyncOptions();
|
147
|
+
return [resolvedOptions.extension, resolvedOptions.data] as const;
|
148
|
+
},
|
149
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
150
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
151
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
152
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
153
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
154
|
+
maxPriorityFeePerGas: async () =>
|
155
|
+
(await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
156
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
157
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
158
|
+
});
|
159
|
+
}
|
@@ -0,0 +1,122 @@
|
|
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 = "0x7c173ecc" as const;
|
10
|
+
const FN_INPUTS = [] as const;
|
11
|
+
const FN_OUTPUTS = [
|
12
|
+
{
|
13
|
+
name: "",
|
14
|
+
type: "tuple",
|
15
|
+
internalType: "struct IExtensionConfig.ExtensionConfig",
|
16
|
+
components: [
|
17
|
+
{
|
18
|
+
name: "registerInstallationCallback",
|
19
|
+
type: "bool",
|
20
|
+
internalType: "bool",
|
21
|
+
},
|
22
|
+
{
|
23
|
+
name: "requiredInterfaces",
|
24
|
+
type: "bytes4[]",
|
25
|
+
internalType: "bytes4[]",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
name: "supportedInterfaces",
|
29
|
+
type: "bytes4[]",
|
30
|
+
internalType: "bytes4[]",
|
31
|
+
},
|
32
|
+
{
|
33
|
+
name: "callbackFunctions",
|
34
|
+
type: "tuple[]",
|
35
|
+
internalType: "struct IExtensionConfig.CallbackFunction[]",
|
36
|
+
components: [
|
37
|
+
{
|
38
|
+
name: "selector",
|
39
|
+
type: "bytes4",
|
40
|
+
internalType: "bytes4",
|
41
|
+
},
|
42
|
+
],
|
43
|
+
},
|
44
|
+
{
|
45
|
+
name: "fallbackFunctions",
|
46
|
+
type: "tuple[]",
|
47
|
+
internalType: "struct IExtensionConfig.FallbackFunction[]",
|
48
|
+
components: [
|
49
|
+
{
|
50
|
+
name: "selector",
|
51
|
+
type: "bytes4",
|
52
|
+
internalType: "bytes4",
|
53
|
+
},
|
54
|
+
{
|
55
|
+
name: "permissionBits",
|
56
|
+
type: "uint256",
|
57
|
+
internalType: "uint256",
|
58
|
+
},
|
59
|
+
],
|
60
|
+
},
|
61
|
+
],
|
62
|
+
},
|
63
|
+
] as const;
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Checks if the `getExtensionConfig` method is supported by the given contract.
|
67
|
+
* @param contract The ThirdwebContract.
|
68
|
+
* @returns A promise that resolves to a boolean indicating if the `getExtensionConfig` method is supported.
|
69
|
+
* @extension MODULAR
|
70
|
+
* @example
|
71
|
+
* ```ts
|
72
|
+
* import { isGetExtensionConfigSupported } from "thirdweb/extensions/modular";
|
73
|
+
*
|
74
|
+
* const supported = await isGetExtensionConfigSupported(contract);
|
75
|
+
* ```
|
76
|
+
*/
|
77
|
+
export async function isGetExtensionConfigSupported(
|
78
|
+
contract: ThirdwebContract<any>,
|
79
|
+
) {
|
80
|
+
return detectMethod({
|
81
|
+
contract,
|
82
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
83
|
+
});
|
84
|
+
}
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Decodes the result of the getExtensionConfig function call.
|
88
|
+
* @param result - The hexadecimal result to decode.
|
89
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
90
|
+
* @extension MODULAR
|
91
|
+
* @example
|
92
|
+
* ```ts
|
93
|
+
* import { decodeGetExtensionConfigResult } from "thirdweb/extensions/modular";
|
94
|
+
* const result = decodeGetExtensionConfigResult("...");
|
95
|
+
* ```
|
96
|
+
*/
|
97
|
+
export function decodeGetExtensionConfigResult(result: Hex) {
|
98
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
99
|
+
}
|
100
|
+
|
101
|
+
/**
|
102
|
+
* Calls the "getExtensionConfig" function on the contract.
|
103
|
+
* @param options - The options for the getExtensionConfig function.
|
104
|
+
* @returns The parsed result of the function call.
|
105
|
+
* @extension MODULAR
|
106
|
+
* @example
|
107
|
+
* ```ts
|
108
|
+
* import { getExtensionConfig } from "thirdweb/extensions/modular";
|
109
|
+
*
|
110
|
+
* const result = await getExtensionConfig({
|
111
|
+
* contract,
|
112
|
+
* });
|
113
|
+
*
|
114
|
+
* ```
|
115
|
+
*/
|
116
|
+
export async function getExtensionConfig(options: BaseTransactionOptions) {
|
117
|
+
return readContract({
|
118
|
+
contract: options.contract,
|
119
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
120
|
+
params: [],
|
121
|
+
});
|
122
|
+
}
|
@@ -0,0 +1,158 @@
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { ANVIL_CHAIN } from "../../../test/src/chains.js";
|
3
|
+
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
4
|
+
import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
|
5
|
+
import { ADDRESS_ZERO } from "../../constants/addresses.js";
|
6
|
+
import { getContract } from "../../contract/contract.js";
|
7
|
+
import { sendTransaction } from "../../transaction/actions/send-transaction.js";
|
8
|
+
import { installPublishedExtension } from "../modular/ModularCore/write/installPublishedExtension.js";
|
9
|
+
import { uninstallExtensionByProxy } from "../modular/ModularCore/write/uninstallExtensionByProxy.js";
|
10
|
+
import { uninstallPublishedExtension } from "../modular/ModularCore/write/uninstallPublishedExtension.js";
|
11
|
+
import { getInstalledExtensions } from "../modular/__generated__/ModularCore/read/getInstalledExtensions.js";
|
12
|
+
import { deployPublishedContract } from "./deploy-published.js";
|
13
|
+
|
14
|
+
describe.runIf(process.env.TW_SECRET_KEY)(
|
15
|
+
"deployModularCore",
|
16
|
+
{
|
17
|
+
timeout: 120000,
|
18
|
+
},
|
19
|
+
() => {
|
20
|
+
it("should deploy a published autofactory modular core contract", async () => {
|
21
|
+
const address = await deployPublishedContract({
|
22
|
+
client: TEST_CLIENT,
|
23
|
+
chain: ANVIL_CHAIN,
|
24
|
+
account: TEST_ACCOUNT_A,
|
25
|
+
contractId: "DemoCore",
|
26
|
+
contractParams: [TEST_ACCOUNT_A.address, [], ["0x"]],
|
27
|
+
publisher: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
28
|
+
});
|
29
|
+
expect(address).toBeDefined();
|
30
|
+
expect(address.length).toBe(42);
|
31
|
+
|
32
|
+
const installedExtensions = await getInstalledExtensions({
|
33
|
+
contract: getContract({
|
34
|
+
client: TEST_CLIENT,
|
35
|
+
chain: ANVIL_CHAIN,
|
36
|
+
address,
|
37
|
+
}),
|
38
|
+
});
|
39
|
+
expect(installedExtensions.length).toBe(0);
|
40
|
+
});
|
41
|
+
|
42
|
+
it("should install and uninstall an extension by proxy address", async () => {
|
43
|
+
// deploy core contract with extension
|
44
|
+
const address = await deployPublishedContract({
|
45
|
+
client: TEST_CLIENT,
|
46
|
+
chain: ANVIL_CHAIN,
|
47
|
+
account: TEST_ACCOUNT_A,
|
48
|
+
contractId: "DemoCore",
|
49
|
+
contractParams: [TEST_ACCOUNT_A.address, [], ["0x"]],
|
50
|
+
publisher: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
51
|
+
});
|
52
|
+
|
53
|
+
const core = getContract({
|
54
|
+
client: TEST_CLIENT,
|
55
|
+
chain: ANVIL_CHAIN,
|
56
|
+
address,
|
57
|
+
});
|
58
|
+
|
59
|
+
// install extension with published name
|
60
|
+
const installTransaction = installPublishedExtension({
|
61
|
+
contract: core,
|
62
|
+
chain: ANVIL_CHAIN,
|
63
|
+
client: TEST_CLIENT,
|
64
|
+
account: TEST_ACCOUNT_A,
|
65
|
+
extensionName: "DemoExtensionWithFunctions",
|
66
|
+
publisherAddress: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
67
|
+
});
|
68
|
+
await sendTransaction({
|
69
|
+
transaction: installTransaction,
|
70
|
+
account: TEST_ACCOUNT_A,
|
71
|
+
});
|
72
|
+
|
73
|
+
// get installed extension proxy address
|
74
|
+
let installedExtensions = await getInstalledExtensions({
|
75
|
+
contract: core,
|
76
|
+
});
|
77
|
+
const extensionAddress = installedExtensions[0]?.implementation;
|
78
|
+
expect(extensionAddress).to.not.equal(ADDRESS_ZERO);
|
79
|
+
|
80
|
+
// uninstall extension
|
81
|
+
const uninstallTransaction = uninstallExtensionByProxy({
|
82
|
+
contract: core,
|
83
|
+
chain: ANVIL_CHAIN,
|
84
|
+
client: TEST_CLIENT,
|
85
|
+
extensionProxyAddress: extensionAddress as string,
|
86
|
+
extensionData: "0x",
|
87
|
+
});
|
88
|
+
await sendTransaction({
|
89
|
+
transaction: uninstallTransaction,
|
90
|
+
account: TEST_ACCOUNT_A,
|
91
|
+
});
|
92
|
+
|
93
|
+
installedExtensions = await getInstalledExtensions({
|
94
|
+
contract: core,
|
95
|
+
});
|
96
|
+
|
97
|
+
expect(installedExtensions.length).toBe(0);
|
98
|
+
});
|
99
|
+
|
100
|
+
it("should install and uninstall extensions by publish name", async () => {
|
101
|
+
// deploy core contract with extension
|
102
|
+
const address = await deployPublishedContract({
|
103
|
+
client: TEST_CLIENT,
|
104
|
+
chain: ANVIL_CHAIN,
|
105
|
+
account: TEST_ACCOUNT_A,
|
106
|
+
contractId: "DemoCore",
|
107
|
+
contractParams: [TEST_ACCOUNT_A.address, [], ["0x"]],
|
108
|
+
publisher: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
109
|
+
});
|
110
|
+
|
111
|
+
const core = getContract({
|
112
|
+
client: TEST_CLIENT,
|
113
|
+
chain: ANVIL_CHAIN,
|
114
|
+
address,
|
115
|
+
});
|
116
|
+
|
117
|
+
// install extension with published name
|
118
|
+
const installTransaction = installPublishedExtension({
|
119
|
+
contract: core,
|
120
|
+
chain: ANVIL_CHAIN,
|
121
|
+
client: TEST_CLIENT,
|
122
|
+
account: TEST_ACCOUNT_A,
|
123
|
+
extensionName: "DemoExtensionWithFunctions",
|
124
|
+
publisherAddress: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
125
|
+
});
|
126
|
+
await sendTransaction({
|
127
|
+
transaction: installTransaction,
|
128
|
+
account: TEST_ACCOUNT_A,
|
129
|
+
});
|
130
|
+
|
131
|
+
let installedExtensions = await getInstalledExtensions({
|
132
|
+
contract: core,
|
133
|
+
});
|
134
|
+
|
135
|
+
expect(installedExtensions.length).toBe(1);
|
136
|
+
|
137
|
+
// uninstall extension
|
138
|
+
const uninstallTransaction = uninstallPublishedExtension({
|
139
|
+
contract: core,
|
140
|
+
chain: ANVIL_CHAIN,
|
141
|
+
client: TEST_CLIENT,
|
142
|
+
extensionName: "DemoExtensionWithFunctions",
|
143
|
+
publisherAddress: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
144
|
+
extensionData: "0x",
|
145
|
+
});
|
146
|
+
await sendTransaction({
|
147
|
+
transaction: uninstallTransaction,
|
148
|
+
account: TEST_ACCOUNT_A,
|
149
|
+
});
|
150
|
+
|
151
|
+
installedExtensions = await getInstalledExtensions({
|
152
|
+
contract: core,
|
153
|
+
});
|
154
|
+
|
155
|
+
expect(installedExtensions.length).toBe(0);
|
156
|
+
});
|
157
|
+
},
|
158
|
+
);
|
@@ -180,11 +180,14 @@ export type ExtendedMetadata = {
|
|
180
180
|
params: Array<{ name: string; type: string }>;
|
181
181
|
customFactoryAddresses: Record<string, string>;
|
182
182
|
};
|
183
|
+
modularFactoryInput?: {
|
184
|
+
hooksParamName: string;
|
185
|
+
};
|
183
186
|
factoryAddresses?: Record<string, string>;
|
184
187
|
}
|
185
188
|
| undefined;
|
186
189
|
deployType?: "standard" | "autoFactory" | "customFactory";
|
187
|
-
routerType?: "none" | "plugin" | "dynamic";
|
190
|
+
routerType?: "none" | "plugin" | "dynamic" | "modular";
|
188
191
|
networksForDeployment?: {
|
189
192
|
allNetworks?: boolean;
|
190
193
|
networksEnabled?: number[];
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.29.
|
1
|
+
export const version = "5.29.2-nightly-fb6a07d4b84ba8ea6389ca04c73625f670a0d9c4-20240614172741";
|