🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@atproto/crypto

Package Overview
Dependencies
Maintainers
5
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@atproto/crypto - npm Package Compare versions

Comparing version
0.4.4
to
0.4.5
+6
-0
CHANGELOG.md
# @atproto/crypto
## 0.4.5
### Patch Changes
- [#4384](https://github.com/bluesky-social/atproto/pull/4384) [`d396de0`](https://github.com/bluesky-social/atproto/commit/d396de016d1d55d08cfad1dabd3ffd9eaeea76ea) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Update `formatDidKey` return type to `did:key:${string}`
## 0.4.4

@@ -4,0 +10,0 @@

+2
-2

@@ -1,3 +0,3 @@

export declare const P256_DID_PREFIX: Uint8Array;
export declare const SECP256K1_DID_PREFIX: Uint8Array;
export declare const P256_DID_PREFIX: Uint8Array<ArrayBuffer>;
export declare const SECP256K1_DID_PREFIX: Uint8Array<ArrayBuffer>;
export declare const BASE58_MULTIBASE_PREFIX = "z";

@@ -4,0 +4,0 @@ export declare const DID_KEY_PREFIX = "did:key:";

@@ -1,1 +0,1 @@

{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,YAA+B,CAAA;AAC3D,eAAO,MAAM,oBAAoB,YAA+B,CAAA;AAChE,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAC1C,eAAO,MAAM,cAAc,aAAa,CAAA;AAExC,eAAO,MAAM,YAAY,UAAU,CAAA;AACnC,eAAO,MAAM,iBAAiB,WAAW,CAAA"}
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,yBAA+B,CAAA;AAC3D,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAChE,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAC1C,eAAO,MAAM,cAAc,aAAa,CAAA;AAExC,eAAO,MAAM,YAAY,UAAU,CAAA;AACnC,eAAO,MAAM,iBAAiB,WAAW,CAAA"}

@@ -1,1 +0,1 @@

{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAC9C,QAAA,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACnD,QAAA,uBAAuB,GAAG,GAAG,CAAA;AAC7B,QAAA,cAAc,GAAG,UAAU,CAAA;AAE3B,QAAA,YAAY,GAAG,OAAO,CAAA;AACtB,QAAA,iBAAiB,GAAG,QAAQ,CAAA"}
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAC9C,QAAA,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACnD,QAAA,uBAAuB,GAAG,GAAG,CAAA;AAC7B,QAAA,cAAc,GAAG,UAAU,CAAA;AAE3B,QAAA,YAAY,GAAG,OAAO,CAAA;AACtB,QAAA,iBAAiB,GAAG,QAAQ,CAAA","sourcesContent":["export const P256_DID_PREFIX = new Uint8Array([0x80, 0x24])\nexport const SECP256K1_DID_PREFIX = new Uint8Array([0xe7, 0x01])\nexport const BASE58_MULTIBASE_PREFIX = 'z'\nexport const DID_KEY_PREFIX = 'did:key:'\n\nexport const P256_JWT_ALG = 'ES256'\nexport const SECP256K1_JWT_ALG = 'ES256K'\n"]}

@@ -8,3 +8,3 @@ export type ParsedMultikey = {

export declare const parseDidKey: (did: string) => ParsedMultikey;
export declare const formatDidKey: (jwtAlg: string, keyBytes: Uint8Array) => string;
export declare function formatDidKey(jwtAlg: string, keyBytes: Uint8Array): `did:key:${string}`;
//# sourceMappingURL=did.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa,aAAc,MAAM,KAAG,cAahD,CAAA;AAED,eAAO,MAAM,cAAc,WACjB,MAAM,YACJ,UAAU,KACnB,MAYF,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,cAGzC,CAAA;AAED,eAAO,MAAM,YAAY,WAAY,MAAM,YAAY,UAAU,KAAG,MAEnE,CAAA"}
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,cAahD,CAAA;AAED,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,UAAU,UAAU,KACnB,MAYF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,cAGzC,CAAA;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,GACnB,WAAW,MAAM,EAAE,CAErB"}

@@ -18,11 +18,22 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatDidKey = exports.parseDidKey = exports.formatMultikey = exports.parseMultikey = void 0;
exports.parseDidKey = exports.formatMultikey = exports.parseMultikey = void 0;
exports.formatDidKey = formatDidKey;
const uint8arrays = __importStar(require("uint8arrays"));

@@ -62,6 +73,5 @@ const const_1 = require("./const");

exports.parseDidKey = parseDidKey;
const formatDidKey = (jwtAlg, keyBytes) => {
return const_1.DID_KEY_PREFIX + (0, exports.formatMultikey)(jwtAlg, keyBytes);
};
exports.formatDidKey = formatDidKey;
function formatDidKey(jwtAlg, keyBytes) {
return `${const_1.DID_KEY_PREFIX}${(0, exports.formatMultikey)(jwtAlg, keyBytes)}`;
}
//# sourceMappingURL=did.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,mCAAiE;AACjE,uCAAmC;AACnC,mCAA0E;AAOnE,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAkB,EAAE;IAChE,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CACtC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1C,CAAA;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB;AAEM,MAAM,cAAc,GAAG,CAC5B,MAAc,EACd,QAAoB,EACZ,EAAE;IACV,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;KAChC,CAAC,CAAA;IACF,OAAO,CACL,+BAAuB,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAC3E,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,cAAc,kBAe1B;AAEM,MAAM,WAAW,GAAG,CAAC,GAAW,EAAkB,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAA;IACrC,OAAO,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAA;AAChC,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAEM,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,QAAoB,EAAU,EAAE;IAC3E,OAAO,sBAAc,GAAG,IAAA,sBAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"}
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,oCAKC;AApDD,yDAA0C;AAC1C,mCAAiE;AACjE,uCAAmC;AACnC,mCAA0E;AAOnE,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAkB,EAAE;IAChE,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CACtC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1C,CAAA;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB;AAEM,MAAM,cAAc,GAAG,CAC5B,MAAc,EACd,QAAoB,EACZ,EAAE;IACV,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;KAChC,CAAC,CAAA;IACF,OAAO,CACL,+BAAuB,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAC3E,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,cAAc,kBAe1B;AAEM,MAAM,WAAW,GAAG,CAAC,GAAW,EAAkB,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAA;IACrC,OAAO,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAA;AAChC,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAED,SAAgB,YAAY,CAC1B,MAAc,EACd,QAAoB;IAEpB,OAAO,GAAG,sBAAc,GAAG,IAAA,sBAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAW,CAAA;AACxE,CAAC","sourcesContent":["import * as uint8arrays from 'uint8arrays'\nimport { BASE58_MULTIBASE_PREFIX, DID_KEY_PREFIX } from './const'\nimport { plugins } from './plugins'\nimport { extractMultikey, extractPrefixedBytes, hasPrefix } from './utils'\n\nexport type ParsedMultikey = {\n jwtAlg: string\n keyBytes: Uint8Array\n}\n\nexport const parseMultikey = (multikey: string): ParsedMultikey => {\n const prefixedBytes = extractPrefixedBytes(multikey)\n const plugin = plugins.find((p) => hasPrefix(prefixedBytes, p.prefix))\n if (!plugin) {\n throw new Error('Unsupported key type')\n }\n const keyBytes = plugin.decompressPubkey(\n prefixedBytes.slice(plugin.prefix.length),\n )\n return {\n jwtAlg: plugin.jwtAlg,\n keyBytes,\n }\n}\n\nexport const formatMultikey = (\n jwtAlg: string,\n keyBytes: Uint8Array,\n): string => {\n const plugin = plugins.find((p) => p.jwtAlg === jwtAlg)\n if (!plugin) {\n throw new Error('Unsupported key type')\n }\n const prefixedBytes = uint8arrays.concat([\n plugin.prefix,\n plugin.compressPubkey(keyBytes),\n ])\n return (\n BASE58_MULTIBASE_PREFIX + uint8arrays.toString(prefixedBytes, 'base58btc')\n )\n}\n\nexport const parseDidKey = (did: string): ParsedMultikey => {\n const multikey = extractMultikey(did)\n return parseMultikey(multikey)\n}\n\nexport function formatDidKey(\n jwtAlg: string,\n keyBytes: Uint8Array,\n): `did:key:${string}` {\n return `${DID_KEY_PREFIX}${formatMultikey(jwtAlg, keyBytes)}` as const\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,wCAAqB;AACrB,8CAA2B;AAC3B,2CAAwB;AACxB,wCAAqB;AACrB,0CAAuB;AACvB,2CAAwB;AACxB,0CAAuB;AAEvB,iDAA8B;AAC9B,gDAA6B;AAE7B,sDAAmC;AACnC,qDAAkC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,wCAAqB;AACrB,8CAA2B;AAC3B,2CAAwB;AACxB,wCAAqB;AACrB,0CAAuB;AACvB,2CAAwB;AACxB,0CAAuB;AAEvB,iDAA8B;AAC9B,gDAA6B;AAE7B,sDAAmC;AACnC,qDAAkC","sourcesContent":["export * from './const'\nexport * from './did'\nexport * from './multibase'\nexport * from './random'\nexport * from './sha'\nexport * from './types'\nexport * from './verify'\nexport * from './utils'\n\nexport * from './p256/keypair'\nexport * from './p256/plugin'\n\nexport * from './secp256k1/keypair'\nexport * from './secp256k1/plugin'\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"multibase.d.ts","sourceRoot":"","sources":["../src/multibase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,eAAO,MAAM,gBAAgB,OAAQ,MAAM,KAAG,UAuB7C,CAAA;AAED,eAAO,MAAM,gBAAgB,OACvB,UAAU,YACJ,kBAAkB,KAC3B,MAqBF,CAAA"}
{"version":3,"file":"multibase.d.ts","sourceRoot":"","sources":["../src/multibase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,UAuB7C,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,IAAI,UAAU,EACd,UAAU,kBAAkB,KAC3B,MAqBF,CAAA"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.bytesToMultibase = exports.multibaseToBytes = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"multibase.js","sourceRoot":"","sources":["../src/multibase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAGnC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAc,EAAE;IACzD,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC9C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACnD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC9C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACnD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACjD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC9C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACjD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACpD;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;AACH,CAAC,CAAA;AAvBY,QAAA,gBAAgB,oBAuB5B;AAEM,MAAM,gBAAgB,GAAG,CAC9B,EAAc,EACd,QAA4B,EACpB,EAAE;IACV,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,aAAa;YAChB,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,aAAa;YAChB,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,WAAW;YACd,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,WAAW;YACd,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,cAAc;YACjB,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC,CAAA;AAxBY,QAAA,gBAAgB,oBAwB5B"}
{"version":3,"file":"multibase.js","sourceRoot":"","sources":["../src/multibase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAGnC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAc,EAAE;IACzD,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC9C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACnD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC9C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACnD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACjD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC9C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACjD,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACpD;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;AACH,CAAC,CAAA;AAvBY,QAAA,gBAAgB,oBAuB5B;AAEM,MAAM,gBAAgB,GAAG,CAC9B,EAAc,EACd,QAA4B,EACpB,EAAE;IACV,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,aAAa;YAChB,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,aAAa;YAChB,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,WAAW;YACd,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,WAAW;YACd,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD,KAAK,cAAc;YACjB,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACjD;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC,CAAA;AAxBY,QAAA,gBAAgB,oBAwB5B","sourcesContent":["import * as uint8arrays from 'uint8arrays'\nimport { SupportedEncodings } from 'uint8arrays/to-string'\n\nexport const multibaseToBytes = (mb: string): Uint8Array => {\n const base = mb[0]\n const key = mb.slice(1)\n switch (base) {\n case 'f':\n return uint8arrays.fromString(key, 'base16')\n case 'F':\n return uint8arrays.fromString(key, 'base16upper')\n case 'b':\n return uint8arrays.fromString(key, 'base32')\n case 'B':\n return uint8arrays.fromString(key, 'base32upper')\n case 'z':\n return uint8arrays.fromString(key, 'base58btc')\n case 'm':\n return uint8arrays.fromString(key, 'base64')\n case 'u':\n return uint8arrays.fromString(key, 'base64url')\n case 'U':\n return uint8arrays.fromString(key, 'base64urlpad')\n default:\n throw new Error(`Unsupported multibase: :${mb}`)\n }\n}\n\nexport const bytesToMultibase = (\n mb: Uint8Array,\n encoding: SupportedEncodings,\n): string => {\n switch (encoding) {\n case 'base16':\n return 'f' + uint8arrays.toString(mb, encoding)\n case 'base16upper':\n return 'F' + uint8arrays.toString(mb, encoding)\n case 'base32':\n return 'b' + uint8arrays.toString(mb, encoding)\n case 'base32upper':\n return 'B' + uint8arrays.toString(mb, encoding)\n case 'base58btc':\n return 'z' + uint8arrays.toString(mb, encoding)\n case 'base64':\n return 'm' + uint8arrays.toString(mb, encoding)\n case 'base64url':\n return 'u' + uint8arrays.toString(mb, encoding)\n case 'base64urlpad':\n return 'U' + uint8arrays.toString(mb, encoding)\n default:\n throw new Error(`Unsupported multibase: :${encoding}`)\n }\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/p256/encoding.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,gBAAiB,UAAU,KAAG,UAGxD,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAgB,UAAU,KAAG,UAMzD,CAAA"}
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/p256/encoding.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAI,aAAa,UAAU,KAAG,UAGxD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,YAAY,UAAU,KAAG,UAMzD,CAAA"}

@@ -1,1 +0,1 @@

{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/p256/encoding.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAElC,MAAM,cAAc,GAAG,CAAC,WAAuB,EAAc,EAAE;IACpE,MAAM,KAAK,GAAG,WAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAEM,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAc,EAAE;IACrE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,WAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B"}
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/p256/encoding.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAElC,MAAM,cAAc,GAAG,CAAC,WAAuB,EAAc,EAAE;IACpE,MAAM,KAAK,GAAG,WAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAEM,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAc,EAAE;IACrE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,WAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B","sourcesContent":["import { p256 } from '@noble/curves/p256'\n\nexport const compressPubkey = (pubkeyBytes: Uint8Array): Uint8Array => {\n const point = p256.ProjectivePoint.fromHex(pubkeyBytes)\n return point.toRawBytes(true)\n}\n\nexport const decompressPubkey = (compressed: Uint8Array): Uint8Array => {\n if (compressed.length !== 33) {\n throw new Error('Expected 33 byte compress pubkey')\n }\n const point = p256.ProjectivePoint.fromHex(compressed)\n return point.toRawBytes(false)\n}\n"]}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.P256Keypair = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAGoB;AAEpB,oCAAuC;AACvC,4CAA6B;AAO7B,MAAa,WAAW;IAItB,YACU,UAAsB,EACtB,UAAmB;QAD3B;;;;mBAAQ,UAAU;WAAY;QAC9B;;;;mBAAQ,UAAU;WAAS;QAL7B;;;;mBAAS,oBAAY;WAAA;QACb;;;;;WAAqB;QAM3B,IAAI,CAAC,SAAS,GAAG,WAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,WAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAtDD,kCAsDC"}
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/p256/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAGoB;AAEpB,oCAAuC;AACvC,4CAA6B;AAO7B,MAAa,WAAW;IAItB,YACU,UAAsB,EACtB,UAAmB;QAD3B;;;;mBAAQ,UAAU;WAAY;QAC9B;;;;mBAAQ,UAAU;WAAS;QAL7B;;;;mBAAS,oBAAY;WAAA;QACb;;;;;WAAqB;QAM3B,IAAI,CAAC,SAAS,GAAG,WAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,WAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAkC;QAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAtDD,kCAsDC","sourcesContent":["import { p256 } from '@noble/curves/p256'\nimport { sha256 } from '@noble/hashes/sha256'\nimport {\n fromString as ui8FromString,\n toString as ui8ToString,\n} from 'uint8arrays'\nimport { SupportedEncodings } from 'uint8arrays/to-string'\nimport { P256_JWT_ALG } from '../const'\nimport * as did from '../did'\nimport { Keypair } from '../types'\n\nexport type P256KeypairOptions = {\n exportable: boolean\n}\n\nexport class P256Keypair implements Keypair {\n jwtAlg = P256_JWT_ALG\n private publicKey: Uint8Array\n\n constructor(\n private privateKey: Uint8Array,\n private exportable: boolean,\n ) {\n this.publicKey = p256.getPublicKey(privateKey)\n }\n\n static async create(\n opts?: Partial<P256KeypairOptions>,\n ): Promise<P256Keypair> {\n const { exportable = false } = opts || {}\n const privKey = p256.utils.randomPrivateKey()\n return new P256Keypair(privKey, exportable)\n }\n\n static async import(\n privKey: Uint8Array | string,\n opts?: Partial<P256KeypairOptions>,\n ): Promise<P256Keypair> {\n const { exportable = false } = opts || {}\n const privKeyBytes =\n typeof privKey === 'string' ? ui8FromString(privKey, 'hex') : privKey\n return new P256Keypair(privKeyBytes, exportable)\n }\n\n publicKeyBytes(): Uint8Array {\n return this.publicKey\n }\n\n publicKeyStr(encoding: SupportedEncodings = 'base64pad'): string {\n return ui8ToString(this.publicKey, encoding)\n }\n\n did(): string {\n return did.formatDidKey(this.jwtAlg, this.publicKey)\n }\n\n async sign(msg: Uint8Array): Promise<Uint8Array> {\n const msgHash = await sha256(msg)\n // return raw 64 byte sig not DER-encoded\n const sig = await p256.sign(msgHash, this.privateKey, { lowS: true })\n return sig.toCompactRawBytes()\n }\n\n async export(): Promise<Uint8Array> {\n if (!this.exportable) {\n throw new Error('Private key is not exportable')\n }\n return this.privateKey\n }\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,YAAY,QAClB,MAAM,QACL,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,SAAS,cACT,UAAU,QACf,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,UAAU,YAO9C,CAAA"}
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,EACX,MAAM,UAAU,EAChB,KAAK,UAAU,EACf,OAAO,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,WAAW,UAAU,EACrB,MAAM,UAAU,EAChB,KAAK,UAAU,EACf,OAAO,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,UAAU,YAO9C,CAAA"}

@@ -1,1 +0,1 @@

{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAAiD;AACjD,oCAA0C;AAE1C,oCAA2E;AAEpE,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAW,EACX,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,uBAAe,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,uBAAe,CAAC,MAAM,CAAC,CAAA;IAC5D,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,SAAqB,EACrB,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,CAAA;IAClC,OAAO,WAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,iCAAiC;QACjF,IAAI,EAAE,CAAC,cAAc;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,IAAA,oBAAS,EAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/p256/operations.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,iDAA6C;AAC7C,6CAAiD;AACjD,oCAA0C;AAE1C,oCAA2E;AAEpE,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAW,EACX,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,uBAAe,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,uBAAe,CAAC,MAAM,CAAC,CAAA;IAC5D,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,SAAqB,EACrB,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,CAAA;IAClC,OAAO,WAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,iCAAiC;QACjF,IAAI,EAAE,CAAC,cAAc;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,IAAA,oBAAS,EAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B","sourcesContent":["import { p256 } from '@noble/curves/p256'\nimport { sha256 } from '@noble/hashes/sha256'\nimport { equals as ui8equals } from 'uint8arrays'\nimport { P256_DID_PREFIX } from '../const'\nimport { VerifyOptions } from '../types'\nimport { extractMultikey, extractPrefixedBytes, hasPrefix } from '../utils'\n\nexport const verifyDidSig = async (\n did: string,\n data: Uint8Array,\n sig: Uint8Array,\n opts?: VerifyOptions,\n): Promise<boolean> => {\n const prefixedBytes = extractPrefixedBytes(extractMultikey(did))\n if (!hasPrefix(prefixedBytes, P256_DID_PREFIX)) {\n throw new Error(`Not a P-256 did:key: ${did}`)\n }\n const keyBytes = prefixedBytes.slice(P256_DID_PREFIX.length)\n return verifySig(keyBytes, data, sig, opts)\n}\n\nexport const verifySig = async (\n publicKey: Uint8Array,\n data: Uint8Array,\n sig: Uint8Array,\n opts?: VerifyOptions,\n): Promise<boolean> => {\n const allowMalleable = opts?.allowMalleableSig ?? false\n const msgHash = await sha256(data)\n return p256.verify(sig, msgHash, publicKey, {\n format: allowMalleable ? undefined : 'compact', // prevent DER-encoded signatures\n lowS: !allowMalleable,\n })\n}\n\nexport const isCompactFormat = (sig: Uint8Array) => {\n try {\n const parsed = p256.Signature.fromCompact(sig)\n return ui8equals(parsed.toCompactRawBytes(), sig)\n } catch {\n return false\n }\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/p256/plugin.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AAExD,yCAA6D;AAC7D,6CAA2C;AAE9B,QAAA,UAAU,GAAiB;IACtC,MAAM,EAAE,uBAAe;IACvB,MAAM,EAAE,oBAAY;IACpB,eAAe,EAAE,yBAAY;IAE7B,cAAc,EAAd,yBAAc;IACd,gBAAgB,EAAhB,2BAAgB;CACjB,CAAA"}
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/p256/plugin.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AAExD,yCAA6D;AAC7D,6CAA2C;AAE9B,QAAA,UAAU,GAAiB;IACtC,MAAM,EAAE,uBAAe;IACvB,MAAM,EAAE,oBAAY;IACpB,eAAe,EAAE,yBAAY;IAE7B,cAAc,EAAd,yBAAc;IACd,gBAAgB,EAAhB,2BAAgB;CACjB,CAAA","sourcesContent":["import { P256_DID_PREFIX, P256_JWT_ALG } from '../const'\nimport { DidKeyPlugin } from '../types'\nimport { compressPubkey, decompressPubkey } from './encoding'\nimport { verifyDidSig } from './operations'\n\nexport const p256Plugin: DidKeyPlugin = {\n prefix: P256_DID_PREFIX,\n jwtAlg: P256_JWT_ALG,\n verifySignature: verifyDidSig,\n\n compressPubkey,\n decompressPubkey,\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,+CAAoD;AAEvC,QAAA,OAAO,GAAG,CAAC,mBAAU,EAAE,wBAAe,CAAC,CAAA"}
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,+CAAoD;AAEvC,QAAA,OAAO,GAAG,CAAC,mBAAU,EAAE,wBAAe,CAAC,CAAA","sourcesContent":["import { p256Plugin } from './p256/plugin'\nimport { secp256k1Plugin } from './secp256k1/plugin'\n\nexport const plugins = [p256Plugin, secp256k1Plugin]\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,eAAO,MAAM,WAAW,0BAAoB,CAAA;AAE5C,eAAO,MAAM,SAAS,eACR,MAAM,YACR,kBAAkB,KAC3B,MAGF,CAAA;AAED,eAAO,MAAM,iBAAiB,SACtB,MAAM,QACN,MAAM,mBAEX,OAAO,CAAC,MAAM,CAMhB,CAAA"}
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,eAAO,MAAM,WAAW,0BAAoB,CAAA;AAE5C,eAAO,MAAM,SAAS,GACpB,YAAY,MAAM,EAClB,UAAU,kBAAkB,KAC3B,MAGF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,YAAO,KACN,OAAO,CAAC,MAAM,CAMhB,CAAA"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.randomIntFromSeed = exports.randomStr = exports.randomBytes = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA4C;AAC5C,yDAA0C;AAE1C,+BAA8B;AAEjB,QAAA,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;AAErC,MAAM,SAAS,GAAG,CACvB,UAAkB,EAClB,QAA4B,EACpB,EAAE;IACV,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,UAAU,CAAC,CAAA;IACrC,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC,CAAA;AANY,QAAA,SAAS,aAMrB;AAEM,MAAM,iBAAiB,GAAG,KAAK,EACpC,IAAY,EACZ,IAAY,EACZ,GAAG,GAAG,CAAC,EACU,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,IAAA,YAAM,EAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,CAAA;IACxB,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAA;IACjC,OAAO,UAAU,GAAG,GAAG,CAAA;AACzB,CAAC,CAAA;AAVY,QAAA,iBAAiB,qBAU7B"}
{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA4C;AAC5C,yDAA0C;AAE1C,+BAA8B;AAEjB,QAAA,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;AAErC,MAAM,SAAS,GAAG,CACvB,UAAkB,EAClB,QAA4B,EACpB,EAAE;IACV,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,UAAU,CAAC,CAAA;IACrC,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC,CAAA;AANY,QAAA,SAAS,aAMrB;AAEM,MAAM,iBAAiB,GAAG,KAAK,EACpC,IAAY,EACZ,IAAY,EACZ,GAAG,GAAG,CAAC,EACU,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,IAAA,YAAM,EAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,CAAA;IACxB,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAA;IACjC,OAAO,UAAU,GAAG,GAAG,CAAA;AACzB,CAAC,CAAA;AAVY,QAAA,iBAAiB,qBAU7B","sourcesContent":["import * as noble from '@noble/hashes/utils'\nimport * as uint8arrays from 'uint8arrays'\nimport { SupportedEncodings } from 'uint8arrays/to-string'\nimport { sha256 } from './sha'\n\nexport const randomBytes = noble.randomBytes\n\nexport const randomStr = (\n byteLength: number,\n encoding: SupportedEncodings,\n): string => {\n const bytes = randomBytes(byteLength)\n return uint8arrays.toString(bytes, encoding)\n}\n\nexport const randomIntFromSeed = async (\n seed: string,\n high: number,\n low = 0,\n): Promise<number> => {\n const hash = await sha256(seed)\n const number = Buffer.from(hash).readUintBE(0, 6)\n const range = high - low\n const normalized = number % range\n return normalized + low\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/secp256k1/encoding.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,gBAAiB,UAAU,KAAG,UAGxD,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAgB,UAAU,KAAG,UAMzD,CAAA"}
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/secp256k1/encoding.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAI,aAAa,UAAU,KAAG,UAGxD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,YAAY,UAAU,KAAG,UAMzD,CAAA"}

@@ -1,1 +0,1 @@

{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/secp256k1/encoding.ts"],"names":[],"mappings":";;;AAAA,uDAA2D;AAEpD,MAAM,cAAc,GAAG,CAAC,WAAuB,EAAc,EAAE;IACpE,MAAM,KAAK,GAAG,qBAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAEM,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAc,EAAE;IACrE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,qBAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B"}
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/secp256k1/encoding.ts"],"names":[],"mappings":";;;AAAA,uDAA2D;AAEpD,MAAM,cAAc,GAAG,CAAC,WAAuB,EAAc,EAAE;IACpE,MAAM,KAAK,GAAG,qBAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAEM,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAc,EAAE;IACrE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,qBAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B","sourcesContent":["import { secp256k1 as k256 } from '@noble/curves/secp256k1'\n\nexport const compressPubkey = (pubkeyBytes: Uint8Array): Uint8Array => {\n const point = k256.ProjectivePoint.fromHex(pubkeyBytes)\n return point.toRawBytes(true)\n}\n\nexport const decompressPubkey = (compressed: Uint8Array): Uint8Array => {\n if (compressed.length !== 33) {\n throw new Error('Expected 33 byte compress pubkey')\n }\n const point = k256.ProjectivePoint.fromHex(compressed)\n return point.toRawBytes(false)\n}\n"]}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.Secp256k1Keypair = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,6CAGoB;AAEpB,oCAA4C;AAC5C,4CAA6B;AAO7B,MAAa,gBAAgB;IAI3B,YACU,UAAsB,EACtB,UAAmB;QAD3B;;;;mBAAQ,UAAU;WAAY;QAC9B;;;;mBAAQ,UAAU;WAAS;QAL7B;;;;mBAAS,yBAAiB;WAAA;QAClB;;;;;WAAqB;QAM3B,IAAI,CAAC,SAAS,GAAG,qBAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,qBAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,qBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAtDD,4CAsDC"}
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/secp256k1/keypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,6CAGoB;AAEpB,oCAA4C;AAC5C,4CAA6B;AAO7B,MAAa,gBAAgB;IAI3B,YACU,UAAsB,EACtB,UAAmB;QAD3B;;;;mBAAQ,UAAU;WAAY;QAC9B;;;;mBAAQ,UAAU;WAAS;QAL7B;;;;mBAAS,yBAAiB;WAAA;QAClB;;;;;WAAqB;QAM3B,IAAI,CAAC,SAAS,GAAG,qBAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,qBAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAA4B,EAC5B,IAAuC;QAEvC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACzC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACvE,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,WAA+B,WAAW;QACrD,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAe;QACxB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,GAAG,CAAC,CAAA;QACjC,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,qBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAtDD,4CAsDC","sourcesContent":["import { secp256k1 as k256 } from '@noble/curves/secp256k1'\nimport { sha256 } from '@noble/hashes/sha256'\nimport {\n fromString as ui8FromString,\n toString as ui8ToString,\n} from 'uint8arrays'\nimport { SupportedEncodings } from 'uint8arrays/to-string'\nimport { SECP256K1_JWT_ALG } from '../const'\nimport * as did from '../did'\nimport { Keypair } from '../types'\n\nexport type Secp256k1KeypairOptions = {\n exportable: boolean\n}\n\nexport class Secp256k1Keypair implements Keypair {\n jwtAlg = SECP256K1_JWT_ALG\n private publicKey: Uint8Array\n\n constructor(\n private privateKey: Uint8Array,\n private exportable: boolean,\n ) {\n this.publicKey = k256.getPublicKey(privateKey)\n }\n\n static async create(\n opts?: Partial<Secp256k1KeypairOptions>,\n ): Promise<Secp256k1Keypair> {\n const { exportable = false } = opts || {}\n const privKey = k256.utils.randomPrivateKey()\n return new Secp256k1Keypair(privKey, exportable)\n }\n\n static async import(\n privKey: Uint8Array | string,\n opts?: Partial<Secp256k1KeypairOptions>,\n ): Promise<Secp256k1Keypair> {\n const { exportable = false } = opts || {}\n const privKeyBytes =\n typeof privKey === 'string' ? ui8FromString(privKey, 'hex') : privKey\n return new Secp256k1Keypair(privKeyBytes, exportable)\n }\n\n publicKeyBytes(): Uint8Array {\n return this.publicKey\n }\n\n publicKeyStr(encoding: SupportedEncodings = 'base64pad'): string {\n return ui8ToString(this.publicKey, encoding)\n }\n\n did(): string {\n return did.formatDidKey(this.jwtAlg, this.publicKey)\n }\n\n async sign(msg: Uint8Array): Promise<Uint8Array> {\n const msgHash = await sha256(msg)\n // return raw 64 byte sig not DER-encoded\n const sig = await k256.sign(msgHash, this.privateKey, { lowS: true })\n return sig.toCompactRawBytes()\n }\n\n async export(): Promise<Uint8Array> {\n if (!this.exportable) {\n throw new Error('Private key is not exportable')\n }\n return this.privateKey\n }\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,YAAY,QAClB,MAAM,QACL,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,SAAS,cACT,UAAU,QACf,UAAU,OACX,UAAU,SACR,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,UAAU,YAO9C,CAAA"}
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,EACX,MAAM,UAAU,EAChB,KAAK,UAAU,EACf,OAAO,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,WAAW,UAAU,EACrB,MAAM,UAAU,EAChB,KAAK,UAAU,EACf,OAAO,aAAa,KACnB,OAAO,CAAC,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,UAAU,YAO9C,CAAA"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.isCompactFormat = exports.verifySig = exports.verifyDidSig = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,iDAAkC;AAClC,oCAA+C;AAE/C,oCAA2E;AAEpE,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAW,EACX,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,4BAAoB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,4BAAoB,CAAC,MAAM,CAAC,CAAA;IACjE,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,SAAqB,EACrB,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,CAAA;IAClC,OAAO,qBAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,iCAAiC;QACjF,IAAI,EAAE,CAAC,cAAc;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/secp256k1/operations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,iDAA6C;AAC7C,iDAAkC;AAClC,oCAA+C;AAE/C,oCAA2E;AAEpE,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAW,EACX,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,iBAAS,EAAC,aAAa,EAAE,4BAAoB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,4BAAoB,CAAC,MAAM,CAAC,CAAA;IACjE,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,SAAqB,EACrB,IAAgB,EAChB,GAAe,EACf,IAAoB,EACF,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,CAAA;IAClC,OAAO,qBAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,iCAAiC;QACjF,IAAI,EAAE,CAAC,cAAc;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B","sourcesContent":["import { secp256k1 as k256 } from '@noble/curves/secp256k1'\nimport { sha256 } from '@noble/hashes/sha256'\nimport * as ui8 from 'uint8arrays'\nimport { SECP256K1_DID_PREFIX } from '../const'\nimport { VerifyOptions } from '../types'\nimport { extractMultikey, extractPrefixedBytes, hasPrefix } from '../utils'\n\nexport const verifyDidSig = async (\n did: string,\n data: Uint8Array,\n sig: Uint8Array,\n opts?: VerifyOptions,\n): Promise<boolean> => {\n const prefixedBytes = extractPrefixedBytes(extractMultikey(did))\n if (!hasPrefix(prefixedBytes, SECP256K1_DID_PREFIX)) {\n throw new Error(`Not a secp256k1 did:key: ${did}`)\n }\n const keyBytes = prefixedBytes.slice(SECP256K1_DID_PREFIX.length)\n return verifySig(keyBytes, data, sig, opts)\n}\n\nexport const verifySig = async (\n publicKey: Uint8Array,\n data: Uint8Array,\n sig: Uint8Array,\n opts?: VerifyOptions,\n): Promise<boolean> => {\n const allowMalleable = opts?.allowMalleableSig ?? false\n const msgHash = await sha256(data)\n return k256.verify(sig, msgHash, publicKey, {\n format: allowMalleable ? undefined : 'compact', // prevent DER-encoded signatures\n lowS: !allowMalleable,\n })\n}\n\nexport const isCompactFormat = (sig: Uint8Array) => {\n try {\n const parsed = k256.Signature.fromCompact(sig)\n return ui8.equals(parsed.toCompactRawBytes(), sig)\n } catch {\n return false\n }\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/secp256k1/plugin.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAElE,yCAA6D;AAC7D,6CAA2C;AAE9B,QAAA,eAAe,GAAiB;IAC3C,MAAM,EAAE,4BAAoB;IAC5B,MAAM,EAAE,yBAAiB;IACzB,eAAe,EAAE,yBAAY;IAE7B,cAAc,EAAd,yBAAc;IACd,gBAAgB,EAAhB,2BAAgB;CACjB,CAAA"}
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/secp256k1/plugin.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAElE,yCAA6D;AAC7D,6CAA2C;AAE9B,QAAA,eAAe,GAAiB;IAC3C,MAAM,EAAE,4BAAoB;IAC5B,MAAM,EAAE,yBAAiB;IACzB,eAAe,EAAE,yBAAY;IAE7B,cAAc,EAAd,yBAAc;IACd,gBAAgB,EAAhB,2BAAgB;CACjB,CAAA","sourcesContent":["import { SECP256K1_DID_PREFIX, SECP256K1_JWT_ALG } from '../const'\nimport { DidKeyPlugin } from '../types'\nimport { compressPubkey, decompressPubkey } from './encoding'\nimport { verifyDidSig } from './operations'\n\nexport const secp256k1Plugin: DidKeyPlugin = {\n prefix: SECP256K1_DID_PREFIX,\n jwtAlg: SECP256K1_JWT_ALG,\n verifySignature: verifyDidSig,\n\n compressPubkey,\n decompressPubkey,\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"sha.d.ts","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM,UACV,UAAU,GAAG,MAAM,KACzB,OAAO,CAAC,UAAU,CAIpB,CAAA;AAGD,eAAO,MAAM,SAAS,UACb,UAAU,GAAG,MAAM,KACzB,OAAO,CAAC,MAAM,CAGhB,CAAA"}
{"version":3,"file":"sha.d.ts","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM,GACjB,OAAO,UAAU,GAAG,MAAM,KACzB,OAAO,CAAC,UAAU,CAIpB,CAAA;AAGD,eAAO,MAAM,SAAS,GACpB,OAAO,UAAU,GAAG,MAAM,KACzB,OAAO,CAAC,MAAM,CAGhB,CAAA"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.sha256Hex = exports.sha256 = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA6C;AAC7C,yDAA0C;AAE1C,mCAAmC;AACnC,yBAAyB;AAClB,MAAM,MAAM,GAAG,KAAK,EACzB,KAA0B,EACL,EAAE;IACvB,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,MAAM,UAMlB;AAED,yBAAyB;AAClB,MAAM,SAAS,GAAG,KAAK,EAC5B,KAA0B,EACT,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,CAAC,CAAA;IAChC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB"}
{"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA6C;AAC7C,yDAA0C;AAE1C,mCAAmC;AACnC,yBAAyB;AAClB,MAAM,MAAM,GAAG,KAAK,EACzB,KAA0B,EACL,EAAE;IACvB,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,MAAM,UAMlB;AAED,yBAAyB;AAClB,MAAM,SAAS,GAAG,KAAK,EAC5B,KAA0B,EACT,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,CAAC,CAAA;IAChC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB","sourcesContent":["import * as noble from '@noble/hashes/sha256'\nimport * as uint8arrays from 'uint8arrays'\n\n// takes either bytes of utf8 input\n// @TODO this can be sync\nexport const sha256 = async (\n input: Uint8Array | string,\n): Promise<Uint8Array> => {\n const bytes =\n typeof input === 'string' ? uint8arrays.fromString(input, 'utf8') : input\n return noble.sha256(bytes)\n}\n\n// @TODO this can be sync\nexport const sha256Hex = async (\n input: Uint8Array | string,\n): Promise<string> => {\n const hash = await sha256(input)\n return uint8arrays.toString(hash, 'hex')\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface Signer {\n jwtAlg: string\n sign(msg: Uint8Array): Promise<Uint8Array>\n}\n\nexport interface Didable {\n did(): string\n}\n\nexport interface Keypair extends Signer, Didable {}\n\nexport interface ExportableKeypair extends Keypair {\n export(): Promise<Uint8Array>\n}\n\nexport type DidKeyPlugin = {\n prefix: Uint8Array\n jwtAlg: string\n verifySignature: (\n did: string,\n msg: Uint8Array,\n data: Uint8Array,\n opts?: VerifyOptions,\n ) => Promise<boolean>\n\n compressPubkey: (uncompressed: Uint8Array) => Uint8Array\n decompressPubkey: (compressed: Uint8Array) => Uint8Array\n}\n\nexport type VerifyOptions = {\n allowMalleableSig?: boolean\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAK7C,CAAA;AAED,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,UAQvD,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,UAAU,UAAU,KAAG,OAEjE,CAAA"}
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,MAK7C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,UAQvD,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,EAAE,QAAQ,UAAU,KAAG,OAEjE,CAAA"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.hasPrefix = exports.extractPrefixedBytes = exports.extractMultikey = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,mCAAiE;AAE1D,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE;IACrD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAc,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,sBAAc,CAAC,MAAM,CAAC,CAAA;AACzC,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B;AAEM,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAc,EAAE;IACnE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,+BAAuB,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAC3B,QAAQ,CAAC,KAAK,CAAC,+BAAuB,CAAC,MAAM,CAAC,EAC9C,WAAW,CACZ,CAAA;AACH,CAAC,CAAA;AARY,QAAA,oBAAoB,wBAQhC;AAEM,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAE,MAAkB,EAAW,EAAE;IAC1E,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB"}
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,mCAAiE;AAE1D,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE;IACrD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAc,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,sBAAc,CAAC,MAAM,CAAC,CAAA;AACzC,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B;AAEM,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAc,EAAE;IACnE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,+BAAuB,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAC3B,QAAQ,CAAC,KAAK,CAAC,+BAAuB,CAAC,MAAM,CAAC,EAC9C,WAAW,CACZ,CAAA;AACH,CAAC,CAAA;AARY,QAAA,oBAAoB,wBAQhC;AAEM,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAE,MAAkB,EAAW,EAAE;IAC1E,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB","sourcesContent":["import * as uint8arrays from 'uint8arrays'\nimport { BASE58_MULTIBASE_PREFIX, DID_KEY_PREFIX } from './const'\n\nexport const extractMultikey = (did: string): string => {\n if (!did.startsWith(DID_KEY_PREFIX)) {\n throw new Error(`Incorrect prefix for did:key: ${did}`)\n }\n return did.slice(DID_KEY_PREFIX.length)\n}\n\nexport const extractPrefixedBytes = (multikey: string): Uint8Array => {\n if (!multikey.startsWith(BASE58_MULTIBASE_PREFIX)) {\n throw new Error(`Incorrect prefix for multikey: ${multikey}`)\n }\n return uint8arrays.fromString(\n multikey.slice(BASE58_MULTIBASE_PREFIX.length),\n 'base58btc',\n )\n}\n\nexport const hasPrefix = (bytes: Uint8Array, prefix: Uint8Array): boolean => {\n return uint8arrays.equals(prefix, bytes.subarray(0, prefix.byteLength))\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,WAClB,MAAM,QACR,UAAU,OACX,UAAU,SACR,aAAa,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KACA,OAAO,CAAC,OAAO,CAUjB,CAAA;AAED,eAAO,MAAM,mBAAmB,WACtB,MAAM,QACR,MAAM,OACP,MAAM,SACJ,aAAa,KACnB,OAAO,CAAC,OAAO,CAIjB,CAAA"}
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,MAAM,UAAU,EAChB,KAAK,UAAU,EACf,OAAO,aAAa,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KACA,OAAO,CAAC,OAAO,CAUjB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,OAAO,aAAa,KACnB,OAAO,CAAC,OAAO,CAIjB,CAAA"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,0 +37,0 @@ exports.verifySignatureUtf8 = exports.verifySignature = void 0;

@@ -1,1 +0,1 @@

{"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,+BAAmC;AACnC,uCAAmC;AAG5B,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,IAAgB,EAChB,GAAe,EACf,IAEC,EACiB,EAAE;IACpB,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,MAAM,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AACxD,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B;AAEM,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAc,EACd,IAAY,EACZ,GAAW,EACX,IAAoB,EACF,EAAE;IACpB,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACzD,OAAO,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC3D,CAAC,CAAA;AATY,QAAA,mBAAmB,uBAS/B"}
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,+BAAmC;AACnC,uCAAmC;AAG5B,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,IAAgB,EAChB,GAAe,EACf,IAEC,EACiB,EAAE;IACpB,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,MAAM,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AACxD,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B;AAEM,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAc,EACd,IAAY,EACZ,GAAW,EACX,IAAoB,EACF,EAAE;IACpB,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACzD,OAAO,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC3D,CAAC,CAAA;AATY,QAAA,mBAAmB,uBAS/B","sourcesContent":["import * as uint8arrays from 'uint8arrays'\nimport { parseDidKey } from './did'\nimport { plugins } from './plugins'\nimport { VerifyOptions } from './types'\n\nexport const verifySignature = (\n didKey: string,\n data: Uint8Array,\n sig: Uint8Array,\n opts?: VerifyOptions & {\n jwtAlg?: string\n },\n): Promise<boolean> => {\n const parsed = parseDidKey(didKey)\n if (opts?.jwtAlg && opts.jwtAlg !== parsed.jwtAlg) {\n throw new Error(`Expected key alg ${opts.jwtAlg}, got ${parsed.jwtAlg}`)\n }\n const plugin = plugins.find((p) => p.jwtAlg === parsed.jwtAlg)\n if (!plugin) {\n throw new Error(`Unsupported signature alg: ${parsed.jwtAlg}`)\n }\n return plugin.verifySignature(didKey, data, sig, opts)\n}\n\nexport const verifySignatureUtf8 = async (\n didKey: string,\n data: string,\n sig: string,\n opts?: VerifyOptions,\n): Promise<boolean> => {\n const dataBytes = uint8arrays.fromString(data, 'utf8')\n const sigBytes = uint8arrays.fromString(sig, 'base64url')\n return verifySignature(didKey, dataBytes, sigBytes, opts)\n}\n"]}

@@ -6,2 +6,3 @@ /** @type {import('jest').Config} */

setupFiles: ['<rootDir>/../../jest.setup.ts'],
moduleNameMapper: { '^(\\.\\.?\\/.+)\\.js$': ['$1.ts', '$1.js'] },
}
Dual MIT/Apache-2.0 License
Copyright (c) 2022-2024 Bluesky PBC, and Contributors
Copyright (c) 2022-2025 Bluesky Social PBC, and Contributors

@@ -5,0 +5,0 @@ Except as otherwise noted in individual files, this software is licensed under the MIT license (<http://opensource.org/licenses/MIT>), or the Apache License, Version 2.0 (<http://www.apache.org/licenses/LICENSE-2.0>).

{
"name": "@atproto/crypto",
"version": "0.4.4",
"version": "0.4.5",
"license": "MIT",

@@ -29,3 +29,3 @@ "description": "Library for cryptographic keys and signing in atproto",

"typescript": "^5.6.3",
"@atproto/common": "^0.4.8"
"@atproto/common": "^0.5.2"
},

@@ -32,0 +32,0 @@ "scripts": {

@@ -48,4 +48,7 @@ import * as uint8arrays from 'uint8arrays'

export const formatDidKey = (jwtAlg: string, keyBytes: Uint8Array): string => {
return DID_KEY_PREFIX + formatMultikey(jwtAlg, keyBytes)
export function formatDidKey(
jwtAlg: string,
keyBytes: Uint8Array,
): `did:key:${string}` {
return `${DID_KEY_PREFIX}${formatMultikey(jwtAlg, keyBytes)}` as const
}

@@ -13,4 +13,4 @@ import { randomIntFromSeed } from '../src'

expect(zero + one).toEqual(10000)
expect(Math.max(zero, one) / Math.min(zero, one)).toBeLessThan(1.05)
expect(Math.max(zero, one) / Math.min(zero, one)).toBeLessThan(1.1)
})
})

@@ -0,1 +1,3 @@

/* eslint-disable import/no-deprecated */
import fs from 'node:fs'

@@ -2,0 +4,0 @@ import { p256 as nobleP256 } from '@noble/curves/p256'

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet