@kiltprotocol/jcs-data-integrity-proofs-common
Advanced tools
Comparing version 0.1.0-rc.2 to 0.1.0-rc.3
@@ -8,4 +8,4 @@ /** | ||
export { jcsCanonicalize, createVerifyData } from "./canonicalization.js"; | ||
export { decodeMultikeyVerificationMethod } from "./multibase.js"; | ||
export { decodeBase58BtcMultikey } from "./multibase.js"; | ||
export { isBase58VerificationMethod, isMultikeyVerificationMethod, } from "./verificationMethod.js"; | ||
export type * from "./types.js"; |
@@ -9,3 +9,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isMultikeyVerificationMethod = exports.isBase58VerificationMethod = exports.decodeMultikeyVerificationMethod = exports.createVerifyData = exports.jcsCanonicalize = void 0; | ||
exports.isMultikeyVerificationMethod = exports.isBase58VerificationMethod = exports.decodeBase58BtcMultikey = exports.createVerifyData = exports.jcsCanonicalize = void 0; | ||
var canonicalization_js_1 = require("./canonicalization.js"); | ||
@@ -15,5 +15,5 @@ Object.defineProperty(exports, "jcsCanonicalize", { enumerable: true, get: function () { return canonicalization_js_1.jcsCanonicalize; } }); | ||
var multibase_js_1 = require("./multibase.js"); | ||
Object.defineProperty(exports, "decodeMultikeyVerificationMethod", { enumerable: true, get: function () { return multibase_js_1.decodeMultikeyVerificationMethod; } }); | ||
Object.defineProperty(exports, "decodeBase58BtcMultikey", { enumerable: true, get: function () { return multibase_js_1.decodeBase58BtcMultikey; } }); | ||
var verificationMethod_js_1 = require("./verificationMethod.js"); | ||
Object.defineProperty(exports, "isBase58VerificationMethod", { enumerable: true, get: function () { return verificationMethod_js_1.isBase58VerificationMethod; } }); | ||
Object.defineProperty(exports, "isMultikeyVerificationMethod", { enumerable: true, get: function () { return verificationMethod_js_1.isMultikeyVerificationMethod; } }); |
@@ -7,7 +7,7 @@ /** | ||
*/ | ||
import type { MultikeyVerificationMethod } from "./types.js"; | ||
import type { Base58BtcMultibaseString } from "./types.js"; | ||
export declare const BASE58_BTC_MULTIBASE_PREFIX = "z"; | ||
export declare function decodeMultikeyVerificationMethod({ publicKeyMultibase, }: Pick<MultikeyVerificationMethod, "publicKeyMultibase">): { | ||
export declare function decodeBase58BtcMultikey(multikeyEncoded: Base58BtcMultibaseString): { | ||
prefix: number; | ||
publicKey: Uint8Array; | ||
keyBytes: Uint8Array; | ||
}; |
@@ -9,12 +9,17 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.decodeMultikeyVerificationMethod = exports.BASE58_BTC_MULTIBASE_PREFIX = void 0; | ||
exports.decodeBase58BtcMultikey = exports.BASE58_BTC_MULTIBASE_PREFIX = void 0; | ||
const base_1 = require("@scure/base"); | ||
// @ts-expect-error Not a typescript module | ||
const varint = require("varint"); | ||
const decodeVarint = typeof varint.decode === "function" ? varint.decode : varint.default.decode; | ||
exports.BASE58_BTC_MULTIBASE_PREFIX = "z"; | ||
function decodeMultikeyVerificationMethod({ publicKeyMultibase, }) { | ||
if (!publicKeyMultibase.startsWith(exports.BASE58_BTC_MULTIBASE_PREFIX)) { | ||
throw new Error(`The public key multibase does not start with the expected prefix "${exports.BASE58_BTC_MULTIBASE_PREFIX}".`); | ||
function decodeBase58BtcMultikey(multikeyEncoded) { | ||
if (!multikeyEncoded.startsWith(exports.BASE58_BTC_MULTIBASE_PREFIX)) { | ||
throw new Error(`A multikey encoding must be prefixed with "${exports.BASE58_BTC_MULTIBASE_PREFIX}".`); | ||
} | ||
const [prefix, ...publicKey] = base_1.base58.decode(publicKeyMultibase.substring(1)); | ||
return { prefix, publicKey: Uint8Array.from(publicKey) }; | ||
const bytes = base_1.base58.decode(multikeyEncoded.substring(1)); | ||
const prefix = decodeVarint(bytes); | ||
const prefixLength = decodeVarint.bytes; | ||
return { prefix, keyBytes: bytes.slice(prefixLength) }; | ||
} | ||
exports.decodeMultikeyVerificationMethod = decodeMultikeyVerificationMethod; | ||
exports.decodeBase58BtcMultikey = decodeBase58BtcMultikey; |
@@ -8,4 +8,4 @@ /** | ||
export { jcsCanonicalize, createVerifyData } from "./canonicalization.js"; | ||
export { decodeMultikeyVerificationMethod } from "./multibase.js"; | ||
export { decodeBase58BtcMultikey } from "./multibase.js"; | ||
export { isBase58VerificationMethod, isMultikeyVerificationMethod, } from "./verificationMethod.js"; | ||
export type * from "./types.js"; |
@@ -8,3 +8,3 @@ /** | ||
export { jcsCanonicalize, createVerifyData } from "./canonicalization.js"; | ||
export { decodeMultikeyVerificationMethod } from "./multibase.js"; | ||
export { decodeBase58BtcMultikey } from "./multibase.js"; | ||
export { isBase58VerificationMethod, isMultikeyVerificationMethod, } from "./verificationMethod.js"; |
@@ -7,7 +7,7 @@ /** | ||
*/ | ||
import type { MultikeyVerificationMethod } from "./types.js"; | ||
import type { Base58BtcMultibaseString } from "./types.js"; | ||
export declare const BASE58_BTC_MULTIBASE_PREFIX = "z"; | ||
export declare function decodeMultikeyVerificationMethod({ publicKeyMultibase, }: Pick<MultikeyVerificationMethod, "publicKeyMultibase">): { | ||
export declare function decodeBase58BtcMultikey(multikeyEncoded: Base58BtcMultibaseString): { | ||
prefix: number; | ||
publicKey: Uint8Array; | ||
keyBytes: Uint8Array; | ||
}; |
@@ -8,9 +8,14 @@ /** | ||
import { base58 } from "@scure/base"; | ||
// @ts-expect-error Not a typescript module | ||
import * as varint from "varint"; | ||
const decodeVarint = typeof varint.decode === "function" ? varint.decode : varint.default.decode; | ||
export const BASE58_BTC_MULTIBASE_PREFIX = "z"; | ||
export function decodeMultikeyVerificationMethod({ publicKeyMultibase, }) { | ||
if (!publicKeyMultibase.startsWith(BASE58_BTC_MULTIBASE_PREFIX)) { | ||
throw new Error(`The public key multibase does not start with the expected prefix "${BASE58_BTC_MULTIBASE_PREFIX}".`); | ||
export function decodeBase58BtcMultikey(multikeyEncoded) { | ||
if (!multikeyEncoded.startsWith(BASE58_BTC_MULTIBASE_PREFIX)) { | ||
throw new Error(`A multikey encoding must be prefixed with "${BASE58_BTC_MULTIBASE_PREFIX}".`); | ||
} | ||
const [prefix, ...publicKey] = base58.decode(publicKeyMultibase.substring(1)); | ||
return { prefix, publicKey: Uint8Array.from(publicKey) }; | ||
const bytes = base58.decode(multikeyEncoded.substring(1)); | ||
const prefix = decodeVarint(bytes); | ||
const prefixLength = decodeVarint.bytes; | ||
return { prefix, keyBytes: bytes.slice(prefixLength) }; | ||
} |
@@ -5,4 +5,8 @@ { | ||
"@noble/hashes": "^1.3.0", | ||
"canonicalize": "^2.0.0" | ||
"canonicalize": "^2.0.0", | ||
"varint": "^6.0.0" | ||
}, | ||
"devDependencies": { | ||
"@noble/curves": "^1.4.0" | ||
}, | ||
"peerDependencies": { | ||
@@ -38,4 +42,4 @@ "@scure/base": "^1.1.0" | ||
"types": "./cjs/index.d.ts", | ||
"version": "0.1.0-rc.2", | ||
"version": "0.1.0-rc.3", | ||
"stableVersion": "0.0.0" | ||
} |
20943
415
4
1
+ Addedvarint@^6.0.0
+ Addedvarint@6.0.0(transitive)