SDK Migration
This guide will show you how to migrate from Lens SDK v2 to v3.
React SDK
The Lens React SDK is currently in development and will be released soon.
TypeScript SDK
Authentication
client.authentication.authenticate() -> anyClient.login(request)
client.authentication.generateChallenge() -> anyClient.login(request)
client.authentication.authenticateWith() -> sessionClient.resumeSession()
client.authentication.fetch() -> currentSession(sessionClient)
client.authentication.fetchAll() -> fetchAuthenticatedSessions(sessionClient)
client.authentication.getAccessToken() -> sessionClient.getCredentials()
client.authentication.getRefreshToken() -> sessionClient.getCredentials()
client.authentication.getAuthorizationId() -> sessionClient.getCredentials()
client.authentication.getIdentityToken() -> sessionClient.getAuthenticatedUser()
client.authentication.getProfileId() -> sessionClient.getAuthenticatedUser(): address property of the AuthenticatedUser when logged-in as Account Owner or Account Manager. See Authentication guide.
client.authentication.getWalletAddress() -> sessionClient.getAuthenticatedUser()
client.authentication.isAuthenticated() -> currentSession(sessionClient)
client.authentication.logout() -> sessionClient.logout()
client.authentication.revoke(args) -> revokeAuthentication(sessionClient, request)
client.authentication.upgradeCredentials() -> sessionClient.switchAccount(request)
client.authentication.verify() -> sessionClient.getAuthenticatedUser()
Explore
client.explore.profiles() -> Coming Soon
client.explore.publications() -> Coming Soon
Feed
client.feed.fetch(args) -> fetchTimeline(anyClient, request)
client.feed.highlights(args) -> fetchTimelineHighlights(anyClient, request)
Frames
Coming soon.
Handle
Handles are renamed in Lens v3 to username.
client.handle.resolveAddress(args) -> Coming soon
Invites
No more invites in Lens v3, the protocol is now permissionless.
Modules
The modules functionality has been reorganized into rules and actions.
client.modules.approvedAllowanceAmount(...) -> Deprecated
client.modules.fetchCurrencies() -> Deprecated
client.modules.fetchMetadata(...) -> Deprecated
client.modules.supportedFollowModules() -> Deprecated
client.modules.supportedOpenActionCollectModules() -> Deprecated
client.modules.supportedOpenActionModules() -> Deprecated
client.modules.supportedReferenceModules() -> Deprecated
Momoka
In Lens v3 ALL posts are on-chain, so we will no longer support Momoka publications.
NFTs
This is no longer supported in Lens v3.
Notifications
client.notifications.fetch() -> fetchNotifications(sessionClient)
Profile
client.profile.actionHistory() -> Deprecated
client.profile.addInterests(args) -> Coming soon
client.profile.createBlockProfilesTypedData(args) -> Deprecated
client.profile.createChangeProfileManagersTypedData(args) -> Deprecated
client.profile.createFollowTypedData(args) -> Deprecated
client.profile.createLinkHandleTypedData(args) -> Deprecated
client.profile.createSetFollowModuleTypedData(args) -> Deprecated
client.profile.createSetProfileMetadataTypedData(args) -> Deprecated
client.profile.createUnblockProfilesTypedData(args) -> Deprecated
client.profile.createUnfollowTypedData(args) -> Deprecated
client.profile.createUnlinkHandleTypedData(args) -> Deprecated
client.profile.dismissRecommended(args) -> Coming soon
client.profile.fetch(args) -> fetchAccount(anyClient, request)
client.profile.fetchAll(args) -> fetchAccounts(anyClient, request)
client.profile.fetchDefault() -> fetchAccount(anyClient, request)
client.profile.follow(args) -> follow(sessionClient, request)
client.profile.followStatusBulk(args) -> fetchFollowStatus(anyClient, request)
client.profile.followers(args) -> fetchFollowers(anyClient, request)
client.profile.following(args) -> fetchFollowing(anyClient, request)
client.profile.unfollow(args) -> unfollow(sessionClient, request)
client.profile.managers(args) -> fetchAccountManagers(sessionClient, request)
client.profile.mutualFollowers(args) -> fetchFollowersYouKnow(anyClient, request)
client.profile.recommend(args) -> recommendAccount(sessionClient, request)
client.profile.unrecommend(args) -> undoRecommendAccount(sessionClient, request)
client.profile.recommendations(args) -> Coming soon
client.profile.removeInterests(args) -> Coming soon
client.profile.report(args) -> reportAccount(sessionClient, request)
client.profile.setDefault() -> Deprecated
client.profile.setFollowModule(args) -> Coming soon
client.profile.setProfileMetadata(args) -> setAccountMetadata(sessionClient, request)
client.profile.block(args) -> blockAccount(request)
client.profile.unblock(args) -> unblockAccount(sessionClient, request)
client.profile.linkHandle(args) -> assignUsernameToAccount(sessionClient, request)
client.profile.unlinkHandle(args) -> unassignUsernameFromAccount(sessionClient, request)
client.profile.whoActedOnPublication(args) -> fetchWhoActedOnPost(anyClient, request)
client.profile.whoHaveBeenBlocked() -> fetchBlockedAccounts(sessionClient, request)
Publication
client.publication.commentOnMomoka(args) -> Deprecated
client.publication.createLegacyCollectTypedData(args) -> Deprecated
client.publication.createMomokaCommentTypedData(args) -> Deprecated
client.publication.createMomokaMirrorTypedData(args) -> Deprecated
client.publication.createMomokaPostTypedData(args) -> Deprecated
client.publication.createMomokaQuoteTypedData(args) -> Deprecated
client.publication.createOnchainCommentTypedData(args) -> Deprecated
client.publication.createOnchainMirrorTypedData(args) -> Deprecated
client.publication.createOnchainPostTypedData(args) -> Deprecated
client.publication.createOnchainQuoteTypedData(args) -> Deprecated
client.publication.fetch(args) -> fetchPost(anyClient, request)
client.publication.fetchAll(args) -> fetchPosts(anyClient, request)
client.publication.legacyCollect(args) -> Deprecated
client.publication.mirrorOnMomoka(args) -> Deprecated
client.publication.mirrorOnchain(args) -> repost(sessionClient, request)
client.publication.postOnMomoka(args) -> Deprecated
client.publication.predictNextOnChainPublicationId(args) -> Deprecated
client.publication.quoteOnMomoka(args) -> Deprecated
client.publication.commentOnchain(args) -> post(sessionClient, request)
client.publication.postOnchain(args) -> post(sessionClient, request)
client.publication.quoteOnchain(args) -> post(sessionClient, request)
client.publication.refreshMetadata(args) -> editPost(sessionClient, request)
client.publication.report(args) -> reportPost(sessionClient, request)
client.publication.tags(args) -> Coming soon
client.publication.hide(args) -> Now you can delete a post by calling deletePost(sessionClient, request)
client.publication.hideComment(args) -> hideReply(sessionClient, request)
client.publication.unhideComment(args) -> unhideReply(sessionClient, request)
client.publication.validateMetadata(args) -> Deprecated
Actions
client.publication.actions.actOn(args) -> Coming soon
client.publication.actions.createActOnTypedData(args) -> Deprecated
Bookmarks
client.publication.bookmarks.add(args) -> bookmarkPost(sessionClient, request)
client.publication.bookmarks.remove(args) -> undoBookmarkPost(sessionClient, request)
client.publication.bookmarks.fetch(args) -> fetchPostBookmarks(sessionClient, request)
NotInterested
client.publication.notInterested.add(args) -> Coming soon
client.publication.notInterested.undo(args) -> Coming soon
Reactions
client.publication.reactions.add(args) -> addReaction(sessionClient, request)
client.publication.reactions.remove(args) -> undoReaction(sessionClient, request)
client.publication.reactions.fetch(args) -> fetchPostReactions(sessionClient, request)
Revenue
This is no longer supported in Lens v3.
Search
client.search.profiles(args) -> fetchAccounts(sessionClient, request)
client.search.publications(args) -> fetchPosts(sessionClient, request)
Transaction
client.transaction.broadcastOnMomoka(args) -> Deprecated
client.transaction.broadcastOnchain(args) -> Deprecated
client.transaction.generateLensAPIRelayAddress() -> Deprecated
client.transaction.relayQueues() -> Deprecated
client.transaction.status(args) -> transactionStatus(anyClient, request)
client.transaction.txIdToTxHash(args) -> Deprecated
client.transaction.waitUntilComplete(args) -> sessionClient.waitForTransaction(request)
Wallet
client.wallet.claimProfile(args) -> Deprecated
client.wallet.claimableProfiles(args) -> Deprecated
client.wallet.createProfile(args) -> createAccountWithUsername(sessionClient, request)
client.wallet.createProfileWithHandle(args) -> createAccountWithUsername(sessionClient, request)
client.wallet.hideManagedProfile(args) -> hideManagedAccount(sessionClient, request)
client.wallet.lastLoggedInProfile(args) -> lastLoggedInAccount(sessionClient, request)
client.wallet.ownedHandles(args) -> fetchUsernames(anyClient, request):
const result = await fetchUsernames(client, { filter: { owned: evmAddress("0x1234...") },});
client.wallet.profilesManaged(args) -> fetchAccountsAvailable(sessionClient, request)
client.wallet.rateLimits(args) -> Coming soon
client.wallet.sigNonces(args) -> Deprecated
client.wallet.unhideManagedProfile(args) -> unhideManagedAccount(sessionClient, request)