@blocklet/server-js 1.16.49-beta-20250821-102221-1b7283d6

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/lib/node.js ADDED
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable no-underscore-dangle */
4
+ const {
5
+ EventEmitter
6
+ } = require('events');
7
+ const {
8
+ fromSecretKey
9
+ } = require('@ocap/wallet');
10
+ const ABTNodeClient = require('./base');
11
+ const signer = require('./signer');
12
+ class NativeABTNodeClient extends ABTNodeClient {
13
+ constructor(httpEndpoint, userAgent) {
14
+ super(httpEndpoint, userAgent);
15
+ this._accessKeyId = null;
16
+ this._accessKeySecret = null;
17
+
18
+ // wallet type
19
+ this._type = null;
20
+ }
21
+ setAuthAccessKey(_ref) {
22
+ let {
23
+ accessKeyId,
24
+ accessKeySecret,
25
+ type
26
+ } = _ref;
27
+ NativeABTNodeClient.validateAccessKey({
28
+ accessKeyId,
29
+ accessKeySecret,
30
+ type
31
+ });
32
+ this._accessKeyId = accessKeyId;
33
+ this._accessKeySecret = accessKeySecret;
34
+ this._type = type;
35
+ }
36
+ _getAuthHeaders() {
37
+ const headers = super._getAuthHeaders();
38
+ if (this._accessKeyId && this._accessKeySecret) {
39
+ headers['x-access-key-id'] = this._accessKeyId;
40
+ if (this._type === 'sha256') {
41
+ headers['x-access-signature'] = signer.sha256.sign(this._accessKeySecret);
42
+ headers['x-access-alg'] = 'sha256';
43
+ } else if (this._type === 'totp') {
44
+ headers['x-access-signature'] = signer.totp.sign(this._accessKeySecret);
45
+ headers['x-access-alg'] = 'totp';
46
+ } else {
47
+ const wallet = fromSecretKey(this._accessKeySecret, this._type);
48
+ const timestamp = Date.now();
49
+ headers['x-access-signature'] = wallet.sign("".concat(timestamp, "-").concat(this._accessKeyId));
50
+ headers['x-access-stamp'] = timestamp;
51
+ }
52
+ }
53
+ return headers;
54
+ }
55
+ _getSocketOptions() {
56
+ return {};
57
+ }
58
+ _getEventImplementation() {
59
+ return EventEmitter;
60
+ }
61
+ }
62
+ NativeABTNodeClient.validateAccessKey = _ref2 => {
63
+ let {
64
+ accessKeyId,
65
+ accessKeySecret,
66
+ type
67
+ } = _ref2;
68
+ if (type === 'totp' || type === 'sha256') {
69
+ return;
70
+ }
71
+ const wallet = fromSecretKey(accessKeySecret, type);
72
+ const isSameAddr = (addr1, addr2) => String(addr1).toLowerCase() === String(addr2).toLowerCase();
73
+ const match = isSameAddr(accessKeyId, wallet.address);
74
+ if (!match) {
75
+ throw new Error('accessKeyId and accessKeySecret does not match');
76
+ }
77
+ };
78
+ NativeABTNodeClient.signWithAccessKey = _ref3 => {
79
+ let {
80
+ accessKeyId,
81
+ accessKeySecret,
82
+ message,
83
+ type
84
+ } = _ref3;
85
+ NativeABTNodeClient.validateAccessKey({
86
+ accessKeyId,
87
+ accessKeySecret
88
+ });
89
+ const wallet = fromSecretKey(accessKeySecret, type);
90
+ return wallet.sign(message);
91
+ };
92
+ module.exports = NativeABTNodeClient;
93
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","names":["EventEmitter","require","fromSecretKey","ABTNodeClient","signer","NativeABTNodeClient","constructor","httpEndpoint","userAgent","_accessKeyId","_accessKeySecret","_type","setAuthAccessKey","_ref","accessKeyId","accessKeySecret","type","validateAccessKey","_getAuthHeaders","headers","sha256","sign","totp","wallet","timestamp","Date","now","concat","_getSocketOptions","_getEventImplementation","_ref2","isSameAddr","addr1","addr2","String","toLowerCase","match","address","Error","signWithAccessKey","_ref3","message","module","exports"],"sources":["../src/node.js"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nconst { EventEmitter } = require('events');\nconst { fromSecretKey } = require('@ocap/wallet');\n\nconst ABTNodeClient = require('./base');\nconst signer = require('./signer');\n\nclass NativeABTNodeClient extends ABTNodeClient {\n constructor(httpEndpoint, userAgent) {\n super(httpEndpoint, userAgent);\n\n this._accessKeyId = null;\n this._accessKeySecret = null;\n\n // wallet type\n this._type = null;\n }\n\n setAuthAccessKey({ accessKeyId, accessKeySecret, type }) {\n NativeABTNodeClient.validateAccessKey({\n accessKeyId,\n accessKeySecret,\n type,\n });\n\n this._accessKeyId = accessKeyId;\n this._accessKeySecret = accessKeySecret;\n this._type = type;\n }\n\n _getAuthHeaders() {\n const headers = super._getAuthHeaders();\n if (this._accessKeyId && this._accessKeySecret) {\n headers['x-access-key-id'] = this._accessKeyId;\n if (this._type === 'sha256') {\n headers['x-access-signature'] = signer.sha256.sign(this._accessKeySecret);\n headers['x-access-alg'] = 'sha256';\n } else if (this._type === 'totp') {\n headers['x-access-signature'] = signer.totp.sign(this._accessKeySecret);\n headers['x-access-alg'] = 'totp';\n } else {\n const wallet = fromSecretKey(this._accessKeySecret, this._type);\n const timestamp = Date.now();\n headers['x-access-signature'] = wallet.sign(`${timestamp}-${this._accessKeyId}`);\n headers['x-access-stamp'] = timestamp;\n }\n }\n\n return headers;\n }\n\n _getSocketOptions() {\n return {};\n }\n\n _getEventImplementation() {\n return EventEmitter;\n }\n}\n\nNativeABTNodeClient.validateAccessKey = ({ accessKeyId, accessKeySecret, type }) => {\n if (type === 'totp' || type === 'sha256') {\n return;\n }\n const wallet = fromSecretKey(accessKeySecret, type);\n const isSameAddr = (addr1, addr2) => String(addr1).toLowerCase() === String(addr2).toLowerCase();\n const match = isSameAddr(accessKeyId, wallet.address);\n if (!match) {\n throw new Error('accessKeyId and accessKeySecret does not match');\n }\n};\n\nNativeABTNodeClient.signWithAccessKey = ({ accessKeyId, accessKeySecret, message, type }) => {\n NativeABTNodeClient.validateAccessKey({ accessKeyId, accessKeySecret });\n const wallet = fromSecretKey(accessKeySecret, type);\n return wallet.sign(message);\n};\n\nmodule.exports = NativeABTNodeClient;\n"],"mappings":"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","ignoreList":[]}