snap_getState
Description
Get the state of the Snap, or a specific value within the state. By default,
the data is automatically encrypted using a Snap-specific key and
automatically decrypted when retrieved. You can set encrypted to false to
use unencrypted storage (available when the client is locked).
Parameters
key
string | nullThe key of the state to retrieve. If not provided, the entire
state is retrieved. This may contain Lodash-style path syntax, e.g.,
a.b.c, with the exception of array syntax.
encrypted
boolean | nullWhether to use the separate encrypted state, or the unencrypted state. Defaults to the encrypted state. Encrypted state can only be used if the client is unlocked, while unencrypted state can be used whether the client is locked or unlocked.
Returns
The state of the Snap. If a key was provided in the request parameters, this is the value of that key in the state. Otherwise, this is the entire state.
Example
- Manifest
- Usage
{
"initialPermissions": {
"snap_manageState": {}
}
}
const state = await snap.request({
method: "snap_getState",
params: {
key: "some.nested.value", // Optional, defaults to entire state
encrypted: true, // Optional, defaults to `true`
},
});