ThirdwebFunctionLibrary
The UThirdwebFunctionLibrary class provides a comprehensive set of Blueprint functions to interact with Thirdweb's wallet functionalities within Unreal Engine. This includes utilities for wallet creation, session management, signing messages, and more.
Key Components
UThirdwebFunctionLibrary
- A class derived from
UBlueprintFunctionLibrary, which offers various Blueprint functions related to wallet operations and validations.
Wallet Functions
Conv_StringToWalletHandle(FString PrivateKey): Converts a private key string into a wallet handle.Conv_TextToWalletHandle(FText PrivateKey): Converts a private key text into a wallet handle.BP_GenerateWallet(): Generates a new private key wallet handle.Conv_WalletHandleToString(FWalletHandle Wallet): Converts a wallet handle into its associated public address string.Conv_WalletHandleToText(FWalletHandle Wallet): Converts a wallet handle into its associated public address text.BP_SignMessage(const FWalletHandle& Wallet, const FString& Message): Signs a message with the specified wallet handle.BP_WalletIsConnected(const FWalletHandle& Wallet): Checks if the wallet handle is connected to a session.BP_DisconnectWallet(const FWalletHandle& Wallet): Disconnects the wallet handle from its session.
In-App Wallet Functions
BP_VerifyOTP(FWalletHandle Wallet, const FString& OTP, FString& Error): Verifies an OTP for the in-app wallet.BP_SendOTP(FWalletHandle Wallet, FString& Error): Sends an OTP for the in-app wallet.BP_FetchOAuthLoginLink(FWalletHandle Wallet, const FString& RedirectUrl, FString& LoginLink, FString& Error): Fetches the OAuth login link for the in-app wallet.
Smart Wallet Functions
BP_IsSmartWalletDeployed(FWalletHandle Wallet, FString& Error): Checks if the smart wallet is deployed.BP_CreateSmartWalletSessionKey(FWalletHandle Wallet, const FString& Signer, const TArray<FString>& ApprovedTargets, const FString& NativeTokenLimitPerTransactionInWei, const FDateTime& PermissionStart, const FDateTime& PermissionEnd, const FDateTime& RequestValidityStart, const FDateTime& RequestValidityEnd, FString& TransactionHash, FString& Error): Creates a session key for the smart wallet.BP_GetSmartWalletAdmins(FWalletHandle Wallet, TArray<FString>& Admins, FString& Error): Retrieves the list of admins for the smart wallet.BP_GetSmartWalletActiveSigners(FWalletHandle Wallet, TArray<FSigner>& Signers, FString& Error): Retrieves the list of active signers for the smart wallet.BP_RevokeSmartWalletSessionKey(FWalletHandle Wallet, const FString& Signer, FString& Error): Revokes a session key for a smart wallet signer.BP_AddSmartWalletAdmin(FWalletHandle Wallet, const FString& Signer, FString& Error): Adds an admin signer to the smart wallet.BP_RemoveSmartWalletAdmin(FWalletHandle Wallet, const FString& Signer, FString& Error): Removes an admin signer from the smart wallet.
Utility Functions
EqualEqual_WalletHandleWalletHandle(FWalletHandle A, FWalletHandle B): Checks if two wallet handles are equal.NotEqual_WalletHandleWalletHandle(FWalletHandle A, FWalletHandle B): Checks if two wallet handles are not equal.Conv_ThirdwebOAuthProviderToText(EThirdwebOAuthProvider Provider): Converts a Thirdweb OAuth provider enum to text.Conv_ThirdwebOAuthProviderToString(EThirdwebOAuthProvider Provider): Converts a Thirdweb OAuth provider enum to string.BP_IsStringValidAddress(const FString& Address, const bool bWithChecksum): Validates if a string is a valid Ethereum address.BP_IsStringChecksummedAddress(const FString& Address): Checks if a string is a checksummed Ethereum address.BP_IsStringValidPrivateKey(const FString& PrivateKey): Validates if a string is a valid private key.Conv_StringAddressToStringChecksummedAddress(const FString& Address): Converts an Ethereum address string to its checksummed format.BP_IsTextValidAddress(const FText& Address, const bool bWithChecksum): Validates if a text is a valid Ethereum address.BP_IsTextChecksummedAddress(const FText& Address): Checks if a text is a checksummed Ethereum address.BP_IsTextValidPrivateKey(const FText& PrivateKey): Validates if a text is a valid private key.Conv_TextAddressToStringChecksummedAddress(const FText& Address): Converts an Ethereum address text to its checksummed format.BP_ZeroAddress(): Returns the Ethereum zero address (0x0000000000000000000000000000000000000000).
Internal Implementation Notes
- The
UThirdwebFunctionLibraryprovides a convenient interface for Unreal Engine developers to interact with Thirdweb’s blockchain functionalities without needing to write custom code. - These functions are exposed as Blueprint nodes, making it easy to integrate blockchain capabilities into Unreal Engine projects.