Interface IThirdwebWallet
- Namespace
- Thirdweb
- Assembly
- Thirdweb.dll
Interface for a Thirdweb wallet.
public interface IThirdwebWallet
- Extension Methods
Properties
AccountType
Gets the account type of the wallet.
ThirdwebAccountType AccountType { get; }
Property Value
Client
Gets the Thirdweb client associated with the wallet.
ThirdwebClient Client { get; }
Property Value
Methods
Disconnect()
Disconnects the wallet (if using InAppWallet, clears session)
Task Disconnect()
Returns
EthSign(byte[])
Signs a raw message using Ethereum's signing method.
Task<string> EthSign(byte[] rawMessage)
Parameters
rawMessage
byte[]The raw message to sign.
Returns
EthSign(string)
Signs a message using Ethereum's signing method.
Task<string> EthSign(string message)
Parameters
message
stringThe message to sign.
Returns
ExecuteTransaction(ThirdwebTransactionInput)
Sends a transaction and waits for its receipt.
Task<ThirdwebTransactionReceipt> ExecuteTransaction(ThirdwebTransactionInput transaction)
Parameters
transaction
ThirdwebTransactionInputThe transaction to execute.
Returns
- Task<ThirdwebTransactionReceipt>
The transaction receipt.
GetAddress()
Gets the address of the wallet.
Task<string> GetAddress()
Returns
GetLinkedAccounts()
Returns a list of linked accounts to the current wallet.
Task<List<LinkedAccount>> GetLinkedAccounts()
Returns
- Task<List<LinkedAccount>>
A list of LinkedAccount objects.
IsConnected()
Checks if the wallet is connected.
Task<bool> IsConnected()
Returns
LinkAccount(IThirdwebWallet, string, bool?, Action<string>, string, IThirdwebBrowser, BigInteger?, string, string)
Links a new account (auth method) to the current wallet. The current wallet must be connected and the wallet being linked must not be fully connected ie created.
Task<List<LinkedAccount>> LinkAccount(IThirdwebWallet walletToLink, string otp = null, bool? isMobile = null, Action<string> browserOpenAction = null, string mobileRedirectScheme = "thirdweb://", IThirdwebBrowser browser = null, BigInteger? chainId = null, string jwt = null, string payload = null)
Parameters
walletToLink
IThirdwebWalletThe wallet to link.
otp
stringThe OTP code if the wallet to link is an email or phone wallet.
isMobile
bool?Set to true if linking OAuth on mobile.
browserOpenAction
Action<string>The action to open the browser if linking OAuth.
mobileRedirectScheme
stringThe redirect scheme if linking OAuth on mobile.
browser
IThirdwebBrowserThe browser to use if linking OAuth.
chainId
BigInteger?The chain ID if linking an external wallet (SIWE).
jwt
stringThe JWT token if linking custom JWT auth.
payload
stringThe login payload if linking custom AuthEndpoint auth.
Returns
- Task<List<LinkedAccount>>
A list of LinkedAccount objects.
PersonalSign(byte[])
Signs a raw message using personal signing.
Task<string> PersonalSign(byte[] rawMessage)
Parameters
rawMessage
byte[]The raw message to sign.
Returns
PersonalSign(string)
Signs a message using personal signing.
Task<string> PersonalSign(string message)
Parameters
message
stringThe message to sign.
Returns
RecoverAddressFromEthSign(string, string)
Recovers the address from a signed message using Ethereum's signing method.
Task<string> RecoverAddressFromEthSign(string message, string signature)
Parameters
Returns
RecoverAddressFromPersonalSign(string, string)
Recovers the address from a signed message using personal signing.
Task<string> RecoverAddressFromPersonalSign(string message, string signature)
Parameters
Returns
RecoverAddressFromTypedDataV4<T, TDomain>(T, TypedData<TDomain>, string)
Recovers the address from a signed message using typed data (version 4).
Task<string> RecoverAddressFromTypedDataV4<T, TDomain>(T data, TypedData<TDomain> typedData, string signature) where TDomain : IDomain
Parameters
data
TThe data to sign.
typedData
TypedData<TDomain>The typed data.
signature
stringThe signature.
Returns
Type Parameters
T
TDomain
SendTransaction(ThirdwebTransactionInput)
Sends a transaction.
Task<string> SendTransaction(ThirdwebTransactionInput transaction)
Parameters
transaction
ThirdwebTransactionInputThe transaction to send.
Returns
SignTransaction(ThirdwebTransactionInput)
Signs a transaction.
Task<string> SignTransaction(ThirdwebTransactionInput transaction)
Parameters
transaction
ThirdwebTransactionInputThe transaction to sign.
Returns
SignTypedDataV4(string)
Signs typed data (version 4).
Task<string> SignTypedDataV4(string json)
Parameters
json
stringThe JSON representation of the typed data.
Returns
SignTypedDataV4<T, TDomain>(T, TypedData<TDomain>)
Signs typed data (version 4).
Task<string> SignTypedDataV4<T, TDomain>(T data, TypedData<TDomain> typedData) where TDomain : IDomain
Parameters
data
TThe data to sign.
typedData
TypedData<TDomain>The typed data.
Returns
Type Parameters
T
The type of the data.
TDomain
The type of the domain.
UnlinkAccount(LinkedAccount)
Unlinks an account (auth method) from the current wallet.
Task<List<LinkedAccount>> UnlinkAccount(LinkedAccount accountToUnlink)
Parameters
accountToUnlink
LinkedAccountThe linked account to unlink. Same type returned by GetLinkedAccounts().