refactoed mint and create session

This commit is contained in:
Samuel Andert
2023-07-25 11:49:17 +02:00
parent ab92110970
commit f2e9100766
5 changed files with 67 additions and 54 deletions

View File

@ -0,0 +1,30 @@
import type { IRelayPKP } from '@lit-protocol/types';
import type { IProvider } from '$lib/services/provider/IProvider';
import { createMessage } from '$lib/services/messages';
export async function mintPkp(provider: IProvider, authMethod: any): Promise<IRelayPKP> {
createMessage({
text: 'Minting started...',
sender: '$lib/components/GoogleAuth.svelte',
type: 'SYSTEM'
});
const txHash: string = await provider.mintPKPThroughRelayer(authMethod);
const response = await provider.relay.pollRequestUntilTerminalState(txHash);
if (response.status !== 'Succeeded') {
throw new Error('Minting failed');
}
const newPKP: IRelayPKP = {
tokenId: response.pkpTokenId,
publicKey: response.pkpPublicKey,
ethAddress: response.pkpEthAddress
};
createMessage({
text: 'Minted a new PKP.',
sender: '$lib/components/GoogleAuth.svelte',
type: 'SYSTEM'
});
return newPKP;
}