thirdweb 5.37.0 → 5.37.1-nightly-26d825bc4f0475523ea761aa18ab979557295c28-20240722000339
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/exports/extensions/lens.js +98 -0
- package/dist/cjs/exports/extensions/lens.js.map +1 -0
- package/dist/cjs/exports/extensions/permissions.js +7 -1
- package/dist/cjs/exports/extensions/permissions.js.map +1 -1
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowData.js +133 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowData.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js +71 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/isFollowing.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/isFollowing.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandle.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandle.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js +71 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getLocalName.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getLocalName.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getTokenId.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHandle/read/getTokenId.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/exists.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/exists.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getContentURI.js +122 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getContentURI.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfile.js +145 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfile.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getPublication.js +160 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/getPublication.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/nonces.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/nonces.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/tokenDataOf.js +125 -0
- package/dist/cjs/extensions/lens/__generated__/LensHub/read/tokenDataOf.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js +125 -0
- package/dist/cjs/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js +116 -0
- package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js.map +1 -0
- package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js +115 -0
- package/dist/cjs/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js.map +1 -0
- package/dist/cjs/extensions/lens/consts.js +26 -0
- package/dist/cjs/extensions/lens/consts.js.map +1 -0
- package/dist/cjs/extensions/lens/read/getFullProfile.js +74 -0
- package/dist/cjs/extensions/lens/read/getFullProfile.js.map +1 -0
- package/dist/cjs/extensions/lens/read/getHandleFromProfileId.js +50 -0
- package/dist/cjs/extensions/lens/read/getHandleFromProfileId.js.map +1 -0
- package/dist/cjs/extensions/lens/read/getProfileMetadata.js +55 -0
- package/dist/cjs/extensions/lens/read/getProfileMetadata.js.map +1 -0
- package/dist/cjs/extensions/lens/read/type.js +3 -0
- package/dist/cjs/extensions/lens/read/type.js.map +1 -0
- package/dist/cjs/extensions/permissions/utils.js +19 -5
- package/dist/cjs/extensions/permissions/utils.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/exports/extensions/lens.js +56 -0
- package/dist/esm/exports/extensions/lens.js.map +1 -0
- package/dist/esm/exports/extensions/permissions.js +4 -0
- package/dist/esm/exports/extensions/permissions.js.map +1 -1
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowData.js +125 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowData.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js +65 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/isFollowing.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/isFollowing.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js +107 -0
- package/dist/esm/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandle.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandle.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js +65 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getLocalName.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getLocalName.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getTokenId.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHandle/read/getTokenId.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/exists.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/exists.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getContentURI.js +114 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getContentURI.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfile.js +137 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfile.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getPublication.js +152 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/getPublication.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/mintTimestampOf.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/nonces.js +107 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/nonces.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/tokenDataOf.js +117 -0
- package/dist/esm/extensions/lens/__generated__/LensHub/read/tokenDataOf.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js +107 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js +107 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js +107 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js +117 -0
- package/dist/esm/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js +107 -0
- package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js +108 -0
- package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.js.map +1 -0
- package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js +107 -0
- package/dist/esm/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.js.map +1 -0
- package/dist/esm/extensions/lens/consts.js +23 -0
- package/dist/esm/extensions/lens/consts.js.map +1 -0
- package/dist/esm/extensions/lens/read/getFullProfile.js +71 -0
- package/dist/esm/extensions/lens/read/getFullProfile.js.map +1 -0
- package/dist/esm/extensions/lens/read/getHandleFromProfileId.js +47 -0
- package/dist/esm/extensions/lens/read/getHandleFromProfileId.js.map +1 -0
- package/dist/esm/extensions/lens/read/getProfileMetadata.js +52 -0
- package/dist/esm/extensions/lens/read/getProfileMetadata.js.map +1 -0
- package/dist/esm/extensions/lens/read/type.js +2 -0
- package/dist/esm/extensions/lens/read/type.js.map +1 -0
- package/dist/esm/extensions/permissions/utils.js +15 -1
- package/dist/esm/extensions/permissions/utils.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/exports/extensions/lens.d.ts +53 -0
- package/dist/types/exports/extensions/lens.d.ts.map +1 -0
- package/dist/types/exports/extensions/permissions.d.ts +1 -0
- package/dist/types/exports/extensions/permissions.d.ts.map +1 -1
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowData.d.ts +95 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowData.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.d.ts +46 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/isFollowing.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/isFollowing.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandle.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandle.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.d.ts +46 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getLocalName.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getLocalName.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getTokenId.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHandle/read/getTokenId.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/exists.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/exists.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getContentURI.d.ts +92 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getContentURI.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getProfile.d.ts +101 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getProfile.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getPublication.d.ts +112 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/getPublication.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/mintTimestampOf.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/mintTimestampOf.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/nonces.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/nonces.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/tokenDataOf.d.ts +91 -0
- package/dist/types/extensions/lens/__generated__/LensHub/read/tokenDataOf.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.d.ts +92 -0
- package/dist/types/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.d.ts.map +1 -0
- package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.d.ts +85 -0
- package/dist/types/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.d.ts.map +1 -0
- package/dist/types/extensions/lens/consts.d.ts +20 -0
- package/dist/types/extensions/lens/consts.d.ts.map +1 -0
- package/dist/types/extensions/lens/read/getFullProfile.d.ts +37 -0
- package/dist/types/extensions/lens/read/getFullProfile.d.ts.map +1 -0
- package/dist/types/extensions/lens/read/getHandleFromProfileId.d.ts +28 -0
- package/dist/types/extensions/lens/read/getHandleFromProfileId.d.ts.map +1 -0
- package/dist/types/extensions/lens/read/getProfileMetadata.d.ts +36 -0
- package/dist/types/extensions/lens/read/getProfileMetadata.d.ts.map +1 -0
- package/dist/types/extensions/lens/read/type.d.ts +37 -0
- package/dist/types/extensions/lens/read/type.d.ts.map +1 -0
- package/dist/types/extensions/permissions/utils.d.ts +15 -2
- package/dist/types/extensions/permissions/utils.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 +1 -1
- package/src/exports/extensions/lens.ts +155 -0
- package/src/exports/extensions/permissions.ts +5 -0
- package/src/extensions/erc1155/drops/read/getActiveClaimCondition.test.ts +3 -4
- package/src/extensions/erc20/drops/read/getActiveClaimCondition.test.ts +2 -2
- package/src/extensions/erc721/drops/read/getActiveClaimCondition.test.ts +2 -2
- package/src/extensions/lens/__generated__/FollowNFT/read/getFollowData.ts +150 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/getFollowTimestamp.ts +134 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/getFollowTokenId.ts +132 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/getFollowerCount.ts +74 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/getFollowerProfileId.ts +136 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/getOriginalFollowTimestamp.ts +136 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/getProfileIdAllowedToRecover.ts +136 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/isFollowing.ts +130 -0
- package/src/extensions/lens/__generated__/FollowNFT/read/mintTimestampOf.ts +129 -0
- package/src/extensions/lens/__generated__/LensHandle/read/getHandle.ts +127 -0
- package/src/extensions/lens/__generated__/LensHandle/read/getHandleTokenURIContract.ts +76 -0
- package/src/extensions/lens/__generated__/LensHandle/read/getLocalName.ts +127 -0
- package/src/extensions/lens/__generated__/LensHandle/read/getTokenId.ts +127 -0
- package/src/extensions/lens/__generated__/LensHub/read/exists.ts +123 -0
- package/src/extensions/lens/__generated__/LensHub/read/getContentURI.ts +140 -0
- package/src/extensions/lens/__generated__/LensHub/read/getProfile.ts +160 -0
- package/src/extensions/lens/__generated__/LensHub/read/getProfileIdByHandleHash.ts +136 -0
- package/src/extensions/lens/__generated__/LensHub/read/getPublication.ts +178 -0
- package/src/extensions/lens/__generated__/LensHub/read/mintTimestampOf.ts +129 -0
- package/src/extensions/lens/__generated__/LensHub/read/nonces.ts +123 -0
- package/src/extensions/lens/__generated__/LensHub/read/tokenDataOf.ts +137 -0
- package/src/extensions/lens/__generated__/ModuleRegistry/read/getModuleTypes.ts +132 -0
- package/src/extensions/lens/__generated__/ModuleRegistry/read/isErc20CurrencyRegistered.ts +136 -0
- package/src/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegistered.ts +134 -0
- package/src/extensions/lens/__generated__/ModuleRegistry/read/isModuleRegisteredAs.ts +150 -0
- package/src/extensions/lens/__generated__/TokenHandleRegistry/read/getDefaultHandle.ts +132 -0
- package/src/extensions/lens/__generated__/TokenHandleRegistry/read/nonces.ts +124 -0
- package/src/extensions/lens/__generated__/TokenHandleRegistry/read/resolve.ts +123 -0
- package/src/extensions/lens/consts.ts +35 -0
- package/src/extensions/lens/read/getFullProfile.test.ts +40 -0
- package/src/extensions/lens/read/getFullProfile.ts +106 -0
- package/src/extensions/lens/read/getHandleFromProfileId.test.ts +45 -0
- package/src/extensions/lens/read/getHandleFromProfileId.ts +67 -0
- package/src/extensions/lens/read/getProfileMetadata.test.ts +43 -0
- package/src/extensions/lens/read/getProfileMetadata.ts +67 -0
- package/src/extensions/lens/read/type.ts +50 -0
- package/src/extensions/permissions/utils.ts +15 -1
- package/src/version.ts +1 -1
@@ -0,0 +1,178 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
3
|
+
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
|
4
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
5
|
+
import { decodeAbiParameters } from "viem";
|
6
|
+
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
7
|
+
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
8
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Represents the parameters for the "getPublication" function.
|
12
|
+
*/
|
13
|
+
export type GetPublicationParams = {
|
14
|
+
profileId: AbiParameterToPrimitiveType<{
|
15
|
+
type: "uint256";
|
16
|
+
name: "profileId";
|
17
|
+
}>;
|
18
|
+
pubId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "pubId" }>;
|
19
|
+
};
|
20
|
+
|
21
|
+
export const FN_SELECTOR = "0x7385ebc9" as const;
|
22
|
+
const FN_INPUTS = [
|
23
|
+
{
|
24
|
+
type: "uint256",
|
25
|
+
name: "profileId",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
type: "uint256",
|
29
|
+
name: "pubId",
|
30
|
+
},
|
31
|
+
] as const;
|
32
|
+
const FN_OUTPUTS = [
|
33
|
+
{
|
34
|
+
type: "tuple",
|
35
|
+
components: [
|
36
|
+
{
|
37
|
+
type: "uint256",
|
38
|
+
name: "pointedProfileId",
|
39
|
+
},
|
40
|
+
{
|
41
|
+
type: "uint256",
|
42
|
+
name: "pointedPubId",
|
43
|
+
},
|
44
|
+
{
|
45
|
+
type: "string",
|
46
|
+
name: "contentURI",
|
47
|
+
},
|
48
|
+
{
|
49
|
+
type: "address",
|
50
|
+
name: "referenceModule",
|
51
|
+
},
|
52
|
+
{
|
53
|
+
type: "address",
|
54
|
+
name: "__DEPRECATED__collectModule",
|
55
|
+
},
|
56
|
+
{
|
57
|
+
type: "address",
|
58
|
+
name: "__DEPRECATED__collectNFT",
|
59
|
+
},
|
60
|
+
{
|
61
|
+
type: "uint8",
|
62
|
+
name: "pubType",
|
63
|
+
},
|
64
|
+
{
|
65
|
+
type: "uint256",
|
66
|
+
name: "rootProfileId",
|
67
|
+
},
|
68
|
+
{
|
69
|
+
type: "uint256",
|
70
|
+
name: "rootPubId",
|
71
|
+
},
|
72
|
+
],
|
73
|
+
},
|
74
|
+
] as const;
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Checks if the `getPublication` method is supported by the given contract.
|
78
|
+
* @param contract The ThirdwebContract.
|
79
|
+
* @returns A promise that resolves to a boolean indicating if the `getPublication` method is supported.
|
80
|
+
* @extension LENS
|
81
|
+
* @example
|
82
|
+
* ```ts
|
83
|
+
* import { isGetPublicationSupported } from "thirdweb/extensions/lens";
|
84
|
+
*
|
85
|
+
* const supported = await isGetPublicationSupported(contract);
|
86
|
+
* ```
|
87
|
+
*/
|
88
|
+
export async function isGetPublicationSupported(
|
89
|
+
contract: ThirdwebContract<any>,
|
90
|
+
) {
|
91
|
+
return detectMethod({
|
92
|
+
contract,
|
93
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
94
|
+
});
|
95
|
+
}
|
96
|
+
|
97
|
+
/**
|
98
|
+
* Encodes the parameters for the "getPublication" function.
|
99
|
+
* @param options - The options for the getPublication function.
|
100
|
+
* @returns The encoded ABI parameters.
|
101
|
+
* @extension LENS
|
102
|
+
* @example
|
103
|
+
* ```ts
|
104
|
+
* import { encodeGetPublicationParams } "thirdweb/extensions/lens";
|
105
|
+
* const result = encodeGetPublicationParams({
|
106
|
+
* profileId: ...,
|
107
|
+
* pubId: ...,
|
108
|
+
* });
|
109
|
+
* ```
|
110
|
+
*/
|
111
|
+
export function encodeGetPublicationParams(options: GetPublicationParams) {
|
112
|
+
return encodeAbiParameters(FN_INPUTS, [options.profileId, options.pubId]);
|
113
|
+
}
|
114
|
+
|
115
|
+
/**
|
116
|
+
* Encodes the "getPublication" function into a Hex string with its parameters.
|
117
|
+
* @param options - The options for the getPublication function.
|
118
|
+
* @returns The encoded hexadecimal string.
|
119
|
+
* @extension LENS
|
120
|
+
* @example
|
121
|
+
* ```ts
|
122
|
+
* import { encodeGetPublication } "thirdweb/extensions/lens";
|
123
|
+
* const result = encodeGetPublication({
|
124
|
+
* profileId: ...,
|
125
|
+
* pubId: ...,
|
126
|
+
* });
|
127
|
+
* ```
|
128
|
+
*/
|
129
|
+
export function encodeGetPublication(options: GetPublicationParams) {
|
130
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
131
|
+
// we can do this because we know the specific formats of the values
|
132
|
+
return (FN_SELECTOR +
|
133
|
+
encodeGetPublicationParams(options).slice(
|
134
|
+
2,
|
135
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
136
|
+
}
|
137
|
+
|
138
|
+
/**
|
139
|
+
* Decodes the result of the getPublication function call.
|
140
|
+
* @param result - The hexadecimal result to decode.
|
141
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
142
|
+
* @extension LENS
|
143
|
+
* @example
|
144
|
+
* ```ts
|
145
|
+
* import { decodeGetPublicationResult } from "thirdweb/extensions/lens";
|
146
|
+
* const result = decodeGetPublicationResult("...");
|
147
|
+
* ```
|
148
|
+
*/
|
149
|
+
export function decodeGetPublicationResult(result: Hex) {
|
150
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
151
|
+
}
|
152
|
+
|
153
|
+
/**
|
154
|
+
* Calls the "getPublication" function on the contract.
|
155
|
+
* @param options - The options for the getPublication function.
|
156
|
+
* @returns The parsed result of the function call.
|
157
|
+
* @extension LENS
|
158
|
+
* @example
|
159
|
+
* ```ts
|
160
|
+
* import { getPublication } from "thirdweb/extensions/lens";
|
161
|
+
*
|
162
|
+
* const result = await getPublication({
|
163
|
+
* contract,
|
164
|
+
* profileId: ...,
|
165
|
+
* pubId: ...,
|
166
|
+
* });
|
167
|
+
*
|
168
|
+
* ```
|
169
|
+
*/
|
170
|
+
export async function getPublication(
|
171
|
+
options: BaseTransactionOptions<GetPublicationParams>,
|
172
|
+
) {
|
173
|
+
return readContract({
|
174
|
+
contract: options.contract,
|
175
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
176
|
+
params: [options.profileId, options.pubId],
|
177
|
+
});
|
178
|
+
}
|
@@ -0,0 +1,129 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
3
|
+
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
|
4
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
5
|
+
import { decodeAbiParameters } from "viem";
|
6
|
+
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
7
|
+
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
8
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Represents the parameters for the "mintTimestampOf" function.
|
12
|
+
*/
|
13
|
+
export type MintTimestampOfParams = {
|
14
|
+
tokenId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "tokenId" }>;
|
15
|
+
};
|
16
|
+
|
17
|
+
export const FN_SELECTOR = "0x50ddf35c" as const;
|
18
|
+
const FN_INPUTS = [
|
19
|
+
{
|
20
|
+
type: "uint256",
|
21
|
+
name: "tokenId",
|
22
|
+
},
|
23
|
+
] as const;
|
24
|
+
const FN_OUTPUTS = [
|
25
|
+
{
|
26
|
+
type: "uint256",
|
27
|
+
},
|
28
|
+
] as const;
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Checks if the `mintTimestampOf` method is supported by the given contract.
|
32
|
+
* @param contract The ThirdwebContract.
|
33
|
+
* @returns A promise that resolves to a boolean indicating if the `mintTimestampOf` method is supported.
|
34
|
+
* @extension LENS
|
35
|
+
* @example
|
36
|
+
* ```ts
|
37
|
+
* import { isMintTimestampOfSupported } from "thirdweb/extensions/lens";
|
38
|
+
*
|
39
|
+
* const supported = await isMintTimestampOfSupported(contract);
|
40
|
+
* ```
|
41
|
+
*/
|
42
|
+
export async function isMintTimestampOfSupported(
|
43
|
+
contract: ThirdwebContract<any>,
|
44
|
+
) {
|
45
|
+
return detectMethod({
|
46
|
+
contract,
|
47
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
48
|
+
});
|
49
|
+
}
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Encodes the parameters for the "mintTimestampOf" function.
|
53
|
+
* @param options - The options for the mintTimestampOf function.
|
54
|
+
* @returns The encoded ABI parameters.
|
55
|
+
* @extension LENS
|
56
|
+
* @example
|
57
|
+
* ```ts
|
58
|
+
* import { encodeMintTimestampOfParams } "thirdweb/extensions/lens";
|
59
|
+
* const result = encodeMintTimestampOfParams({
|
60
|
+
* tokenId: ...,
|
61
|
+
* });
|
62
|
+
* ```
|
63
|
+
*/
|
64
|
+
export function encodeMintTimestampOfParams(options: MintTimestampOfParams) {
|
65
|
+
return encodeAbiParameters(FN_INPUTS, [options.tokenId]);
|
66
|
+
}
|
67
|
+
|
68
|
+
/**
|
69
|
+
* Encodes the "mintTimestampOf" function into a Hex string with its parameters.
|
70
|
+
* @param options - The options for the mintTimestampOf function.
|
71
|
+
* @returns The encoded hexadecimal string.
|
72
|
+
* @extension LENS
|
73
|
+
* @example
|
74
|
+
* ```ts
|
75
|
+
* import { encodeMintTimestampOf } "thirdweb/extensions/lens";
|
76
|
+
* const result = encodeMintTimestampOf({
|
77
|
+
* tokenId: ...,
|
78
|
+
* });
|
79
|
+
* ```
|
80
|
+
*/
|
81
|
+
export function encodeMintTimestampOf(options: MintTimestampOfParams) {
|
82
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
83
|
+
// we can do this because we know the specific formats of the values
|
84
|
+
return (FN_SELECTOR +
|
85
|
+
encodeMintTimestampOfParams(options).slice(
|
86
|
+
2,
|
87
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
88
|
+
}
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Decodes the result of the mintTimestampOf function call.
|
92
|
+
* @param result - The hexadecimal result to decode.
|
93
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
94
|
+
* @extension LENS
|
95
|
+
* @example
|
96
|
+
* ```ts
|
97
|
+
* import { decodeMintTimestampOfResult } from "thirdweb/extensions/lens";
|
98
|
+
* const result = decodeMintTimestampOfResult("...");
|
99
|
+
* ```
|
100
|
+
*/
|
101
|
+
export function decodeMintTimestampOfResult(result: Hex) {
|
102
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
103
|
+
}
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Calls the "mintTimestampOf" function on the contract.
|
107
|
+
* @param options - The options for the mintTimestampOf function.
|
108
|
+
* @returns The parsed result of the function call.
|
109
|
+
* @extension LENS
|
110
|
+
* @example
|
111
|
+
* ```ts
|
112
|
+
* import { mintTimestampOf } from "thirdweb/extensions/lens";
|
113
|
+
*
|
114
|
+
* const result = await mintTimestampOf({
|
115
|
+
* contract,
|
116
|
+
* tokenId: ...,
|
117
|
+
* });
|
118
|
+
*
|
119
|
+
* ```
|
120
|
+
*/
|
121
|
+
export async function mintTimestampOf(
|
122
|
+
options: BaseTransactionOptions<MintTimestampOfParams>,
|
123
|
+
) {
|
124
|
+
return readContract({
|
125
|
+
contract: options.contract,
|
126
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
127
|
+
params: [options.tokenId],
|
128
|
+
});
|
129
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
3
|
+
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
|
4
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
5
|
+
import { decodeAbiParameters } from "viem";
|
6
|
+
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
7
|
+
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
8
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Represents the parameters for the "nonces" function.
|
12
|
+
*/
|
13
|
+
export type NoncesParams = {
|
14
|
+
signer: AbiParameterToPrimitiveType<{ type: "address"; name: "signer" }>;
|
15
|
+
};
|
16
|
+
|
17
|
+
export const FN_SELECTOR = "0x7ecebe00" as const;
|
18
|
+
const FN_INPUTS = [
|
19
|
+
{
|
20
|
+
type: "address",
|
21
|
+
name: "signer",
|
22
|
+
},
|
23
|
+
] as const;
|
24
|
+
const FN_OUTPUTS = [
|
25
|
+
{
|
26
|
+
type: "uint256",
|
27
|
+
},
|
28
|
+
] as const;
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Checks if the `nonces` method is supported by the given contract.
|
32
|
+
* @param contract The ThirdwebContract.
|
33
|
+
* @returns A promise that resolves to a boolean indicating if the `nonces` method is supported.
|
34
|
+
* @extension LENS
|
35
|
+
* @example
|
36
|
+
* ```ts
|
37
|
+
* import { isNoncesSupported } from "thirdweb/extensions/lens";
|
38
|
+
*
|
39
|
+
* const supported = await isNoncesSupported(contract);
|
40
|
+
* ```
|
41
|
+
*/
|
42
|
+
export async function isNoncesSupported(contract: ThirdwebContract<any>) {
|
43
|
+
return detectMethod({
|
44
|
+
contract,
|
45
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
46
|
+
});
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Encodes the parameters for the "nonces" function.
|
51
|
+
* @param options - The options for the nonces function.
|
52
|
+
* @returns The encoded ABI parameters.
|
53
|
+
* @extension LENS
|
54
|
+
* @example
|
55
|
+
* ```ts
|
56
|
+
* import { encodeNoncesParams } "thirdweb/extensions/lens";
|
57
|
+
* const result = encodeNoncesParams({
|
58
|
+
* signer: ...,
|
59
|
+
* });
|
60
|
+
* ```
|
61
|
+
*/
|
62
|
+
export function encodeNoncesParams(options: NoncesParams) {
|
63
|
+
return encodeAbiParameters(FN_INPUTS, [options.signer]);
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Encodes the "nonces" function into a Hex string with its parameters.
|
68
|
+
* @param options - The options for the nonces function.
|
69
|
+
* @returns The encoded hexadecimal string.
|
70
|
+
* @extension LENS
|
71
|
+
* @example
|
72
|
+
* ```ts
|
73
|
+
* import { encodeNonces } "thirdweb/extensions/lens";
|
74
|
+
* const result = encodeNonces({
|
75
|
+
* signer: ...,
|
76
|
+
* });
|
77
|
+
* ```
|
78
|
+
*/
|
79
|
+
export function encodeNonces(options: NoncesParams) {
|
80
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
81
|
+
// we can do this because we know the specific formats of the values
|
82
|
+
return (FN_SELECTOR +
|
83
|
+
encodeNoncesParams(options).slice(2)) as `${typeof FN_SELECTOR}${string}`;
|
84
|
+
}
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Decodes the result of the nonces function call.
|
88
|
+
* @param result - The hexadecimal result to decode.
|
89
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
90
|
+
* @extension LENS
|
91
|
+
* @example
|
92
|
+
* ```ts
|
93
|
+
* import { decodeNoncesResult } from "thirdweb/extensions/lens";
|
94
|
+
* const result = decodeNoncesResult("...");
|
95
|
+
* ```
|
96
|
+
*/
|
97
|
+
export function decodeNoncesResult(result: Hex) {
|
98
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
99
|
+
}
|
100
|
+
|
101
|
+
/**
|
102
|
+
* Calls the "nonces" function on the contract.
|
103
|
+
* @param options - The options for the nonces function.
|
104
|
+
* @returns The parsed result of the function call.
|
105
|
+
* @extension LENS
|
106
|
+
* @example
|
107
|
+
* ```ts
|
108
|
+
* import { nonces } from "thirdweb/extensions/lens";
|
109
|
+
*
|
110
|
+
* const result = await nonces({
|
111
|
+
* contract,
|
112
|
+
* signer: ...,
|
113
|
+
* });
|
114
|
+
*
|
115
|
+
* ```
|
116
|
+
*/
|
117
|
+
export async function nonces(options: BaseTransactionOptions<NoncesParams>) {
|
118
|
+
return readContract({
|
119
|
+
contract: options.contract,
|
120
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
121
|
+
params: [options.signer],
|
122
|
+
});
|
123
|
+
}
|
@@ -0,0 +1,137 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
3
|
+
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
|
4
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
5
|
+
import { decodeAbiParameters } from "viem";
|
6
|
+
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
7
|
+
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
8
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Represents the parameters for the "tokenDataOf" function.
|
12
|
+
*/
|
13
|
+
export type TokenDataOfParams = {
|
14
|
+
tokenId: AbiParameterToPrimitiveType<{ type: "uint256"; name: "tokenId" }>;
|
15
|
+
};
|
16
|
+
|
17
|
+
export const FN_SELECTOR = "0xc0da9bcd" as const;
|
18
|
+
const FN_INPUTS = [
|
19
|
+
{
|
20
|
+
type: "uint256",
|
21
|
+
name: "tokenId",
|
22
|
+
},
|
23
|
+
] as const;
|
24
|
+
const FN_OUTPUTS = [
|
25
|
+
{
|
26
|
+
type: "tuple",
|
27
|
+
components: [
|
28
|
+
{
|
29
|
+
type: "address",
|
30
|
+
name: "owner",
|
31
|
+
},
|
32
|
+
{
|
33
|
+
type: "uint96",
|
34
|
+
name: "mintTimestamp",
|
35
|
+
},
|
36
|
+
],
|
37
|
+
},
|
38
|
+
] as const;
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Checks if the `tokenDataOf` method is supported by the given contract.
|
42
|
+
* @param contract The ThirdwebContract.
|
43
|
+
* @returns A promise that resolves to a boolean indicating if the `tokenDataOf` method is supported.
|
44
|
+
* @extension LENS
|
45
|
+
* @example
|
46
|
+
* ```ts
|
47
|
+
* import { isTokenDataOfSupported } from "thirdweb/extensions/lens";
|
48
|
+
*
|
49
|
+
* const supported = await isTokenDataOfSupported(contract);
|
50
|
+
* ```
|
51
|
+
*/
|
52
|
+
export async function isTokenDataOfSupported(contract: ThirdwebContract<any>) {
|
53
|
+
return detectMethod({
|
54
|
+
contract,
|
55
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
56
|
+
});
|
57
|
+
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Encodes the parameters for the "tokenDataOf" function.
|
61
|
+
* @param options - The options for the tokenDataOf function.
|
62
|
+
* @returns The encoded ABI parameters.
|
63
|
+
* @extension LENS
|
64
|
+
* @example
|
65
|
+
* ```ts
|
66
|
+
* import { encodeTokenDataOfParams } "thirdweb/extensions/lens";
|
67
|
+
* const result = encodeTokenDataOfParams({
|
68
|
+
* tokenId: ...,
|
69
|
+
* });
|
70
|
+
* ```
|
71
|
+
*/
|
72
|
+
export function encodeTokenDataOfParams(options: TokenDataOfParams) {
|
73
|
+
return encodeAbiParameters(FN_INPUTS, [options.tokenId]);
|
74
|
+
}
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Encodes the "tokenDataOf" function into a Hex string with its parameters.
|
78
|
+
* @param options - The options for the tokenDataOf function.
|
79
|
+
* @returns The encoded hexadecimal string.
|
80
|
+
* @extension LENS
|
81
|
+
* @example
|
82
|
+
* ```ts
|
83
|
+
* import { encodeTokenDataOf } "thirdweb/extensions/lens";
|
84
|
+
* const result = encodeTokenDataOf({
|
85
|
+
* tokenId: ...,
|
86
|
+
* });
|
87
|
+
* ```
|
88
|
+
*/
|
89
|
+
export function encodeTokenDataOf(options: TokenDataOfParams) {
|
90
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
91
|
+
// we can do this because we know the specific formats of the values
|
92
|
+
return (FN_SELECTOR +
|
93
|
+
encodeTokenDataOfParams(options).slice(
|
94
|
+
2,
|
95
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
96
|
+
}
|
97
|
+
|
98
|
+
/**
|
99
|
+
* Decodes the result of the tokenDataOf function call.
|
100
|
+
* @param result - The hexadecimal result to decode.
|
101
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
102
|
+
* @extension LENS
|
103
|
+
* @example
|
104
|
+
* ```ts
|
105
|
+
* import { decodeTokenDataOfResult } from "thirdweb/extensions/lens";
|
106
|
+
* const result = decodeTokenDataOfResult("...");
|
107
|
+
* ```
|
108
|
+
*/
|
109
|
+
export function decodeTokenDataOfResult(result: Hex) {
|
110
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
111
|
+
}
|
112
|
+
|
113
|
+
/**
|
114
|
+
* Calls the "tokenDataOf" function on the contract.
|
115
|
+
* @param options - The options for the tokenDataOf function.
|
116
|
+
* @returns The parsed result of the function call.
|
117
|
+
* @extension LENS
|
118
|
+
* @example
|
119
|
+
* ```ts
|
120
|
+
* import { tokenDataOf } from "thirdweb/extensions/lens";
|
121
|
+
*
|
122
|
+
* const result = await tokenDataOf({
|
123
|
+
* contract,
|
124
|
+
* tokenId: ...,
|
125
|
+
* });
|
126
|
+
*
|
127
|
+
* ```
|
128
|
+
*/
|
129
|
+
export async function tokenDataOf(
|
130
|
+
options: BaseTransactionOptions<TokenDataOfParams>,
|
131
|
+
) {
|
132
|
+
return readContract({
|
133
|
+
contract: options.contract,
|
134
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
135
|
+
params: [options.tokenId],
|
136
|
+
});
|
137
|
+
}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
3
|
+
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
|
4
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
5
|
+
import { decodeAbiParameters } from "viem";
|
6
|
+
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
7
|
+
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
8
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Represents the parameters for the "getModuleTypes" function.
|
12
|
+
*/
|
13
|
+
export type GetModuleTypesParams = {
|
14
|
+
moduleAddress: AbiParameterToPrimitiveType<{
|
15
|
+
type: "address";
|
16
|
+
name: "moduleAddress";
|
17
|
+
}>;
|
18
|
+
};
|
19
|
+
|
20
|
+
export const FN_SELECTOR = "0xc5dcd896" as const;
|
21
|
+
const FN_INPUTS = [
|
22
|
+
{
|
23
|
+
type: "address",
|
24
|
+
name: "moduleAddress",
|
25
|
+
},
|
26
|
+
] as const;
|
27
|
+
const FN_OUTPUTS = [
|
28
|
+
{
|
29
|
+
type: "uint256",
|
30
|
+
},
|
31
|
+
] as const;
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Checks if the `getModuleTypes` method is supported by the given contract.
|
35
|
+
* @param contract The ThirdwebContract.
|
36
|
+
* @returns A promise that resolves to a boolean indicating if the `getModuleTypes` method is supported.
|
37
|
+
* @extension LENS
|
38
|
+
* @example
|
39
|
+
* ```ts
|
40
|
+
* import { isGetModuleTypesSupported } from "thirdweb/extensions/lens";
|
41
|
+
*
|
42
|
+
* const supported = await isGetModuleTypesSupported(contract);
|
43
|
+
* ```
|
44
|
+
*/
|
45
|
+
export async function isGetModuleTypesSupported(
|
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 "getModuleTypes" function.
|
56
|
+
* @param options - The options for the getModuleTypes function.
|
57
|
+
* @returns The encoded ABI parameters.
|
58
|
+
* @extension LENS
|
59
|
+
* @example
|
60
|
+
* ```ts
|
61
|
+
* import { encodeGetModuleTypesParams } "thirdweb/extensions/lens";
|
62
|
+
* const result = encodeGetModuleTypesParams({
|
63
|
+
* moduleAddress: ...,
|
64
|
+
* });
|
65
|
+
* ```
|
66
|
+
*/
|
67
|
+
export function encodeGetModuleTypesParams(options: GetModuleTypesParams) {
|
68
|
+
return encodeAbiParameters(FN_INPUTS, [options.moduleAddress]);
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Encodes the "getModuleTypes" function into a Hex string with its parameters.
|
73
|
+
* @param options - The options for the getModuleTypes function.
|
74
|
+
* @returns The encoded hexadecimal string.
|
75
|
+
* @extension LENS
|
76
|
+
* @example
|
77
|
+
* ```ts
|
78
|
+
* import { encodeGetModuleTypes } "thirdweb/extensions/lens";
|
79
|
+
* const result = encodeGetModuleTypes({
|
80
|
+
* moduleAddress: ...,
|
81
|
+
* });
|
82
|
+
* ```
|
83
|
+
*/
|
84
|
+
export function encodeGetModuleTypes(options: GetModuleTypesParams) {
|
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
|
+
encodeGetModuleTypesParams(options).slice(
|
89
|
+
2,
|
90
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
91
|
+
}
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Decodes the result of the getModuleTypes function call.
|
95
|
+
* @param result - The hexadecimal result to decode.
|
96
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
97
|
+
* @extension LENS
|
98
|
+
* @example
|
99
|
+
* ```ts
|
100
|
+
* import { decodeGetModuleTypesResult } from "thirdweb/extensions/lens";
|
101
|
+
* const result = decodeGetModuleTypesResult("...");
|
102
|
+
* ```
|
103
|
+
*/
|
104
|
+
export function decodeGetModuleTypesResult(result: Hex) {
|
105
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
106
|
+
}
|
107
|
+
|
108
|
+
/**
|
109
|
+
* Calls the "getModuleTypes" function on the contract.
|
110
|
+
* @param options - The options for the getModuleTypes function.
|
111
|
+
* @returns The parsed result of the function call.
|
112
|
+
* @extension LENS
|
113
|
+
* @example
|
114
|
+
* ```ts
|
115
|
+
* import { getModuleTypes } from "thirdweb/extensions/lens";
|
116
|
+
*
|
117
|
+
* const result = await getModuleTypes({
|
118
|
+
* contract,
|
119
|
+
* moduleAddress: ...,
|
120
|
+
* });
|
121
|
+
*
|
122
|
+
* ```
|
123
|
+
*/
|
124
|
+
export async function getModuleTypes(
|
125
|
+
options: BaseTransactionOptions<GetModuleTypesParams>,
|
126
|
+
) {
|
127
|
+
return readContract({
|
128
|
+
contract: options.contract,
|
129
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
130
|
+
params: [options.moduleAddress],
|
131
|
+
});
|
132
|
+
}
|