@bitgo-beta/sdk-hmac 1.0.0-alpha.178 → 1.0.0-alpha.179

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.
@@ -22,13 +22,13 @@ export declare function calculateHMACSubject<T extends string | Buffer = string>
22
22
  /**
23
23
  * Calculate the HMAC for an HTTP request
24
24
  */
25
- export declare function calculateRequestHMAC<T extends string | Buffer = string>({ url: urlPath, text, timestamp, token, method, authVersion, }: CalculateRequestHmacOptions<T>): string;
25
+ export declare function calculateRequestHMAC<T extends string | Buffer = string>({ url: urlPath, text, timestamp, token, method, authVersion }: CalculateRequestHmacOptions<T>, useOriginalPath?: boolean): string;
26
26
  /**
27
27
  * Calculate request headers with HMAC
28
28
  */
29
- export declare function calculateRequestHeaders<T extends string | Buffer = string>({ url, text, token, method, authVersion, }: CalculateRequestHeadersOptions<T>): RequestHeaders;
29
+ export declare function calculateRequestHeaders<T extends string | Buffer = string>({ url, text, token, method, authVersion }: CalculateRequestHeadersOptions<T>, useOriginalPath?: boolean): RequestHeaders;
30
30
  /**
31
31
  * Verify the HMAC for an HTTP response
32
32
  */
33
- export declare function verifyResponse<T extends string | Buffer = string>({ url: urlPath, statusCode, text, timestamp, token, hmac, method, authVersion, }: VerifyResponseOptions<T>): VerifyResponseInfo<T>;
33
+ export declare function verifyResponse<T extends string | Buffer = string>({ url: urlPath, statusCode, text, timestamp, token, hmac, method, authVersion }: VerifyResponseOptions<T>, useOriginalPath?: boolean): VerifyResponseInfo<T>;
34
34
  //# sourceMappingURL=hmac.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGrE,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAExG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACrE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC,EAC7F,eAAe,UAAQ,GACtB,CAAC,CA8BH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EACvE,GAAG,EAAE,OAAO,EACZ,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,GACZ,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,MAAM,CAKzC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EAC1E,GAAG,EACH,IAAI,EACJ,KAAK,EACL,MAAM,EACN,WAAW,GACZ,EAAE,8BAA8B,CAAC,CAAC,CAAC,GAAG,cAAc,CAYpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EACjE,GAAG,EAAE,OAAO,EACZ,UAAU,EACV,IAAI,EACJ,SAAS,EACT,KAAK,EACL,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAyBlD"}
