diff --git a/package-lock.json b/package-lock.json index 9823dc8..c1f943c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@sats-connect/core", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@sats-connect/core", - "version": "0.1.0", + "version": "0.1.1", "license": "ISC", "dependencies": { "axios": "1.6.8", diff --git a/package.json b/package.json index 9a22fbb..7b60173 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sats-connect/core", - "version": "0.1.0", + "version": "0.1.1", "main": "dist/index.mjs", "module": "dist/index.mjs", "types": "dist/index.d.mts", diff --git a/src/messages/types.ts b/src/messages/types.ts index 5c4baf2..467fd95 100644 --- a/src/messages/types.ts +++ b/src/messages/types.ts @@ -1,8 +1,10 @@ +import { MessageSigningProtocols } from 'src/request'; import type { RequestOptions, RequestPayload } from '../types'; export interface SignMessagePayload extends RequestPayload { address: string; message: string; + protocol?: MessageSigningProtocols; } export type SignMessageResponse = string; diff --git a/src/request/types/btcMethods.ts b/src/request/types/btcMethods.ts index 70ba45e..daddcf0 100644 --- a/src/request/types/btcMethods.ts +++ b/src/request/types/btcMethods.ts @@ -76,6 +76,12 @@ export type GetAddresses = MethodParamsAndResult< >; export const signMessageMethodName = 'signMessage'; + +export enum MessageSigningProtocols { + ECDSA = 'ECDSA', + BIP322 = 'BIP322', +} + export const signMessageParamsSchema = v.object({ /** * The address used for signing. @@ -85,6 +91,10 @@ export const signMessageParamsSchema = v.object({ * The message to sign. **/ message: v.string(), + /** + * The protocol to use for signing the message. + */ + protocol: v.optional(v.enum(MessageSigningProtocols)), }); export type SignMessageParams = v.InferOutput; export const signMessageResultSchema = v.object({ @@ -100,6 +110,10 @@ export const signMessageResultSchema = v.object({ * The address used for signing. */ address: v.string(), + /** + * The protocol to use for signing the message. + */ + protocol: v.enum(MessageSigningProtocols), }); export type SignMessageResult = v.InferOutput; export const signMessageRequestMessageSchema = v.object({