viem-goviem-go

getPermissions

Gets the wallet's current permissions

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.GetPermissions(ctx, walletClient)
if err != nil {
log.Fatal(err)
}
log.Printf("Permissions: %+v", permissions)

Returns

[]WalletPermission

A list of wallet permissions. Each permission contains:

  • Caveats - Permission caveats
  • Date - Permission grant date (Unix timestamp)
  • ID - Permission identifier
  • Invoker - The origin that requested the permission
  • ParentCapability - The parent capability (e.g., "eth_accounts")

Parameters

This action takes no parameters.

JSON-RPC Method