Comment on page
F-Kit - Documentation
USolanaWallet Class Reference
#include <
SolanaWallet.h
>
Public Member Functions
Type | Function |
---|---|
void | SetSaveSlotName (FString NewSaveSlotName) |
const FString & | GetSaveSlotName () const |
bool | DoesWalletExist () const |
bool | GenerateMnemonic (FString &MnemonicString) |
bool | RestoreMnemonic (FString InMnemonic) |
FString | GetMnemonicString () const |
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnMnemonicUpdated, FString, Mnemonic) | |
bool | SetPassword (FString NewPassword) |
bool | SaveWallet () |
bool | UnlockWallet (FString Password) |
void | LockWallet (bool bSaveWallet) |
void | WipeWallet () |
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnWalletWiped, USolanaWallet *, Wallet) | |
bool | IsWalletLocked () const |
bool | SetDerivationPath (const FDerivationPath &DerivationPath) |
bool | GetAccountsFromPath (FDerivationPath Path, int32 NumAccounts, TArray< FAccount > &OutAccounts) const |
UWalletAccount * | GetAccountFromGenIndex (int32 GenIndex) const |
UWalletAccount * | GenerateAccountFromGenIndex (int32 GenIndex) |
uint32 | GetNextAccountIndexToGenerate () const |
UWalletAccount * | GenerateNewAccount () |
UWalletAccount * | ImportAccountFromPrivateKey (FString PrivateKey) |
UWalletAccount * | ImportAccountFromPublicKey (FString PublicKey) |
void | RemoveAccount (UWalletAccount *Account) |
TArray< UWalletAccount * > | GetAccounts () const |
Static Public Member Functions
Type | Function |
---|---|
static bool | IsMnemonicValid (FString Mnemonic) |
static TArray< FDerivationPath > | GetDerivationPaths () |
static void | ClipboardCopy (FString String) |
Public Attributes
FOnMnemonicUpdatedFOnMnemonicUpdated | OnMnemonicUpdatedOnMnemonicUpdated |
FOnWalletWiped | OnWalletWiped |
USolanaWallet
This class abstracts a wallet for the Solana network and it is made up of:
- a mnemonic phrase to generate new accounts
- a derivation path to generate new accounts
- a save slot name to save the wallet on disk
- a password to encrypt the wallet on disk
- a list of accounts either generated from the mnemonic phrase or imported from a public or private key
static void USolanaWallet::ClipboardCopy(FString String)static
Copy the string parameter to the system clipboard.
Parameters:
- String: The string to copy.
USolanaWallet::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMnemonicUpdated ,FString ,Mnemonic )
Called when mnemonic is set, loaded or erased.
Parameters:
- Mnemonic: The Updated Mnemonic
USolanaWallet::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnWalletWiped ,USolanaWallet * ,Wallet )
Called when the wallet get wiped
Parameters:
- Wallet: The wiped wallet
bool USolanaWallet::DoesWalletExist()const
Check if there is an existing file for this wallet.
Returns:
- Whether the wallet file already exists or not.
UWalletAccount * USolanaWallet::GenerateAccountFromGenIndex(int32 GenIndex)
Generate an account with the given generation index
Parameters:
- GenIndex: The generation index
Returns:
- The generated UWalletAccount.
bool USolanaWallet::GenerateMnemonic(FString & MnemonicString)
Generate a mnemonic if no mnemonic exists in this wallet
Parameters:
- MnemonicString: the mnemonic string currently in use.
Returns:
- Whether the mnemonic has been generated or not.
UWalletAccount * USolanaWallet::GenerateNewAccount()
Generate a new account increasing the generation index
Returns:
- The generated account
UWalletAccount * USolanaWallet::GetAccountFromGenIndex(int32 GenIndex)const
Get the account corresponding to the given generation index if it has been already generated
Parameters:
- GenIndex: The generation index
Returns:
- The corresponding UWalletAccount
TArray< UWalletAccount * > USolanaWallet::GetAccounts()const
Get all accounts in this wallet
Returns:
- The list of account for this wallet
bool USolanaWallet::GetAccountsFromPath(FDerivationPath Path,int32 NumAccounts,TArray< FAccount > & OutAccounts)const
Get accounts for a specific derivation path
Parameters:
- Path: The DerivationPath
- NumAccounts: The number of accounts to retrieve
- OutAccounts: The list of accounts
Returns:
- Whether the accounts were found for the given derivation path
static TArray< FDerivationPath > USolanaWallet::GetDerivationPaths()static
Get all available derivation paths
Returns:
- The list of available derivation paths
FString USolanaWallet::GetMnemonicString()const
Get the Mnemonic string of this wallet
Returns:
- The mnemonic of this wallet
uint32 USolanaWallet::GetNextAccountIndexToGenerate()const
Get the index of the next account to generate
Returns:
- The index of the next account to generate
const FString & USolanaWallet::GetSaveSlotName()constinline
Get the name of the file used to load or save this wallet
Returns:
- Name of the slot name file currently in use
UWalletAccount * USolanaWallet::ImportAccountFromPrivateKey(FString PrivateKey)
Create an account from a private key
Parameters:
- PrivateKey: The private key
Returns:
- The created account
UWalletAccount * USolanaWallet::ImportAccountFromPublicKey(FString PublicKey)
Create an account from a public key
Parameters:
- PublicKey: The public key
Returns:
- The created account.
static bool USolanaWallet::IsMnemonicValid(FString Mnemonic)static
Check if a Mnemonic string is valid.
Parameters:
- Mnemonic: The Mnemonic to check
Returns:
- Whether the mnemonic is valid or not
bool USolanaWallet::IsWalletLocked()const
Whether the wallet is locked or not
Returns:
- Whether the wallet is locked or not
void USolanaWallet::LockWallet(bool bSaveWallet)
Lock the wallet, deleting mnemonic and private keys from memory
Returns
- Whether the lock was successful or not
void USolanaWallet::RemoveAccount(UWalletAccount * Account)
Remove an account from this wallet
Parameters
- Account: The account to remove
bool USolanaWallet::RestoreMnemonic(FString InMnemonic)
Restore a mnemonic if no mnemonic exists in this wallet
Parameters:
- InMnemonic: The new Mnemonic
Returns:
- Whether the mnemonic has been restored or not
bool USolanaWallet::SaveWallet()
Save this wallet to disk to reload it later
Returns:
- Whether the save was successful or not
bool USolanaWallet::SetDerivationPath(const FDerivationPath & DerivationPath)
Set the derivation path for this wallet to derive new wallet address
Parameters:
- DerivationPathThe new DerivationPath
Returns:
- Whether the new DerivationPath has been set or not
bool USolanaWallet::SetPassword(FString NewPassword)
Set or change the password
Parameters
- NewPassword: The new password
Returns:
- Whether the new password has been set or not
void USolanaWallet::SetSaveSlotName(FString NewSaveSlotName)
Set the name of the file used to load or save this wallet
Parameters
- NewSaveSlotName: Name of the slot name file to use.
bool USolanaWallet::UnlockWallet(FString Password)
Load and unlock this wallet from disk if password is correct
Returns:
- Whether the unlock was successful or not
void USolanaWallet::WipeWallet()
Wipe the wallet from both memory and disk
Returns:
- Whether the wipe was successful or not
USolanaWalletManager Class Reference
Public Member Functions
Type | Function |
---|---|
virtual void | Initialize (FSubsystemCollectionBase &Collection) override |
TArray< FString > | GetSaveSlotList () const |
USolanaWallet * | CreateNewWallet () |
USolanaWallet * | GetOrCreateWallet (const FString &SlotName) |
void | RegisterWallet (USolanaWallet *Wallet) |
USolanaWallet * USolanaWalletManager::CreateNewWallet()
Create a new wallet
Returns:
- The created USolanaWallet
USolanaWallet * USolanaWalletManager::GetOrCreateWallet(const FString & SlotName)
Get a wallet from a slot name, create a new one if not exists
Parameters:
- SlotName: The slot name
Returns
- The created or retrieved account
TArray< FString > USolanaWalletManager::GetSaveSlotList()const
Get the list of available save slots
Returns:
- The array of available slots
void USolanaWalletManager::RegisterWallet(USolanaWallet * Wallet)
Register a newly created wallet into the list of wallets
Parameters:
- Wallet: The private key
Last modified 1yr ago