Interface GetPkpSessionSigs

Hierarchy

Properties

authMethods?: AuthMethod[]

Lit Protocol supported auth methods: https://developer.litprotocol.com/v3/sdk/wallets/auth-methods This CANNOT be used for custom auth methods. For custom auth methods, please pass the customAuth object to jsParams, and handle the custom auth method in your Lit Action.

Notes for internal dev: for the SDK, this value can be omitted, but it needs to be an empty array [] set in the SDK before sending it to the node

capabilityAuthSigs?: AuthSig[]

Not limited to capacityDelegationAuthSig, we want to be able to pass in any other authSigs for other purposes.

capacityDelegationAuthSig?: AuthSig

Deprecated

chain?: string
expiration?: any
jsParams?: any

An object that contains params to expose to the Lit Action. These will be injected to the JS runtime before your code runs, so you can use any of these as normal variables in your Lit Action.

litActionCode?: string

The litActionCode is the JavaScript code that will run on the nodes. You will need to convert the string content to base64.

Example

Buffer.from(litActionCodeString).toString('base64');
litActionIpfsId?: string

You can obtain the Lit Action IPFS CID by converting your JavaScript code using this tool: https://explorer.litprotocol.com/create-action

Note: You do not need to pin your code to IPFS necessarily. You can convert a code string to an IPFS hash using the "ipfs-hash-only" or 'ipfs-unixfs-importer' library.

Example

async function stringToIpfsHash(input: string): Promise<string> {
// Convert the input string to a Buffer
const content = Buffer.from(input);

// Import the content to create an IPFS file
const files = importer([{ content }], {} as any, { onlyHash: true });

// Get the first (and only) file result
const result = (await files.next()).value;

const ipfsHash = (result as any).cid.toString();
if (!ipfsHash.startsWith('Qm')) {
throw new Error('Generated hash does not start with Qm');
}

return ipfsHash;
}
pkpPublicKey: string
resourceAbilityRequests: LitResourceAbilityRequest[]

An array of resource abilities that you want to request for this session. These will be signed with the session key.

Example

If you want to request the ability to decrypt an access control condition, then you would pass
[{ resource: new LitAccessControlConditionResource('someResource), ability: LitAbility.AccessControlConditionDecryption }]
sessionCapabilityObject?: ISessionCapabilityObject

The session capability object that you want to request for this session. If you pass nothing, then this will default to a wildcard for each type of resource you're accessing.

Example

If you passed nothing, and you're requesting to perform a decryption operation for an access
control condition, then the session capability object will be a wildcard for the access control condition,
which grants this session signature the ability to decrypt this access control condition.
sessionKey?: SessionKeyPair

The serialized session key pair to sign. If not provided, a session key pair will be fetched from localStorge or generated.

switchChain?: boolean

If you want to ask Metamask to try and switch the user's chain, you may pass true here. This will only work if the user is using Metamask. If the user is not using Metamask, then this will be ignored.

Generated using TypeDoc