Class: WalletAccountV5
Defined in: src/wallet/accountV5.ts:49
WalletAccountV5 class. This class is used to create a wallet account that can be used to interact with a Starknet wallet browser extension, using get-starknet v5.
Extends
Extended by
Constructors
Constructor
new WalletAccountV5(
options):WalletAccountV5
Defined in: src/wallet/accountV5.ts:64
Parameters
options
WalletAccountV5Options
Returns
WalletAccountV5
Overrides
Properties
walletProvider
walletProvider:
WalletWithStarknetFeatures
Defined in: src/wallet/accountV5.ts:50
provider
provider:
RpcProvider
Defined in: src/account/default.ts:106
Provider instance for blockchain interaction
Inherited from
signer
signer:
SignerInterface
Defined in: src/account/default.ts:108
Signer instance for signing transactions and messages
Inherited from
address
address:
string
Defined in: src/account/default.ts:110
The address of the account contract on Starknet
Inherited from
cairoVersion
cairoVersion:
CairoVersion
Defined in: src/account/default.ts:112
Cairo version of the account contract implementation
Inherited from
transactionVersion
readonlytransactionVersion:"0x3"
Defined in: src/account/default.ts:114
Inherited from
paymaster
paymaster:
PaymasterInterface
Defined in: src/account/default.ts:116
Inherited from
deployer
deployer:
Deployer
Defined in: src/account/default.ts:118
Optional deployer instance for custom contract deployment logic
Default
Uses default UDC (Universal Deployer Contract) if not specified
Inherited from
defaultTipType
defaultTipType:
TipType
Defined in: src/account/default.ts:120
Inherited from
accountPluginManager
readonlyaccountPluginManager:PluginManager
Defined in: src/account/default.ts:123
Internal
Account-level plugin management
Inherited from
deploySelf
deploySelf: (
contractPayload,details) =>Promise<DeployContractResponse>
Defined in: src/account/default.ts:559
ACCOUNT METHODS
Parameters
contractPayload
details?
UniversalDetails = {}
Returns
Promise<DeployContractResponse>
Example
const deployment = await account.deployAccount({
classHash: accountClassHash,
constructorCalldata: { publicKey: pubKey },
addressSalt: pubKey
});
Inherited from
Methods
connect()
staticconnect(provider,walletProvider,cairoVersion?,paymaster?,silentMode?):Promise<WalletAccountV5>
Defined in: src/wallet/accountV5.ts:182
Parameters
provider
ProviderInterface | ProviderOptions
walletProvider
WalletWithStarknetFeatures
cairoVersion?
paymaster?
PaymasterOptions | PaymasterInterface
silentMode?
boolean = false
Returns
Promise<WalletAccountV5>
connectSilent()
staticconnectSilent(provider,walletProvider,cairoVersion?,paymaster?):Promise<WalletAccountV5>
Defined in: src/wallet/accountV5.ts:204
Parameters
provider
ProviderInterface | ProviderOptions
walletProvider
WalletWithStarknetFeatures
cairoVersion?
paymaster?
PaymasterOptions | PaymasterInterface
Returns
Promise<WalletAccountV5>
onChange()
onChange(
callback): () =>void
Defined in: src/wallet/accountV5.ts:90
Subscribe a callback to wallet account/network changes.
Parameters
callback
(change) => void
called on each change.
Returns
a function to unsubscribe this specific callback.
() => void
unsubscribeChange()
unsubscribeChange():
void
Defined in: src/wallet/accountV5.ts:100
Unsubscribe from all wallet events, including the callbacks registered through onChange. To call before the instance is deleted.
Returns
void
requestAccounts()
requestAccounts(
silentMode?):Promise<string[]>
Defined in: src/wallet/accountV5.ts:109
WALLET SPECIFIC METHODS
Parameters
silentMode?
boolean = false
Returns
Promise<string[]>
getPermissions()
getPermissions():
Promise<"accounts"[]>
Defined in: src/wallet/accountV5.ts:113
Returns
Promise<"accounts"[]>
switchStarknetChain()
switchStarknetChain(
chainId):Promise<boolean>
Defined in: src/wallet/accountV5.ts:117
Parameters
chainId
"0x534e5f4d41494e" | "0x534e5f5345504f4c4941"
Returns
Promise<boolean>
watchAsset()
watchAsset(
asset):Promise<boolean>
Defined in: src/wallet/accountV5.ts:121
Parameters
asset
WatchAssetParameters
Returns
Promise<boolean>
addStarknetChain()
addStarknetChain(
chain):Promise<boolean>
Defined in: src/wallet/accountV5.ts:125
Parameters
chain
AddStarknetChainParameters
Returns
Promise<boolean>
execute()
execute(
calls):Promise<AddInvokeTransactionResult>
Defined in: src/wallet/accountV5.ts:132
ACCOUNT METHODS
Parameters
calls
Returns
Promise<AddInvokeTransactionResult>
Overrides
declare()
declare(
payload):Promise<AddDeclareTransactionResult>
Defined in: src/wallet/accountV5.ts:149
ACCOUNT METHODS
Parameters
payload
Returns
Promise<AddDeclareTransactionResult>
Example
const declareResult = await account.declare({
contract: compiledSierra,
casm: compiledCasm
});
Overrides
deploy()
deploy(
payload):Promise<MultiDeployContractResponse>
Defined in: src/wallet/accountV5.ts:167
ACCOUNT METHODS
Parameters
payload
UniversalDeployerContractPayload | UniversalDeployerContractPayload[]
Returns
Promise<MultiDeployContractResponse>
Example
const deployment = await account.deploy([
{ classHash: erc20ClassHash, constructorCalldata: [name, symbol] },
{ classHash: nftClassHash, unique: true }
]);
Overrides
signMessage()
signMessage(
typedData):Promise<SIGNATURE>
Defined in: src/wallet/accountV5.ts:178
Sign a typed data message for off-chain verification
Parameters
typedData
EIP-712 style typed data structure
Returns
Promise<SIGNATURE>
Signature array [r, s]
Remarks
- Includes domain separation to prevent signature reuse
- Compatible with Starknet's signature verification
- Cannot be used to sign transactions
Example
const signature = await account.signMessage({
domain: { name: 'MyDapp', chainId: 'SN_MAIN' },
types: { ... },
primaryType: 'Message',
message: { content: 'Hello Starknet!' }
});