Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 2x 2x 2x 2x 1x 1x 2x | import { SignatureRequestOptions, SignedOptionsWithOnHandlers } from './types';
import { openSignMessagePopup } from '../popup';
import { Json } from 'micro-stacks/crypto';
import { safeGetPublicKey } from '../common/utils';
import { createWalletJWT } from '../common/create-wallet-jwt';
export const generateSignMessagePayload = async (options: SignatureRequestOptions) => {
const payload: Json = {
stxAddress: options.stxAddress,
message: options.message,
appDetails: options.appDetails ?? null,
publicKey: safeGetPublicKey(options.privateKey),
network: options.network as any,
};
// will sign it or create unsigned JWT
return createWalletJWT(payload, options.privateKey);
};
export const handleSignMessageRequest = async (
options: SignedOptionsWithOnHandlers<SignatureRequestOptions>
) => {
try {
const token = await generateSignMessagePayload({
message: options.message,
privateKey: options.privateKey,
stxAddress: options.stxAddress,
authOrigin: options.authOrigin,
appDetails: options.appDetails,
});
return openSignMessagePopup({
token,
onFinish: options.onFinish,
onCancel: options.onCancel,
});
} catch (e: unknown) {
console.error(`[micro-stacks] handleSignMessageRequest failed`);
console.error(e);
}
};
|