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