requestPermissions
Requests permissions for a wallet
Import
Import the wallet actions package so you can call this action.
import "github.com/ChefBingbong/viem-go/actions/wallet"Usage
See how to construct a wallet client and call this action.
import ( "context" "log"
"github.com/ChefBingbong/viem-go/actions/wallet" "github.com/ChefBingbong/viem-go/client" "github.com/ChefBingbong/viem-go/client/transport" "github.com/ChefBingbong/viem-go/chain/definitions")
ctx := context.Background()
walletClient, err := client.CreateWalletClient(client.WalletClientConfig{ Chain: definitions.Mainnet, Transport: transport.HTTP("https://eth.llamarpc.com"),})if err != nil { log.Fatal(err)}defer func() { _ = walletClient.Close() }()
permissions, err := wallet.RequestPermissions(ctx, walletClient, wallet.RequestPermissionsParameters{ "eth_accounts": {},})if err != nil { log.Fatal(err)}log.Printf("Permissions: %+v", permissions)Returns
[]WalletPermission
A list of granted wallet permissions.
Parameters
Permissions
Define which permissions to request from the connected wallet.
-
Type:
RequestPermissionsParameters(map[string]map[string]any) -
Required
A map where keys are permission names (e.g., "eth_accounts") and values are permission-specific configuration objects.
permissions, err := wallet.RequestPermissions(ctx, walletClient, wallet.RequestPermissionsParameters{ "eth_accounts": {},})JSON-RPC Method
wallet_requestPermissions(EIP-2255)