hbsig 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/commit.js +57 -0
- package/cjs/index.js +20 -1
- package/cjs/signer-utils.js +5 -5
- package/cjs/signer.js +8 -2
- package/cjs/utils.js +2 -0
- package/esm/commit.js +24 -0
- package/esm/index.js +2 -1
- package/esm/signer-utils.js +4 -7
- package/esm/signer.js +12 -8
- package/esm/utils.js +1 -0
- package/package.json +4 -4
package/cjs/commit.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.commit = void 0;
|
|
8
|
+
var _id = require("./id.js");
|
|
9
|
+
var _utils = require("./utils.js");
|
|
10
|
+
var _signerUtils = require("./signer-utils.js");
|
|
11
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
12
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
19
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
20
|
+
var commit = exports.commit = /*#__PURE__*/function () {
|
|
21
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(obj, opts) {
|
|
22
|
+
var msg, hmacId, rsaId, pub, committer, meta, meta2, sigs;
|
|
23
|
+
return _regenerator().w(function (_context) {
|
|
24
|
+
while (1) switch (_context.n) {
|
|
25
|
+
case 0:
|
|
26
|
+
_context.n = 1;
|
|
27
|
+
return opts.signer(obj, opts);
|
|
28
|
+
case 1:
|
|
29
|
+
msg = _context.v;
|
|
30
|
+
hmacId = (0, _id.hmacid)(msg.headers);
|
|
31
|
+
rsaId = (0, _id.rsaid)(msg.headers);
|
|
32
|
+
pub = (0, _signerUtils.extractPubKey)(msg.headers);
|
|
33
|
+
committer = (0, _utils.toAddr)(pub.toString("base64"));
|
|
34
|
+
meta = {
|
|
35
|
+
alg: "rsa-pss-sha512",
|
|
36
|
+
"commitment-device": "httpsig@1.0"
|
|
37
|
+
};
|
|
38
|
+
meta2 = {
|
|
39
|
+
alg: "hmac-sha256",
|
|
40
|
+
"commitment-device": "httpsig@1.0"
|
|
41
|
+
};
|
|
42
|
+
sigs = {
|
|
43
|
+
signature: msg.headers.signature,
|
|
44
|
+
"signature-input": msg.headers["signature-input"]
|
|
45
|
+
};
|
|
46
|
+
return _context.a(2, _objectSpread({
|
|
47
|
+
commitments: _defineProperty(_defineProperty({}, rsaId, _objectSpread(_objectSpread({}, meta), {}, {
|
|
48
|
+
committer: committer
|
|
49
|
+
}, sigs)), hmacId, _objectSpread(_objectSpread({}, meta2), sigs))
|
|
50
|
+
}, obj));
|
|
51
|
+
}
|
|
52
|
+
}, _callee);
|
|
53
|
+
}));
|
|
54
|
+
return function commit(_x, _x2) {
|
|
55
|
+
return _ref.apply(this, arguments);
|
|
56
|
+
};
|
|
57
|
+
}();
|
package/cjs/index.js
CHANGED
|
@@ -9,6 +9,24 @@ Object.defineProperty(exports, "base", {
|
|
|
9
9
|
return _id.base;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "createSigner", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _signer.createSigner;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "decodeSigInput", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _signerUtils.decodeSigInput;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "extractPublicKeyFromHeaders", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _signerUtils.extractPublicKeyFromHeaders;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
12
30
|
Object.defineProperty(exports, "hashpath", {
|
|
13
31
|
enumerable: true,
|
|
14
32
|
get: function get() {
|
|
@@ -60,4 +78,5 @@ Object.defineProperty(exports, "toAddr", {
|
|
|
60
78
|
var _id = require("./id.js");
|
|
61
79
|
var _utils = require("./utils.js");
|
|
62
80
|
var _signer = require("./signer.js");
|
|
63
|
-
var _send = require("./send.js");
|
|
81
|
+
var _send = require("./send.js");
|
|
82
|
+
var _signerUtils = require("./signer-utils.js");
|
package/cjs/signer-utils.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.decodeSigInput = decodeSigInput;
|
|
8
|
-
exports.
|
|
8
|
+
exports.extractPubKey = extractPubKey;
|
|
9
9
|
exports.send = send;
|
|
10
10
|
exports.toHttpSigner = void 0;
|
|
11
11
|
exports.verify = verify;
|
|
@@ -270,7 +270,7 @@ function _verify() {
|
|
|
270
270
|
case 1:
|
|
271
271
|
// Extract public key from keyid
|
|
272
272
|
_signatureName = extractSignatureName(headers);
|
|
273
|
-
extractedKey =
|
|
273
|
+
extractedKey = extractPubKey(headers, _signatureName);
|
|
274
274
|
if (extractedKey) {
|
|
275
275
|
_context6.n = 2;
|
|
276
276
|
break;
|
|
@@ -337,7 +337,7 @@ function _verify() {
|
|
|
337
337
|
headers: _objectSpread({}, headers)
|
|
338
338
|
}; // Extract additional info from headers
|
|
339
339
|
signatureName = extractSignatureName(headers);
|
|
340
|
-
extractedPublicKey =
|
|
340
|
+
extractedPublicKey = extractPubKey(headers, signatureName); // Extract algorithm from signature-input
|
|
341
341
|
signatureInputHeader = headers["signature-input"] || headers["Signature-Input"];
|
|
342
342
|
decodedSigInput = decodeSigInput(signatureInputHeader, signatureName);
|
|
343
343
|
algorithm = decodedSigInput === null || decodedSigInput === void 0 || (_decodedSigInput$para = decodedSigInput.params) === null || _decodedSigInput$para === void 0 ? void 0 : _decodedSigInput$para.alg; // Verify using the library
|
|
@@ -387,7 +387,7 @@ function _verify() {
|
|
|
387
387
|
}));
|
|
388
388
|
return _verify.apply(this, arguments);
|
|
389
389
|
}
|
|
390
|
-
function
|
|
390
|
+
function extractPubKey(headers, signatureName) {
|
|
391
391
|
var _Object$values$;
|
|
392
392
|
var signatureInput = headers["signature-input"] || headers["Signature-Input"];
|
|
393
393
|
if (!signatureInput) return null;
|
|
@@ -414,7 +414,7 @@ function extractPublicKeyFromHeaders(headers, signatureName) {
|
|
|
414
414
|
*/
|
|
415
415
|
function extractPublicKeyFromMessage(signedMessage) {
|
|
416
416
|
var signatureName = extractSignatureName(signedMessage.headers);
|
|
417
|
-
return
|
|
417
|
+
return extractPubKey(signedMessage.headers, signatureName);
|
|
418
418
|
}
|
|
419
419
|
function send(_x3) {
|
|
420
420
|
return _send.apply(this, arguments);
|
package/cjs/signer.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.createSigner = void 0;
|
|
6
7
|
exports.sign = sign;
|
|
7
8
|
exports.signInternal = void 0;
|
|
8
9
|
exports.signer = signer;
|
|
@@ -602,5 +603,10 @@ function signer(config) {
|
|
|
602
603
|
};
|
|
603
604
|
}();
|
|
604
605
|
}
|
|
605
|
-
|
|
606
|
-
|
|
606
|
+
var createSigner = exports.createSigner = function createSigner(jwk, url) {
|
|
607
|
+
var _signer = (0, _aoconnect.createSigner)(jwk, url);
|
|
608
|
+
return signer({
|
|
609
|
+
signer: _signer,
|
|
610
|
+
url: url
|
|
611
|
+
});
|
|
612
|
+
};
|
package/cjs/utils.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.toAddr = toAddr;
|
|
7
7
|
var _fastSha = _interopRequireDefault(require("fast-sha256"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
10
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
10
11
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
12
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -36,6 +37,7 @@ function base64urlEncode(bytes) {
|
|
|
36
37
|
return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
|
|
37
38
|
}
|
|
38
39
|
function toAddr(n) {
|
|
40
|
+
if (_typeof(n) === "object" && typeof n.n === "string") n = n.n;
|
|
39
41
|
var pubBytes = base64urlDecode(n);
|
|
40
42
|
var hash = (0, _fastSha["default"])(pubBytes);
|
|
41
43
|
return base64urlEncode(hash);
|
package/esm/commit.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { id, base, hashpath, rsaid, hmacid } from "./id.js"
|
|
2
|
+
import { toAddr } from "./utils.js"
|
|
3
|
+
import { extractPubKey } from "./signer-utils.js"
|
|
4
|
+
|
|
5
|
+
export const commit = async (obj, opts) => {
|
|
6
|
+
const msg = await opts.signer(obj, opts)
|
|
7
|
+
const hmacId = hmacid(msg.headers)
|
|
8
|
+
const rsaId = rsaid(msg.headers)
|
|
9
|
+
const pub = extractPubKey(msg.headers)
|
|
10
|
+
const committer = toAddr(pub.toString("base64"))
|
|
11
|
+
const meta = { alg: "rsa-pss-sha512", "commitment-device": "httpsig@1.0" }
|
|
12
|
+
const meta2 = { alg: "hmac-sha256", "commitment-device": "httpsig@1.0" }
|
|
13
|
+
const sigs = {
|
|
14
|
+
signature: msg.headers.signature,
|
|
15
|
+
"signature-input": msg.headers["signature-input"],
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
commitments: {
|
|
19
|
+
[rsaId]: { ...meta, committer, ...sigs },
|
|
20
|
+
[hmacId]: { ...meta2, ...sigs },
|
|
21
|
+
},
|
|
22
|
+
...obj,
|
|
23
|
+
}
|
|
24
|
+
}
|
package/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { id, base, hashpath, rsaid, hmacid } from "./id.js"
|
|
2
2
|
export { toAddr } from "./utils.js"
|
|
3
|
-
export { sign, signer } from "./signer.js"
|
|
3
|
+
export { sign, signer, createSigner } from "./signer.js"
|
|
4
4
|
export { send } from "./send.js"
|
|
5
|
+
export { extractPublicKeyFromHeaders, decodeSigInput } from "./signer-utils.js"
|
package/esm/signer-utils.js
CHANGED
|
@@ -190,7 +190,7 @@ export async function verify(signedMessage, publicKey) {
|
|
|
190
190
|
} else {
|
|
191
191
|
// Extract public key from keyid
|
|
192
192
|
const signatureName = extractSignatureName(headers)
|
|
193
|
-
const extractedKey =
|
|
193
|
+
const extractedKey = extractPubKey(headers, signatureName)
|
|
194
194
|
if (!extractedKey) {
|
|
195
195
|
return {
|
|
196
196
|
valid: false,
|
|
@@ -245,10 +245,7 @@ export async function verify(signedMessage, publicKey) {
|
|
|
245
245
|
|
|
246
246
|
// Extract additional info from headers
|
|
247
247
|
const signatureName = extractSignatureName(headers)
|
|
248
|
-
const extractedPublicKey =
|
|
249
|
-
headers,
|
|
250
|
-
signatureName
|
|
251
|
-
)
|
|
248
|
+
const extractedPublicKey = extractPubKey(headers, signatureName)
|
|
252
249
|
|
|
253
250
|
// Extract algorithm from signature-input
|
|
254
251
|
const signatureInputHeader =
|
|
@@ -302,7 +299,7 @@ export async function verify(signedMessage, publicKey) {
|
|
|
302
299
|
* @param {string} [signatureName] - Optional signature name to look for
|
|
303
300
|
* @returns {Buffer|null} Public key buffer or null
|
|
304
301
|
*/
|
|
305
|
-
export function
|
|
302
|
+
export function extractPubKey(headers, signatureName) {
|
|
306
303
|
const signatureInput =
|
|
307
304
|
headers["signature-input"] || headers["Signature-Input"]
|
|
308
305
|
if (!signatureInput) return null
|
|
@@ -335,7 +332,7 @@ export function extractPublicKeyFromHeaders(headers, signatureName) {
|
|
|
335
332
|
*/
|
|
336
333
|
function extractPublicKeyFromMessage(signedMessage) {
|
|
337
334
|
const signatureName = extractSignatureName(signedMessage.headers)
|
|
338
|
-
return
|
|
335
|
+
return extractPubKey(signedMessage.headers, signatureName)
|
|
339
336
|
}
|
|
340
337
|
|
|
341
338
|
export async function send(signedMsg, fetchImpl = fetch) {
|
package/esm/signer.js
CHANGED
|
@@ -3,7 +3,7 @@ import { structured_from, structured_to } from "./structured.js"
|
|
|
3
3
|
import { erl_json_from, erl_json_to, normalize } from "./erl_json.js"
|
|
4
4
|
import { enc } from "./encode.js"
|
|
5
5
|
import { isBytes } from "./encode-utils.js"
|
|
6
|
-
import { createSigner } from "@permaweb/aoconnect"
|
|
6
|
+
import { createSigner as _createSigner } from "@permaweb/aoconnect"
|
|
7
7
|
import { toHttpSigner } from "./send.js"
|
|
8
8
|
|
|
9
9
|
// Export verify from signer-utils.js for compatibility
|
|
@@ -204,7 +204,7 @@ const smartSign = async (obj, path) => {
|
|
|
204
204
|
message[key] = encodeAsStructuredFieldList(value)
|
|
205
205
|
} else if (typeof value === "number") {
|
|
206
206
|
types.push(
|
|
207
|
-
`${key}="${Number.isInteger(value) ? "integer" : "float"}"
|
|
207
|
+
`${key}="${Number.isInteger(value) ? "integer" : "float"}"`,
|
|
208
208
|
)
|
|
209
209
|
message[key] = String(value)
|
|
210
210
|
} else if (typeof value === "boolean") {
|
|
@@ -276,9 +276,9 @@ const _sign = async (obj, path) => {
|
|
|
276
276
|
const encoded = httpsig_to(
|
|
277
277
|
normalize(
|
|
278
278
|
structured_from(
|
|
279
|
-
normalize({ ...filtered, path: path || "/~wao@1.0/httpsig" })
|
|
280
|
-
)
|
|
281
|
-
)
|
|
279
|
+
normalize({ ...filtered, path: path || "/~wao@1.0/httpsig" }),
|
|
280
|
+
),
|
|
281
|
+
),
|
|
282
282
|
)
|
|
283
283
|
|
|
284
284
|
// Check if the encoded result is valid for HTTP headers
|
|
@@ -300,7 +300,7 @@ const joinUrl = ({ url, path }) => {
|
|
|
300
300
|
|
|
301
301
|
// Main sign function that matches signer.js API
|
|
302
302
|
export async function sign({ url, path, msg: encoded, jwk, signPath = true }) {
|
|
303
|
-
const signer =
|
|
303
|
+
const signer = _createSigner(jwk, url)
|
|
304
304
|
const { body = null, ...headers } = encoded
|
|
305
305
|
let _enc = { headers }
|
|
306
306
|
if (body) _enc.body = new Blob([body])
|
|
@@ -385,7 +385,7 @@ export function signer(config) {
|
|
|
385
385
|
|
|
386
386
|
return async (
|
|
387
387
|
fields,
|
|
388
|
-
{ encoded: _encoded = false, path: _path = true } = {}
|
|
388
|
+
{ encoded: _encoded = false, path: _path = true } = {},
|
|
389
389
|
) => {
|
|
390
390
|
const { path = "/relay/process", method = "POST", ...aoFields } = fields
|
|
391
391
|
|
|
@@ -448,5 +448,9 @@ export function signer(config) {
|
|
|
448
448
|
}
|
|
449
449
|
}
|
|
450
450
|
|
|
451
|
-
|
|
451
|
+
export const createSigner = (jwk, url) => {
|
|
452
|
+
const _signer = _createSigner(jwk, url)
|
|
453
|
+
return signer({ signer: _signer, url })
|
|
454
|
+
}
|
|
455
|
+
|
|
452
456
|
export { _sign as signInternal }
|
package/esm/utils.js
CHANGED
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hbsig",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"main": "cjs/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"devDependencies": {
|
|
7
|
-
"@babel/plugin-transform-modules-commonjs": "^7.24.8",
|
|
8
7
|
"@babel/cli": "^7.24.8",
|
|
9
8
|
"@babel/core": "^7.25.2",
|
|
10
|
-
"@babel/
|
|
9
|
+
"@babel/plugin-transform-modules-commonjs": "^7.24.8",
|
|
10
|
+
"@babel/preset-env": "^7.25.3",
|
|
11
|
+
"wao": "^0.33.0"
|
|
11
12
|
},
|
|
12
13
|
"dependencies": {
|
|
13
|
-
"wao": "^0.32.2",
|
|
14
14
|
"@permaweb/aoconnect": "^0.0.85",
|
|
15
15
|
"base64url": "^3.0.1",
|
|
16
16
|
"fast-sha256": "^1.3.0",
|