Class: WalletAccountV5
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.
Hierarchy
-
↳
WalletAccountV5
Implements
Constructors
constructor
• new WalletAccountV5(options): WalletAccountV5
Parameters
| Name | Type |
|---|---|
options | WalletAccountV5Options |
Returns
Overrides
Defined in
Properties
walletProvider
• walletProvider: WalletWithStarknetFeatures
Defined in
unsubscribe
• Private unsubscribe: () => void
The function to use to unsubscribe from the wallet events. To call before the instance is deleted.
Type declaration
▸ (): void
Returns
void
Defined in
signer
• signer: SignerInterface
Signer instance for signing transactions and messages
Implementation of
Inherited from
Defined in
address
• address: string
The address of the account contract on Starknet
Implementation of
Inherited from
Defined in
cairoVersion
• cairoVersion: CairoVersion
Cairo version of the account contract implementation
Implementation of
Inherited from
Defined in
transactionVersion
• Readonly transactionVersion: "0x3"
Inherited from
Defined in
paymaster
• paymaster: PaymasterInterface
Inherited from
Defined in
deployer
• deployer: Deployer
Optional deployer instance for custom contract deployment logic
Default
Uses default UDC (Universal Deployer Contract) if not specified
Implementation of
Inherited from
Defined in
defaultTipType
• defaultTipType: TipType
Inherited from
Defined in
deploySelf
• deploySelf: (__namedParameters: DeployAccountContractPayload, details: UniversalDetails) => Promise<DeployContractResponse>
Type declaration
▸ («destructured», details?): Promise<DeployContractResponse>
Parameters
| Name | Type |
|---|---|
«destructured» | DeployAccountContractPayload |
details | UniversalDetails |
Returns
Promise<DeployContractResponse>
Inherited from
Defined in
responseParser
• responseParser: RPCResponseParser
Implementation of
AccountInterface.responseParser
Inherited from
Defined in
channel
• channel: RpcChannel | RpcChannel
Implementation of
Inherited from
Defined in
getStateUpdate
• getStateUpdate: () => Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } }>(blockIdentifier: "pre_confirmed") => Promise<{ block_hash: never ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } ; old_root: undefined | string }>(blockIdentifier: "latest") => Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } }>(blockIdentifier?: BlockIdentifier) => Promise<StateUpdateResponse>
Type declaration
▸ (): Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } }>
Returns
Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } }>
▸ (blockIdentifier): Promise<{ block_hash: never ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } ; old_root: undefined | string }>
Parameters
| Name | Type |
|---|---|
blockIdentifier | "pre_confirmed" |
Returns
Promise<{ block_hash: never ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } ; old_root: undefined | string }>
▸ (blockIdentifier): Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } }>
Parameters
| Name | Type |
|---|---|
blockIdentifier | "latest" |
Returns
Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] ; migrated_compiled_classes: undefined | { class_hash: string ; compiled_class_hash: string }[] } }>
▸ (blockIdentifier?): Promise<StateUpdateResponse>
Parameters
| Name | Type |
|---|---|
blockIdentifier? | BlockIdentifier |
Returns
Promise<StateUpdateResponse>
Implementation of
AccountInterface.getStateUpdate
Inherited from
Defined in
Methods
connect
▸ connect(provider, walletProvider, cairoVersion?, paymaster?, silentMode?): Promise<WalletAccountV5>
Parameters
| Name | Type | Default value |
|---|---|---|
provider | ProviderInterface | undefined |
walletProvider | WalletWithStarknetFeatures | undefined |
cairoVersion? | CairoVersion | undefined |
paymaster? | PaymasterOptions | PaymasterInterface | undefined |
silentMode | boolean | false |
Returns
Promise<WalletAccountV5>
Defined in
connectSilent
▸ connectSilent(provider, walletProvider, cairoVersion?, paymaster?): Promise<WalletAccountV5>
Parameters
| Name | Type |
|---|---|
provider | ProviderInterface |
walletProvider | WalletWithStarknetFeatures |
cairoVersion? | CairoVersion |
paymaster? | PaymasterOptions | PaymasterInterface |
Returns
Promise<WalletAccountV5>
Defined in
getStarkName
▸ getStarkName(provider, address, StarknetIdContract?): Promise<string>
Parameters
| Name | Type |
|---|---|
provider | ProviderInterface |
address | BigNumberish |
StarknetIdContract? | string |
Returns
Promise<string>
Inherited from
Defined in
src/provider/extensions/starknetId.ts:62
getAddressFromStarkName
▸ getAddressFromStarkName(provider, name, StarknetIdContract?): Promise<string>
Parameters
| Name | Type |
|---|---|
provider | ProviderInterface |
name | string |
StarknetIdContract? | string |
Returns
Promise<string>
Inherited from
Account.getAddressFromStarkName
Defined in
src/provider/extensions/starknetId.ts:96
getStarkProfile
▸ getStarkProfile(provider, address, StarknetIdContract?, StarknetIdIdentityContract?, StarknetIdVerifierContract?, StarknetIdPfpContract?, StarknetIdPopContract?, StarknetIdMulticallContract?): Promise<StarkProfile>
Parameters
| Name | Type |
|---|---|
provider | ProviderInterface |
address | BigNumberish |
StarknetIdContract? | string |
StarknetIdIdentityContract? | string |
StarknetIdVerifierContract? | string |
StarknetIdPfpContract? | string |
StarknetIdPopContract? | string |
StarknetIdMulticallContract? | string |
Returns
Promise<StarkProfile>
Inherited from
Defined in
src/provider/extensions/starknetId.ts:128
getBrotherName
▸ getBrotherName(provider, address, BrotherIdContract?): Promise<string>
Static implementation of getBrotherName
Parameters
| Name | Type | Description |
|---|---|---|
provider | ProviderInterface | The provider interface |
address | BigNumberish | The address to get the domain for |
BrotherIdContract? | string | Optional contract address |
Returns
Promise<string>
The domain name with .brother suffix
Inherited from
Defined in
src/provider/extensions/brotherId.ts:148
getAddressFromBrotherName
▸ getAddressFromBrotherName(provider, name, BrotherIdContract?): Promise<string>
Static implementation of getAddressFromBrotherName
Parameters
| Name | Type | Description |
|---|---|---|
provider | ProviderInterface | The provider interface |
name | string | The domain name |
BrotherIdContract? | string | Optional contract address |
Returns
Promise<string>
The resolver address
Inherited from
Account.getAddressFromBrotherName
Defined in
src/provider/extensions/brotherId.ts:186
getBrotherProfile
▸ getBrotherProfile(provider, address, BrotherIdContract?): Promise<BrotherProfile>
Static implementation of getBrotherProfile
Parameters
| Name | Type | Description |
|---|---|---|
provider | ProviderInterface | The provider interface |
address | BigNumberish | The address to get the profile for |
BrotherIdContract? | string | Optional contract address |
Returns
Promise<BrotherProfile>
The complete Brother profile
Inherited from
Defined in
src/provider/extensions/brotherId.ts:226
onChange
▸ onChange(callback): void
WALLET EVENTS
Parameters
| Name | Type |
|---|---|
callback | (change: StandardEventsChangeProperties) => void |
Returns
void
Defined in
unsubscribeChange
▸ unsubscribeChange(): void
Returns
void
Defined in
requestAccounts
▸ requestAccounts(silentMode?): Promise<string[]>
WALLET SPECIFIC METHODS
Parameters
| Name | Type | Default value |
|---|---|---|
silentMode | boolean | false |
Returns
Promise<string[]>
Defined in
getPermissions
▸ getPermissions(): Promise<"accounts"[]>
Returns
Promise<"accounts"[]>
Defined in
switchStarknetChain
▸ switchStarknetChain(chainId): Promise<boolean>
Parameters
| Name | Type |
|---|---|
chainId | "0x534e5f4d41494e" | "0x534e5f5345504f4c4941" |
Returns
Promise<boolean>
Defined in
watchAsset
▸ watchAsset(asset): Promise<boolean>
Parameters
| Name | Type |
|---|---|
asset | WatchAssetParameters |
Returns
Promise<boolean>
Defined in
addStarknetChain
▸ addStarknetChain(chain): Promise<boolean>
Parameters
| Name | Type |
|---|---|
chain | AddStarknetChainParameters |
Returns
Promise<boolean>
Defined in
execute
▸ execute(calls): Promise<AddInvokeTransactionResult>
ACCOUNT METHODS
Parameters
| Name | Type |
|---|---|
calls | AllowArray<Call> |
Returns
Promise<AddInvokeTransactionResult>
Implementation of
Overrides
Defined in
declare
▸ declare(payload): Promise<AddDeclareTransactionResult>
ACCOUNT METHODS
Parameters
| Name | Type |
|---|---|
payload | DeclareContractPayload |
Returns
Promise<AddDeclareTransactionResult>
Declaration transaction hash and class hash
Example
const declareResult = await account.declare({
contract: compiledSierra,
casm: compiledCasm,
});
Implementation of
Overrides
Defined in
deploy
▸ deploy(payload): Promise<MultiDeployContractResponse>
ACCOUNT METHODS
Parameters
| Name | Type |
|---|---|
payload | UniversalDeployerContractPayload | UniversalDeployerContractPayload[] |
Returns
Promise<MultiDeployContractResponse>
Deployed contract addresses and transaction hash
Example
const deployment = await account.deploy([
{ classHash: erc20ClassHash, constructorCalldata: [name, symbol] },
{ classHash: nftClassHash, unique: true },
]);
Implementation of
Overrides
Defined in
signMessage
▸ signMessage(typedData): Promise<SIGNATURE>
Sign a typed data message for off-chain verification
Parameters
| Name | Type | Description |
|---|---|---|
typedData | 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!' }
});
Implementation of
Overrides
Defined in
getNonce
▸ getNonce(blockIdentifier?): Promise<string>
Get the current nonce of the account
Parameters
| Name | Type | Description |
|---|---|---|
blockIdentifier? | BlockIdentifier | Block to query nonce at (default: 'latest' tag) |
Returns
Promise<string>
Account nonce as hex string
Example
const nonce = await account.getNonce();
const historicalNonce = await account.getNonce('latest');