- Consolidated duplicate UndoManagers to single instance - Fixed connection promise to only resolve on 'connected' status - Fixed WebSocketProvider import (WebsocketProvider) - Added proper doc.destroy() cleanup - Renamed isPresenceInitialized property to avoid conflict Co-Authored-By: Paperclip <noreply@paperclip.ing>
28 lines
916 B
TypeScript
28 lines
916 B
TypeScript
import { presignMessagePrefix } from '../../constants/strings.js'
|
|
import type { ErrorType } from '../../errors/utils.js'
|
|
import type { Hex, SignableMessage } from '../../types/misc.js'
|
|
import { type ConcatErrorType, concat } from '../data/concat.js'
|
|
import { size } from '../data/size.js'
|
|
import {
|
|
type BytesToHexErrorType,
|
|
bytesToHex,
|
|
type StringToHexErrorType,
|
|
stringToHex,
|
|
} from '../encoding/toHex.js'
|
|
|
|
export type ToPrefixedMessageErrorType =
|
|
| ConcatErrorType
|
|
| StringToHexErrorType
|
|
| BytesToHexErrorType
|
|
| ErrorType
|
|
|
|
export function toPrefixedMessage(message_: SignableMessage): Hex {
|
|
const message = (() => {
|
|
if (typeof message_ === 'string') return stringToHex(message_)
|
|
if (typeof message_.raw === 'string') return message_.raw
|
|
return bytesToHex(message_.raw)
|
|
})()
|
|
const prefix = stringToHex(`${presignMessagePrefix}${size(message)}`)
|
|
return concat([prefix, message])
|
|
}
|