F-Kit - Documentation

SolanaWallet

USolanaWallet Class Reference

#include < SolanaWallet.h >

Public Member Functions

Static Public Member Functions

Public Attributes

Detailed Description

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

Member Function Documentation

ClipboardCopy()

static void USolanaWallet::ClipboardCopy(FString String)static

Copy the string parameter to the system clipboard.

Parameters:

  • String: The string to copy.

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [1/2]

USolanaWallet::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMnemonicUpdated ,FString ,Mnemonic )

Called when mnemonic is set, loaded or erased.

Parameters:

  • Mnemonic: The Updated Mnemonic

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [2/2]

USolanaWallet::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnWalletWiped ,USolanaWallet * ,Wallet )

Called when the wallet get wiped

Parameters:

  • Wallet: The wiped wallet

DoesWalletExist()

bool USolanaWallet::DoesWalletExist()const

Check if there is an existing file for this wallet.

Returns:

  • Whether the wallet file already exists or not.

GenerateAccountFromGenIndex()

UWalletAccount * USolanaWallet::GenerateAccountFromGenIndex(int32 GenIndex)

Generate an account with the given generation index

Parameters:

  • GenIndex: The generation index

Returns:

  • The generated UWalletAccount.

GenerateMnemonic()

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.

GenerateNewAccount()

UWalletAccount * USolanaWallet::GenerateNewAccount()

Generate a new account increasing the generation index

Returns:

  • The generated account

GetAccountFromGenIndex()

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

GetAccounts()

TArray< UWalletAccount * > USolanaWallet::GetAccounts()const

Get all accounts in this wallet

Returns:

  • The list of account for this wallet

GetAccountsFromPath()

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

GetDerivationPaths()

static TArray< FDerivationPath > USolanaWallet::GetDerivationPaths()static

Get all available derivation paths

Returns:

  • The list of available derivation paths

GetMnemonicString()

FString USolanaWallet::GetMnemonicString()const

Get the Mnemonic string of this wallet

Returns:

  • The mnemonic of this wallet

GetNextAccountIndexToGenerate()

uint32 USolanaWallet::GetNextAccountIndexToGenerate()const

Get the index of the next account to generate

Returns:

  • The index of the next account to generate

GetSaveSlotName()

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

ImportAccountFromPrivateKey()

UWalletAccount * USolanaWallet::ImportAccountFromPrivateKey(FString PrivateKey)

Create an account from a private key

Parameters:

  • PrivateKey: The private key

Returns:

  • The created account

ImportAccountFromPublicKey()

UWalletAccount * USolanaWallet::ImportAccountFromPublicKey(FString PublicKey)

Create an account from a public key

Parameters:

  • PublicKey: The public key

Returns:

  • The created account.

IsMnemonicValid()

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

IsWalletLocked()

bool USolanaWallet::IsWalletLocked()const

Whether the wallet is locked or not

Returns:

  • Whether the wallet is locked or not

LockWallet()

void USolanaWallet::LockWallet(bool bSaveWallet)

Lock the wallet, deleting mnemonic and private keys from memory

Returns

  • Whether the lock was successful or not

RemoveAccount()

void USolanaWallet::RemoveAccount(UWalletAccount * Account)

Remove an account from this wallet

Parameters

  • Account: The account to remove

RestoreMnemonic()

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

SaveWallet()

bool USolanaWallet::SaveWallet()

Save this wallet to disk to reload it later

Returns:

  • Whether the save was successful or not

SetDerivationPath()

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

SetPassword()

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

SetSaveSlotName()

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.

UnlockWallet()

bool USolanaWallet::UnlockWallet(FString Password)

Load and unlock this wallet from disk if password is correct

Returns:

  • Whether the unlock was successful or not

WipeWallet()

void USolanaWallet::WipeWallet()

Wipe the wallet from both memory and disk

Returns:

  • Whether the wipe was successful or not

SolanaWalletManager

USolanaWalletManager Class Reference

Public Member Functions

Member Function Documentation

CreateNewWallet()

USolanaWallet * USolanaWalletManager::CreateNewWallet()

Create a new wallet

Returns:

  • The created USolanaWallet

GetOrCreateWallet()

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

GetSaveSlotList()

TArray< FString > USolanaWalletManager::GetSaveSlotList()const

Get the list of available save slots

Returns:

  • The array of available slots

RegisterWallet()

void USolanaWalletManager::RegisterWallet(USolanaWallet * Wallet)

Register a newly created wallet into the list of wallets

Parameters:

  • Wallet: The private key

Last updated