1
+ {"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGrE,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAExG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACrE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC,EAC7F,eAAe,UAAQ,GACtB,CAAC,CA8BH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACrE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC,EAC7F,eAAe,UAAQ,GACtB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACxE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC5E,eAAe,UAAQ,GACtB,cAAc,CAYhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC/D,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACzG,eAAe,UAAQ,GACtB,kBAAkB,CAAC,CAAC,CAAC,CA+BvB"}
package/dist/src/hmac.js CHANGED
@@ -93,17 +93,17 @@ function calculateHMACSubject({ urlPath, text, timestamp, statusCode, method, au
93
93
  /**
94
94
  * Calculate the HMAC for an HTTP request
95
95
  */
96
- function calculateRequestHMAC({ url: urlPath, text, timestamp, token, method, authVersion, }) {
97
- const signatureSubject = calculateHMACSubject({ urlPath, text, timestamp, method, authVersion });
96
+ function calculateRequestHMAC({ url: urlPath, text, timestamp, token, method, authVersion }, useOriginalPath = false) {
97
+ const signatureSubject = calculateHMACSubject({ urlPath, text, timestamp, method, authVersion }, useOriginalPath);
98
98
  // calculate the HMAC
99
99
  return calculateHMAC(token, signatureSubject);
100
100
  }
101
101
  /**
102
102
  * Calculate request headers with HMAC
103
103
  */
104
- function calculateRequestHeaders({ url, text, token, method, authVersion, }) {
104
+ function calculateRequestHeaders({ url, text, token, method, authVersion }, useOriginalPath = false) {
105
105
  const timestamp = Date.now();
106
- const hmac = calculateRequestHMAC({ url, text, timestamp, token, method, authVersion });
106
+ const hmac = calculateRequestHMAC({ url, text, timestamp, token, method, authVersion }, useOriginalPath);
107
107
  // calculate the SHA256 hash of the token
108
108
  const hashDigest = sjcl.hash.sha256.hash(token);
109
109
  const tokenHash = sjcl.codec.hex.fromBits(hashDigest);
@@ -116,7 +116,7 @@ function calculateRequestHeaders({ url, text, token, method, authVersion, }) {
116
116
  /**
117
117
  * Verify the HMAC for an HTTP response
118
118
  */
119
- function verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac, method, authVersion, }) {
119
+ function verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac, method, authVersion }, useOriginalPath = false) {
120
120
  const signatureSubject = calculateHMACSubject({
121
121
  urlPath,
122
122
  text,
@@ -124,12 +124,14 @@ function verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac
124
124
  statusCode,
125
125
  method,
126
126
  authVersion,
127
- });
127
+ }, useOriginalPath);
128
128
  // calculate the HMAC
129
129
  const expectedHmac = calculateHMAC(token, signatureSubject);
130
- // determine if the response is still within the validity window (5 minute window)
130
+ // determine if the response is still within the validity window (5-minute backwards window, 1-minute forward window)
131
131
  const now = Date.now();
132
- const isInResponseValidityWindow = timestamp >= now - 1000 * 60 * 5 && timestamp <= now;
132
+ const backwardValidityWindow = 1000 * 60 * 5;
133
+ const forwardValidityWindow = 1000 * 60;
134
+ const isInResponseValidityWindow = timestamp >= now - backwardValidityWindow && timestamp <= now + forwardValidityWindow;
133
135
  // verify the HMAC and timestamp
134
136
  return {
135
137
  isValid: expectedHmac === hmac,
@@ -139,4 +141,4 @@ function verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac
139
141
  verificationTime: now,
140
142
  };
141
143
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1hYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9obWFjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBLHNDQUVDO0FBYUQsb0RBaUNDO0FBS0Qsb0RBWUM7QUFLRCwwREFrQkM7QUFLRCx3Q0FrQ0M7QUFqSkQsbUNBQXFFO0FBQ3JFLDRDQUE4QjtBQUM5Qix1REFBeUM7QUFVekM7Ozs7O0dBS0c7QUFDSCxTQUFnQixhQUFhLENBQUMsR0FBb0MsRUFBRSxPQUE0QjtJQUM5RixPQUFPLElBQUEsbUJBQVUsRUFBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLG9CQUFvQixDQUNsQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFrQyxFQUM3RixlQUFlLEdBQUcsS0FBSztJQUV2QixtRUFBbUU7SUFDbkUsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxTQUFTLEdBQWtCLE9BQU8sQ0FBQztJQUN2QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDdEcsQ0FBQztJQUVELElBQUksWUFBb0IsQ0FB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LFdBQVc7S0FDWixDQUFDLENBQUM7SUFFSCxxQkFBcUI7SUFDckIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVELGtGQUFrRjtJQUNsRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkIsTUFBTSwwQkFBMEIsR0FBRyxTQUFTLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsSUFBSSxHQUFHLENBQUM7SUFFeEYsZ0NBQWdDO0lBQ2hDLE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWSxLQUFLLElBQUk7UUFDOUIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQiwwQkFBMEI7UUFDMUIsZ0JBQWdCLEVBQUUsR0FBRztLQUN0QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQmluYXJ5TGlrZSwgY3JlYXRlSG1hYywgdHlwZSBLZXlPYmplY3QgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgdXJsTGliIGZyb20gJ3VybCc7XG5pbXBvcnQgKiBhcyBzamNsIGZyb20gJ0BiaXRnby1iZXRhL3NqY2wnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlSG1hY1N1YmplY3RPcHRpb25zLFxuICBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnMsXG4gIENhbGN1bGF0ZVJlcXVlc3RIbWFjT3B0aW9ucyxcbiAgUmVxdWVzdEhlYWRlcnMsXG4gIFZlcmlmeVJlc3BvbnNlSW5mbyxcbiAgVmVyaWZ5UmVzcG9uc2VPcHRpb25zLFxufSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIEhNQUMgZm9yIHRoZSBnaXZlbiBrZXkgYW5kIG1lc3NhZ2VcbiAqIEBwYXJhbSBrZXkge1N0cmluZ30gLSB0aGUga2V5IHRvIHVzZSBmb3IgdGhlIEhNQUNcbiAqIEBwYXJhbSBtZXNzYWdlIHtTdHJpbmd9IC0gdGhlIGFjdHVhbCBtZXNzYWdlIHRvIEhNQUNcbiAqIEByZXR1cm5zIHsqfSAtIHRoZSByZXN1bHQgb2YgdGhlIEhNQUMgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVITUFDKGtleTogc3RyaW5nIHwgQmluYXJ5TGlrZSB8IEtleU9iamVjdCwgbWVzc2FnZTogc3RyaW5nIHwgQmluYXJ5TGlrZSk6IHN0cmluZyB7XG4gIHJldHVybiBjcmVhdGVIbWFjKCdzaGEyNTYnLCBrZXkpLnVwZGF0ZShtZXNzYWdlKS5kaWdlc3QoJ2hleCcpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgc3ViamVjdCBzdHJpbmcgdGhhdCBpcyB0byBiZSBITUFDJ2VkIGZvciBhIEhUVFAgcmVxdWVzdCBvciByZXNwb25zZVxuICogQHBhcmFtIHVybFBhdGggcmVxdWVzdCB1cmwsIGluY2x1ZGluZyBxdWVyeSBwYXJhbXNcbiAqIEBwYXJhbSB0ZXh0IHJlcXVlc3QgYm9keSB0ZXh0XG4gKiBAcGFyYW0gdGltZXN0YW1wIHJlcXVlc3QgdGltZXN0YW1wIGZyb20gYERhdGUubm93KClgXG4gKiBAcGFyYW0gc3RhdHVzQ29kZSBPbmx5IHNldCBmb3IgSFRUUCByZXNwb25zZXMsIGxlYXZlIGJsYW5rIGZvciByZXF1ZXN0c1xuICogQHBhcmFtIG1ldGhvZCByZXF1ZXN0IG1ldGhvZFxuICogQHBhcmFtIGF1dGhWZXJzaW9uIGF1dGhlbnRpY2F0aW9uIHZlcnNpb24gKDIgb3IgMylcbiAqIEBwYXJhbSB1c2VPcmlnaW5hbFBhdGggd2hldGhlciB0byB1c2UgdGhlIG9yaWdpbmFsIHVybFBhdGggd2l0aG91dCBwYXJzaW5nIChkZWZhdWx0IGZhbHNlKVxuICogQHJldHVybnMge3N0cmluZyB8IEJ1ZmZlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUhNQUNTdWJqZWN0PFQgZXh0ZW5kcyBzdHJpbmcgfCBCdWZmZXIgPSBzdHJpbmc+KFxuICB7IHVybFBhdGgsIHRleHQsIHRpbWVzdGFtcCwgc3RhdHVzQ29kZSwgbWV0aG9kLCBhdXRoVmVyc2lvbiB9OiBDYWxjdWxhdGVIbWFjU3ViamVjdE9wdGlvbnM8VD4sXG4gIHVzZU9yaWdpbmFsUGF0aCA9IGZhbHNlXG4pOiBUIHtcbiAgLyogTm9ybWFsaXplIGxlZ2FjeSAnZGVsJyB0byAnZGVsZXRlJyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuICBpZiAobWV0aG9kID09PSAnZGVsJykge1xuICAgIG1ldGhvZCA9ICdkZWxldGUnO1xuICB9XG5cbiAgbGV0IHF1ZXJ5UGF0aDogc3RyaW5nIHwgbnVsbCA9IHVybFBhdGg7XG4gIGlmICghdXNlT3JpZ2luYWxQYXRoKSB7XG4gICAgY29uc3QgdXJsRGV0YWlscyA9IHVybExpYi5wYXJzZSh1cmxQYXRoKTtcbiAgICBxdWVyeVBhdGggPSB1cmxEZXRhaWxzLnF1ZXJ5ICYmIHVybERldGFpbHMucXVlcnkubGVuZ3RoID4gMCA/IHVybERldGFpbHMucGF0aCA6IHVybERldGFpbHMucGF0aG5hbWU7XG4gIH1cblxuICBsZXQgcHJlZml4ZWRUZXh0OiBzdHJpbmc7XG4gIGlmIChzdGF0dXNDb2RlICE9PSB1bmRlZmluZWQgJiYgaXNGaW5pdGUoc3RhdHVzQ29kZSkgJiYgTnVtYmVyLmlzSW50ZWdlcihzdGF0dXNDb2RlKSkge1xuICAgIHByZWZpeGVkVGV4dCA9XG4gICAgICBhdXRoVmVyc2lvbiA9PT0gM1xuICAgICAgICA/IFttZXRob2QudG9VcHBlckNhc2UoKSwgdGltZXN0YW1wLCBxdWVyeVBhdGgsIHN0YXR1c0NvZGVdLmpvaW4oJ3wnKVxuICAgICAgICA6IFt0aW1lc3RhbXAsIHF1ZXJ5UGF0aCwgc3RhdHVzQ29kZV0uam9pbignfCcpO1xuICB9IGVsc2Uge1xuICAgIHByZWZpeGVkVGV4dCA9XG4gICAgICBhdXRoVmVyc2lvbiA9PT0gM1xuICAgICAgICA/IFttZXRob2QudG9VcHBlckNhc2UoKSwgdGltZXN0YW1wLCAnMy4wJywgcXVlcnlQYXRoXS5qb2luKCd8JylcbiAgICAgICAgOiBbdGltZXN0YW1wLCBxdWVyeVBhdGhdLmpvaW4oJ3wnKTtcbiAgfVxuXG4gIGNvbnN0IGlzQnVmZmVyID0gQnVmZmVyLmlzQnVmZmVyKHRleHQpO1xuICBpZiAoaXNCdWZmZXIpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbQnVmZmVyLmZyb20ocHJlZml4ZWRUZXh0ICsgJ3wnLCAndXRmLTgnKSwgdGV4dF0pIGFzIFQ7XG4gIH1cbiAgcmV0dXJuIFtwcmVmaXhlZFRleHQsIHRleHRdLmpvaW4oJ3wnKSBhcyBUO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgSE1BQyBmb3IgYW4gSFRUUCByZXF1ZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVSZXF1ZXN0SE1BQzxUIGV4dGVuZHMgc3RyaW5nIHwgQnVmZmVyID0gc3RyaW5nPih7XG4gIHVybDogdXJsUGF0aCxcbiAgdGV4dCxcbiAgdGltZXN0YW1wLFxuICB0b2tlbixcbiAgbWV0aG9kLFxuICBhdXRoVmVyc2lvbixcbn06IENhbGN1bGF0ZVJlcXVlc3RIbWFjT3B0aW9uczxUPik6IHN0cmluZyB7XG4gIGNvbnN0IHNpZ25hdHVyZVN1YmplY3QgPSBjYWxjdWxhdGVITUFDU3ViamVjdCh7IHVybFBhdGgsIHRleHQsIHRpbWVzdGFtcCwgbWV0aG9kLCBhdXRoVmVyc2lvbiB9KTtcblxuICAvLyBjYWxjdWxhdGUgdGhlIEhNQUNcbiAgcmV0dXJuIGNhbGN1bGF0ZUhNQUModG9rZW4sIHNpZ25hdHVyZVN1YmplY3QpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSByZXF1ZXN0IGhlYWRlcnMgd2l0aCBITUFDXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVSZXF1ZXN0SGVhZGVyczxUIGV4dGVuZHMgc3RyaW5nIHwgQnVmZmVyID0gc3RyaW5nPih7XG4gIHVybCxcbiAgdGV4dCxcbiAgdG9rZW4sXG4gIG1ldGhvZCxcbiAgYXV0aFZlcnNpb24sXG59OiBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnM8VD4pOiBSZXF1ZXN0SGVhZGVycyB7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gIGNvbnN0IGhtYWMgPSBjYWxjdWxhdGVSZXF1ZXN0SE1BQyh7IHVybCwgdGV4dCwgdGltZXN0YW1wLCB0b2tlbiwgbWV0aG9kLCBhdXRoVmVyc2lvbiB9KTtcblxuICAvLyBjYWxjdWxhdGUgdGhlIFNIQTI1NiBoYXNoIG9mIHRoZSB0b2tlblxuICBjb25zdCBoYXNoRGlnZXN0ID0gc2pjbC5oYXNoLnNoYTI1Ni5oYXNoKHRva2VuKTtcbiAgY29uc3QgdG9rZW5IYXNoID0gc2pjbC5jb2RlYy5oZXguZnJvbUJpdHMoaGFzaERpZ2VzdCk7XG4gIHJldHVybiB7XG4gICAgaG1hYyxcbiAgICB0aW1lc3RhbXAsXG4gICAgdG9rZW5IYXNoLFxuICB9O1xufVxuXG4vKipcbiAqIFZlcmlmeSB0aGUgSE1BQyBmb3IgYW4gSFRUUCByZXNwb25zZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5UmVzcG9uc2U8VCBleHRlbmRzIHN0cmluZyB8IEJ1ZmZlciA9IHN0cmluZz4oe1xuICB1cmw6IHVybFBhdGgsXG4gIHN0YXR1c0NvZGUsXG4gIHRleHQsXG4gIHRpbWVzdGFtcCxcbiAgdG9rZW4sXG4gIGhtYWMsXG4gIG1ldGhvZCxcbiAgYXV0aFZlcnNpb24sXG59OiBWZXJpZnlSZXNwb25zZU9wdGlvbnM8VD4pOiBWZXJpZnlSZXNwb25zZUluZm88VD4ge1xuICBjb25zdCBzaWduYXR1cmVTdWJqZWN0ID0gY2FsY3VsYXRlSE1BQ1N1YmplY3Qoe1xuICAgIHVybFBhdGgsXG4gICAgdGV4dCxcbiAgICB0aW1lc3RhbXAsXG4gICAgc3RhdHVzQ29kZSxcbiAgICBtZXRob2QsXG4gICAgYXV0aFZlcnNpb24sXG4gIH0pO1xuXG4gIC8vIGNhbGN1bGF0ZSB0aGUgSE1BQ1xuICBjb25zdCBleHBlY3RlZEhtYWMgPSBjYWxjdWxhdGVITUFDKHRva2VuLCBzaWduYXR1cmVTdWJqZWN0KTtcblxuICAvLyBkZXRlcm1pbmUgaWYgdGhlIHJlc3BvbnNlIGlzIHN0aWxsIHdpdGhpbiB0aGUgdmFsaWRpdHkgd2luZG93ICg1IG1pbnV0ZSB3aW5kb3cpXG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGlzSW5SZXNwb25zZVZhbGlkaXR5V2luZG93ID0gdGltZXN0YW1wID49IG5vdyAtIDEwMDAgKiA2MCAqIDUgJiYgdGltZXN0YW1wIDw9IG5vdztcblxuICAvLyB2ZXJpZnkgdGhlIEhNQUMgYW5kIHRpbWVzdGFtcFxuICByZXR1cm4ge1xuICAgIGlzVmFsaWQ6IGV4cGVjdGVkSG1hYyA9PT0gaG1hYyxcbiAgICBleHBlY3RlZEhtYWMsXG4gICAgc2lnbmF0dXJlU3ViamVjdCxcbiAgICBpc0luUmVzcG9uc2VWYWxpZGl0eVdpbmRvdyxcbiAgICB2ZXJpZmljYXRpb25UaW1lOiBub3csXG4gIH07XG59XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1hYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9obWFjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBLHNDQUVDO0FBYUQsb0RBaUNDO0FBS0Qsb0RBUUM7QUFLRCwwREFlQztBQUtELHdDQWtDQztBQTFJRCxtQ0FBcUU7QUFDckUsNENBQThCO0FBQzlCLHVEQUF5QztBQVV6Qzs7Ozs7R0FLRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxHQUFvQyxFQUFFLE9BQTRCO0lBQzlGLE9BQU8sSUFBQSxtQkFBVSxFQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQWtDLEVBQzdGLGVBQWUsR0FBRyxLQUFLO0lBRXZCLG1FQUFtRTtJQUNuRSxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNyQixNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFNBQVMsR0FBa0IsT0FBTyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUN0RyxDQUFDO0lBRUQsSUFBSSxZQUFvQixDQUFD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LGdCQUFnQixHQUFHLG9CQUFvQixDQUMzQztRQUNFLE9BQU87UUFDUCxJQUFJO1FBQ0osU0FBUztRQUNULFVBQVU7UUFDVixNQUFNO1FBQ04sV0FBVztLQUNaLEVBQ0QsZUFBZSxDQUNoQixDQUFDO0lBRUYscUJBQXFCO0lBQ3JCLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUU1RCxxSEFBcUg7SUFDckgsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0MsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sMEJBQTBCLEdBQzlCLFNBQVMsSUFBSSxHQUFHLEdBQUcsc0JBQXNCLElBQUksU0FBUyxJQUFJLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQztJQUV4RixnQ0FBZ0M7SUFDaEMsT0FBTztRQUNMLE9BQU8sRUFBRSxZQUFZLEtBQUssSUFBSTtRQUM5QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLDBCQUEwQjtRQUMxQixnQkFBZ0IsRUFBRSxHQUFHO0tBQ3RCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaW5hcnlMaWtlLCBjcmVhdGVIbWFjLCB0eXBlIEtleU9iamVjdCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyB1cmxMaWIgZnJvbSAndXJsJztcbmltcG9ydCAqIGFzIHNqY2wgZnJvbSAnQGJpdGdvLWJldGEvc2pjbCc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVIbWFjU3ViamVjdE9wdGlvbnMsXG4gIENhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzT3B0aW9ucyxcbiAgQ2FsY3VsYXRlUmVxdWVzdEhtYWNPcHRpb25zLFxuICBSZXF1ZXN0SGVhZGVycyxcbiAgVmVyaWZ5UmVzcG9uc2VJbmZvLFxuICBWZXJpZnlSZXNwb25zZU9wdGlvbnMsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgSE1BQyBmb3IgdGhlIGdpdmVuIGtleSBhbmQgbWVzc2FnZVxuICogQHBhcmFtIGtleSB7U3RyaW5nfSAtIHRoZSBrZXkgdG8gdXNlIGZvciB0aGUgSE1BQ1xuICogQHBhcmFtIG1lc3NhZ2Uge1N0cmluZ30gLSB0aGUgYWN0dWFsIG1lc3NhZ2UgdG8gSE1BQ1xuICogQHJldHVybnMgeyp9IC0gdGhlIHJlc3VsdCBvZiB0aGUgSE1BQyBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUhNQUMoa2V5OiBzdHJpbmcgfCBCaW5hcnlMaWtlIHwgS2V5T2JqZWN0LCBtZXNzYWdlOiBzdHJpbmcgfCBCaW5hcnlMaWtlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGNyZWF0ZUhtYWMoJ3NoYTI1NicsIGtleSkudXBkYXRlKG1lc3NhZ2UpLmRpZ2VzdCgnaGV4Jyk7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBzdWJqZWN0IHN0cmluZyB0aGF0IGlzIHRvIGJlIEhNQUMnZWQgZm9yIGEgSFRUUCByZXF1ZXN0IG9yIHJlc3BvbnNlXG4gKiBAcGFyYW0gdXJsUGF0aCByZXF1ZXN0IHVybCwgaW5jbHVkaW5nIHF1ZXJ5IHBhcmFtc1xuICogQHBhcmFtIHRleHQgcmVxdWVzdCBib2R5IHRleHRcbiAqIEBwYXJhbSB0aW1lc3RhbXAgcmVxdWVzdCB0aW1lc3RhbXAgZnJvbSBgRGF0ZS5ub3coKWBcbiAqIEBwYXJhbSBzdGF0dXNDb2RlIE9ubHkgc2V0IGZvciBIVFRQIHJlc3BvbnNlcywgbGVhdmUgYmxhbmsgZm9yIHJlcXVlc3RzXG4gKiBAcGFyYW0gbWV0aG9kIHJlcXVlc3QgbWV0aG9kXG4gKiBAcGFyYW0gYXV0aFZlcnNpb24gYXV0aGVudGljYXRpb24gdmVyc2lvbiAoMiBvciAzKVxuICogQHBhcmFtIHVzZU9yaWdpbmFsUGF0aCB3aGV0aGVyIHRvIHVzZSB0aGUgb3JpZ2luYWwgdXJsUGF0aCB3aXRob3V0IHBhcnNpbmcgKGRlZmF1bHQgZmFsc2UpXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgQnVmZmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlSE1BQ1N1YmplY3Q8VCBleHRlbmRzIHN0cmluZyB8IEJ1ZmZlciA9IHN0cmluZz4oXG4gIHsgdXJsUGF0aCwgdGV4dCwgdGltZXN0YW1wLCBzdGF0dXNDb2RlLCBtZXRob2QsIGF1dGhWZXJzaW9uIH06IENhbGN1bGF0ZUhtYWNTdWJqZWN0T3B0aW9uczxUPixcbiAgdXNlT3JpZ2luYWxQYXRoID0gZmFsc2Vcbik6IFQge1xuICAvKiBOb3JtYWxpemUgbGVnYWN5ICdkZWwnIHRvICdkZWxldGUnIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovXG4gIGlmIChtZXRob2QgPT09ICdkZWwnKSB7XG4gICAgbWV0aG9kID0gJ2RlbGV0ZSc7XG4gIH1cblxuICBsZXQgcXVlcnlQYXRoOiBzdHJpbmcgfCBudWxsID0gdXJsUGF0aDtcbiAgaWYgKCF1c2VPcmlnaW5hbFBhdGgpIHtcbiAgICBjb25zdCB1cmxEZXRhaWxzID0gdXJsTGliLnBhcnNlKHVybFBhdGgpO1xuICAgIHF1ZXJ5UGF0aCA9IHVybERldGFpbHMucXVlcnkgJiYgdXJsRGV0YWlscy5xdWVyeS5sZW5ndGggPiAwID8gdXJsRGV0YWlscy5wYXRoIDogdXJsRGV0YWlscy5wYXRobmFtZTtcbiAgfVxuXG4gIGxldCBwcmVmaXhlZFRleHQ6IHN0cmluZztcbiAgaWYgKHN0YXR1c0NvZGUgIT09IHVuZGVmaW5lZCAmJiBpc0Zpbml0ZShzdGF0dXNDb2RlKSAmJiBOdW1iZXIuaXNJbnRlZ2VyKHN0YXR1c0NvZGUpKSB7XG4gICAgcHJlZml4ZWRUZXh0ID1cbiAgICAgIGF1dGhWZXJzaW9uID09PSAzXG4gICAgICAgID8gW21ldGhvZC50b1VwcGVyQ2FzZSgpLCB0aW1lc3RhbXAsIHF1ZXJ5UGF0aCwgc3RhdHVzQ29kZV0uam9pbignfCcpXG4gICAgICAgIDogW3RpbWVzdGFtcCwgcXVlcnlQYXRoLCBzdGF0dXNDb2RlXS5qb2luKCd8Jyk7XG4gIH0gZWxzZSB7XG4gICAgcHJlZml4ZWRUZXh0ID1cbiAgICAgIGF1dGhWZXJzaW9uID09PSAzXG4gICAgICAgID8gW21ldGhvZC50b1VwcGVyQ2FzZSgpLCB0aW1lc3RhbXAsICczLjAnLCBxdWVyeVBhdGhdLmpvaW4oJ3wnKVxuICAgICAgICA6IFt0aW1lc3RhbXAsIHF1ZXJ5UGF0aF0uam9pbignfCcpO1xuICB9XG5cbiAgY29uc3QgaXNCdWZmZXIgPSBCdWZmZXIuaXNCdWZmZXIodGV4dCk7XG4gIGlmIChpc0J1ZmZlcikge1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShwcmVmaXhlZFRleHQgKyAnfCcsICd1dGYtOCcpLCB0ZXh0XSkgYXMgVDtcbiAgfVxuICByZXR1cm4gW3ByZWZpeGVkVGV4dCwgdGV4dF0uam9pbignfCcpIGFzIFQ7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBITUFDIGZvciBhbiBIVFRQIHJlcXVlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVJlcXVlc3RITUFDPFQgZXh0ZW5kcyBzdHJpbmcgfCBCdWZmZXIgPSBzdHJpbmc+KFxuICB7IHVybDogdXJsUGF0aCwgdGV4dCwgdGltZXN0YW1wLCB0b2tlbiwgbWV0aG9kLCBhdXRoVmVyc2lvbiB9OiBDYWxjdWxhdGVSZXF1ZXN0SG1hY09wdGlvbnM8VD4sXG4gIHVzZU9yaWdpbmFsUGF0aCA9IGZhbHNlXG4pOiBzdHJpbmcge1xuICBjb25zdCBzaWduYXR1cmVTdWJqZWN0ID0gY2FsY3VsYXRlSE1BQ1N1YmplY3QoeyB1cmxQYXRoLCB0ZXh0LCB0aW1lc3RhbXAsIG1ldGhvZCwgYXV0aFZlcnNpb24gfSwgdXNlT3JpZ2luYWxQYXRoKTtcblxuICAvLyBjYWxjdWxhdGUgdGhlIEhNQUNcbiAgcmV0dXJuIGNhbGN1bGF0ZUhNQUModG9rZW4sIHNpZ25hdHVyZVN1YmplY3QpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSByZXF1ZXN0IGhlYWRlcnMgd2l0aCBITUFDXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVSZXF1ZXN0SGVhZGVyczxUIGV4dGVuZHMgc3RyaW5nIHwgQnVmZmVyID0gc3RyaW5nPihcbiAgeyB1cmwsIHRleHQsIHRva2VuLCBtZXRob2QsIGF1dGhWZXJzaW9uIH06IENhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzT3B0aW9uczxUPixcbiAgdXNlT3JpZ2luYWxQYXRoID0gZmFsc2Vcbik6IFJlcXVlc3RIZWFkZXJzIHtcbiAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgaG1hYyA9IGNhbGN1bGF0ZVJlcXVlc3RITUFDKHsgdXJsLCB0ZXh0LCB0aW1lc3RhbXAsIHRva2VuLCBtZXRob2QsIGF1dGhWZXJzaW9uIH0sIHVzZU9yaWdpbmFsUGF0aCk7XG5cbiAgLy8gY2FsY3VsYXRlIHRoZSBTSEEyNTYgaGFzaCBvZiB0aGUgdG9rZW5cbiAgY29uc3QgaGFzaERpZ2VzdCA9IHNqY2wuaGFzaC5zaGEyNTYuaGFzaCh0b2tlbik7XG4gIGNvbnN0IHRva2VuSGFzaCA9IHNqY2wuY29kZWMuaGV4LmZyb21CaXRzKGhhc2hEaWdlc3QpO1xuICByZXR1cm4ge1xuICAgIGhtYWMsXG4gICAgdGltZXN0YW1wLFxuICAgIHRva2VuSGFzaCxcbiAgfTtcbn1cblxuLyoqXG4gKiBWZXJpZnkgdGhlIEhNQUMgZm9yIGFuIEhUVFAgcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVJlc3BvbnNlPFQgZXh0ZW5kcyBzdHJpbmcgfCBCdWZmZXIgPSBzdHJpbmc+KFxuICB7IHVybDogdXJsUGF0aCwgc3RhdHVzQ29kZSwgdGV4dCwgdGltZXN0YW1wLCB0b2tlbiwgaG1hYywgbWV0aG9kLCBhdXRoVmVyc2lvbiB9OiBWZXJpZnlSZXNwb25zZU9wdGlvbnM8VD4sXG4gIHVzZU9yaWdpbmFsUGF0aCA9IGZhbHNlXG4pOiBWZXJpZnlSZXNwb25zZUluZm88VD4ge1xuICBjb25zdCBzaWduYXR1cmVTdWJqZWN0ID0gY2FsY3VsYXRlSE1BQ1N1YmplY3QoXG4gICAge1xuICAgICAgdXJsUGF0aCxcbiAgICAgIHRleHQsXG4gICAgICB0aW1lc3RhbXAsXG4gICAgICBzdGF0dXNDb2RlLFxuICAgICAgbWV0aG9kLFxuICAgICAgYXV0aFZlcnNpb24sXG4gICAgfSxcbiAgICB1c2VPcmlnaW5hbFBhdGhcbiAgKTtcblxuICAvLyBjYWxjdWxhdGUgdGhlIEhNQUNcbiAgY29uc3QgZXhwZWN0ZWRIbWFjID0gY2FsY3VsYXRlSE1BQyh0b2tlbiwgc2lnbmF0dXJlU3ViamVjdCk7XG5cbiAgLy8gZGV0ZXJtaW5lIGlmIHRoZSByZXNwb25zZSBpcyBzdGlsbCB3aXRoaW4gdGhlIHZhbGlkaXR5IHdpbmRvdyAoNS1taW51dGUgYmFja3dhcmRzIHdpbmRvdywgMS1taW51dGUgZm9yd2FyZCB3aW5kb3cpXG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGJhY2t3YXJkVmFsaWRpdHlXaW5kb3cgPSAxMDAwICogNjAgKiA1O1xuICBjb25zdCBmb3J3YXJkVmFsaWRpdHlXaW5kb3cgPSAxMDAwICogNjA7XG4gIGNvbnN0IGlzSW5SZXNwb25zZVZhbGlkaXR5V2luZG93ID1cbiAgICB0aW1lc3RhbXAgPj0gbm93IC0gYmFja3dhcmRWYWxpZGl0eVdpbmRvdyAmJiB0aW1lc3RhbXAgPD0gbm93ICsgZm9yd2FyZFZhbGlkaXR5V2luZG93O1xuXG4gIC8vIHZlcmlmeSB0aGUgSE1BQyBhbmQgdGltZXN0YW1wXG4gIHJldHVybiB7XG4gICAgaXNWYWxpZDogZXhwZWN0ZWRIbWFjID09PSBobWFjLFxuICAgIGV4cGVjdGVkSG1hYyxcbiAgICBzaWduYXR1cmVTdWJqZWN0LFxuICAgIGlzSW5SZXNwb25zZVZhbGlkaXR5V2luZG93LFxuICAgIHZlcmlmaWNhdGlvblRpbWU6IG5vdyxcbiAgfTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-hmac",
3
- "version": "1.0.0-alpha.178",
3
+ "version": "1.0.0-alpha.179",
4
4
  "description": "HMAC module for the BitGo SDK",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "prepare": "npm run build"
17
17
  },
18
18
  "dependencies": {
19
- "@bitgo-beta/sjcl": "1.0.1-alpha.375"
19
+ "@bitgo-beta/sjcl": "1.0.1-alpha.376"
20
20
  },
21
21
  "devDependencies": {
22
22
  "chai": "^4.3.6",
@@ -46,5 +46,5 @@
46
46
  ".ts"
47
47
  ]
48
48
  },
49
- "gitHead": "4665c6306925dea5c26ad6781d37d8d9345f5c1c"
49
+ "gitHead": "b844e2580fc89ded23baea9eafab0a469e9d8823"
50
50
  }