@bitgo/sdk-api 1.0.1-dev.0 → 1.0.1-dev.1
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/dist/package.json +12 -12
- package/dist/src/bip32path.d.ts +24 -0
- package/dist/src/bip32path.d.ts.map +1 -0
- package/dist/src/bip32path.js +45 -0
- package/dist/src/bitgoAPI.d.ts +57 -10
- package/dist/src/bitgoAPI.d.ts.map +1 -1
- package/dist/src/bitgoAPI.js +253 -41
- package/dist/src/encrypt.d.ts +14 -0
- package/dist/src/encrypt.d.ts.map +1 -0
- package/dist/src/encrypt.js +44 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/types.d.ts +30 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/dist/tsconfig.tsbuildinfo +90 -189
- package/dist/web/browser.html +1 -0
- package/dist/web/main.js +1 -1
- package/package.json +12 -12
- package/dist/web/index.html +0 -1
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/sdk-api",
|
|
3
|
-
"version": "1.0.1-dev.
|
|
3
|
+
"version": "1.0.1-dev.1",
|
|
4
4
|
"description": "REST wrapper for BitGoJS",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"web": "./dist/web/main.js",
|
|
@@ -12,9 +12,8 @@
|
|
|
12
12
|
"clean": "rm -r ./dist",
|
|
13
13
|
"precommit": "lint-staged",
|
|
14
14
|
"prepare": "npm run build",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"prepublishOnly": "npm run build-web-prod"
|
|
15
|
+
"webpack-dev": "webpack",
|
|
16
|
+
"webpack-prod": "webpack --mode=production --node-env=production"
|
|
18
17
|
},
|
|
19
18
|
"author": "BitGo Inc.",
|
|
20
19
|
"license": "MIT",
|
|
@@ -43,12 +42,14 @@
|
|
|
43
42
|
]
|
|
44
43
|
},
|
|
45
44
|
"dependencies": {
|
|
46
|
-
"@bitgo/sdk-core": "^1.0.1-dev.
|
|
47
|
-
"@bitgo/sjcl": "^1.0.1-dev.
|
|
48
|
-
"@bitgo/utxo-lib": "^2.2.2-dev.
|
|
45
|
+
"@bitgo/sdk-core": "^1.0.1-dev.1",
|
|
46
|
+
"@bitgo/sjcl": "^1.0.1-dev.1",
|
|
47
|
+
"@bitgo/utxo-lib": "^2.2.2-dev.1",
|
|
49
48
|
"@types/superagent": "4.1.15",
|
|
49
|
+
"bip32": "^2.0.6",
|
|
50
50
|
"debug": "3.1.0",
|
|
51
51
|
"sanitize-html": "^1.27.5",
|
|
52
|
+
"secp256k1": "^4.0.2",
|
|
52
53
|
"superagent": "3.8.3",
|
|
53
54
|
"superagent-proxy": "3.0.0"
|
|
54
55
|
},
|
|
@@ -58,9 +59,8 @@
|
|
|
58
59
|
"@webpack-cli/generators": "^2.4.2",
|
|
59
60
|
"babel-loader": "^8.2.4",
|
|
60
61
|
"html-webpack-plugin": "^5.5.0",
|
|
61
|
-
"
|
|
62
|
-
"webpack
|
|
63
|
-
"webpack-
|
|
64
|
-
}
|
|
65
|
-
"gitHead": "e9d78e8064169cd03f12c111af18603de5c29e1b"
|
|
62
|
+
"process": "^0.11.10",
|
|
63
|
+
"webpack": "5.66.0",
|
|
64
|
+
"webpack-cli": "4.9.1"
|
|
65
|
+
}
|
|
66
66
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* BitGoJS includes some custom hand-rolled bip32 derivation logic in `bitcoin.ts`, which sadly
|
|
6
|
+
* has numerous bugs.
|
|
7
|
+
*
|
|
8
|
+
* One of the effects is that the methods accept invalid bip32 paths:
|
|
9
|
+
* - the `m` prefix is ignored ('m/0' === '0')
|
|
10
|
+
* - path components that cannot be parsed as base-10 numbers are mapped to `0` ('0/x' === '0/0')
|
|
11
|
+
* - path components with trailing characters after numerals are accepted, trailing characters
|
|
12
|
+
* are ignored ('1x' === '1')
|
|
13
|
+
*
|
|
14
|
+
* This probably does not cover everything but it should cover most bugs encountered in our code.
|
|
15
|
+
*
|
|
16
|
+
* This method attempts to convert a "legacy path", which may be invalid, to a standard bip32 path:
|
|
17
|
+
* meaning the result should be equivalent to the input path when passed to either our custom
|
|
18
|
+
* derivation log or when passed to a standard bip32 library.
|
|
19
|
+
*
|
|
20
|
+
* @param path - legacy path
|
|
21
|
+
* @return string - somewhat sanitized path that can be passed to standard bip32 libraries
|
|
22
|
+
*/
|
|
23
|
+
export declare function sanitizeLegacyPath(path: string): string;
|
|
24
|
+
//# sourceMappingURL=bip32path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip32path.d.ts","sourceRoot":"","sources":["../../src/bip32path.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkBvD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @prettier
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sanitizeLegacyPath = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* BitGoJS includes some custom hand-rolled bip32 derivation logic in `bitcoin.ts`, which sadly
|
|
9
|
+
* has numerous bugs.
|
|
10
|
+
*
|
|
11
|
+
* One of the effects is that the methods accept invalid bip32 paths:
|
|
12
|
+
* - the `m` prefix is ignored ('m/0' === '0')
|
|
13
|
+
* - path components that cannot be parsed as base-10 numbers are mapped to `0` ('0/x' === '0/0')
|
|
14
|
+
* - path components with trailing characters after numerals are accepted, trailing characters
|
|
15
|
+
* are ignored ('1x' === '1')
|
|
16
|
+
*
|
|
17
|
+
* This probably does not cover everything but it should cover most bugs encountered in our code.
|
|
18
|
+
*
|
|
19
|
+
* This method attempts to convert a "legacy path", which may be invalid, to a standard bip32 path:
|
|
20
|
+
* meaning the result should be equivalent to the input path when passed to either our custom
|
|
21
|
+
* derivation log or when passed to a standard bip32 library.
|
|
22
|
+
*
|
|
23
|
+
* @param path - legacy path
|
|
24
|
+
* @return string - somewhat sanitized path that can be passed to standard bip32 libraries
|
|
25
|
+
*/
|
|
26
|
+
function sanitizeLegacyPath(path) {
|
|
27
|
+
const parts = path
|
|
28
|
+
.split('/')
|
|
29
|
+
.filter((p) => p !== '')
|
|
30
|
+
.filter((p, i) => i !== 0 || p !== 'm')
|
|
31
|
+
.map((p) => {
|
|
32
|
+
const hardened = p.slice(-1) === "'";
|
|
33
|
+
const v = parseInt(p.slice(0, hardened ? -1 : undefined), 10);
|
|
34
|
+
if (Number.isNaN(v)) {
|
|
35
|
+
return '0';
|
|
36
|
+
}
|
|
37
|
+
return String(v) + (hardened ? "'" : '');
|
|
38
|
+
});
|
|
39
|
+
if (parts.length === 0) {
|
|
40
|
+
throw new Error(`empty path`);
|
|
41
|
+
}
|
|
42
|
+
return parts.join('/');
|
|
43
|
+
}
|
|
44
|
+
exports.sanitizeLegacyPath = sanitizeLegacyPath;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzJwYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpcDMycGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxJQUFZO0lBQzdDLE1BQU0sS0FBSyxHQUFhLElBQUk7U0FDekIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7U0FDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDVCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0lBRUwsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9CO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFsQkQsZ0RBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG4vKipcbiAqIEJpdEdvSlMgaW5jbHVkZXMgc29tZSBjdXN0b20gaGFuZC1yb2xsZWQgYmlwMzIgZGVyaXZhdGlvbiBsb2dpYyBpbiBgYml0Y29pbi50c2AsIHdoaWNoIHNhZGx5XG4gKiBoYXMgbnVtZXJvdXMgYnVncy5cbiAqXG4gKiBPbmUgb2YgdGhlIGVmZmVjdHMgaXMgdGhhdCB0aGUgbWV0aG9kcyBhY2NlcHQgaW52YWxpZCBiaXAzMiBwYXRoczpcbiAqIC0gdGhlIGBtYCBwcmVmaXggaXMgaWdub3JlZCAoJ20vMCcgPT09ICcwJylcbiAqIC0gcGF0aCBjb21wb25lbnRzIHRoYXQgY2Fubm90IGJlIHBhcnNlZCBhcyBiYXNlLTEwIG51bWJlcnMgYXJlIG1hcHBlZCB0byBgMGAgKCcwL3gnID09PSAnMC8wJylcbiAqIC0gcGF0aCBjb21wb25lbnRzIHdpdGggdHJhaWxpbmcgY2hhcmFjdGVycyBhZnRlciBudW1lcmFscyBhcmUgYWNjZXB0ZWQsIHRyYWlsaW5nIGNoYXJhY3RlcnNcbiAqICAgYXJlIGlnbm9yZWQgKCcxeCcgPT09ICcxJylcbiAqXG4gKiBUaGlzIHByb2JhYmx5IGRvZXMgbm90IGNvdmVyIGV2ZXJ5dGhpbmcgYnV0IGl0IHNob3VsZCBjb3ZlciBtb3N0IGJ1Z3MgZW5jb3VudGVyZWQgaW4gb3VyIGNvZGUuXG4gKlxuICogVGhpcyBtZXRob2QgYXR0ZW1wdHMgdG8gY29udmVydCBhIFwibGVnYWN5IHBhdGhcIiwgd2hpY2ggbWF5IGJlIGludmFsaWQsIHRvIGEgc3RhbmRhcmQgYmlwMzIgcGF0aDpcbiAqIG1lYW5pbmcgdGhlIHJlc3VsdCBzaG91bGQgYmUgZXF1aXZhbGVudCB0byB0aGUgaW5wdXQgcGF0aCB3aGVuIHBhc3NlZCB0byBlaXRoZXIgb3VyIGN1c3RvbVxuICogZGVyaXZhdGlvbiBsb2cgb3Igd2hlbiBwYXNzZWQgdG8gYSBzdGFuZGFyZCBiaXAzMiBsaWJyYXJ5LlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gbGVnYWN5IHBhdGhcbiAqIEByZXR1cm4gc3RyaW5nIC0gc29tZXdoYXQgc2FuaXRpemVkIHBhdGggdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHN0YW5kYXJkIGJpcDMyIGxpYnJhcmllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVMZWdhY3lQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IHBhdGhcbiAgICAuc3BsaXQoJy8nKVxuICAgIC5maWx0ZXIoKHApID0+IHAgIT09ICcnKVxuICAgIC5maWx0ZXIoKHAsIGkpID0+IGkgIT09IDAgfHwgcCAhPT0gJ20nKVxuICAgIC5tYXAoKHApID0+IHtcbiAgICAgIGNvbnN0IGhhcmRlbmVkID0gcC5zbGljZSgtMSkgPT09IFwiJ1wiO1xuICAgICAgY29uc3QgdiA9IHBhcnNlSW50KHAuc2xpY2UoMCwgaGFyZGVuZWQgPyAtMSA6IHVuZGVmaW5lZCksIDEwKTtcbiAgICAgIGlmIChOdW1iZXIuaXNOYU4odikpIHtcbiAgICAgICAgcmV0dXJuICcwJztcbiAgICAgIH1cbiAgICAgIHJldHVybiBTdHJpbmcodikgKyAoaGFyZGVuZWQgPyBcIidcIiA6ICcnKTtcbiAgICB9KTtcblxuICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBlbXB0eSBwYXRoYCk7XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJy8nKTtcbn1cbiJdfQ==
|
package/dist/src/bitgoAPI.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BitGoRequest } from './api';
|
|
2
2
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
3
3
|
import { EnvironmentName } from '@bitgo/sdk-core';
|
|
4
|
-
import { AccessTokenOptions, IRequestTracer, PingOptions, AuthenticateOptions, CalculateHmacSubjectOptions, CalculateRequestHeadersOptions, CalculateRequestHmacOptions, ProcessedAuthenticationOptions, RequestHeaders, VerifyResponseInfo, VerifyResponseOptions, BitGoAPIOptions } from './types';
|
|
4
|
+
import { AccessTokenOptions, IRequestTracer, PingOptions, AuthenticateOptions, CalculateHmacSubjectOptions, CalculateRequestHeadersOptions, CalculateRequestHmacOptions, ProcessedAuthenticationOptions, RequestHeaders, VerifyResponseInfo, VerifyResponseOptions, BitGoAPIOptions, DecryptOptions, EncryptOptions, User, BitGoJson, VerifyPasswordOptions, TokenIssuanceResponse, TokenIssuance } from './types';
|
|
5
5
|
export declare abstract class BitGoAPI {
|
|
6
6
|
protected static _constants: any;
|
|
7
7
|
protected static _constantsExpire: any;
|
|
@@ -14,11 +14,14 @@ export declare abstract class BitGoAPI {
|
|
|
14
14
|
protected readonly _authVersion: Exclude<BitGoAPIOptions['authVersion'], undefined>;
|
|
15
15
|
protected _hmacVerification: boolean;
|
|
16
16
|
protected readonly _proxy?: string;
|
|
17
|
+
protected _user?: User;
|
|
17
18
|
protected _extensionKey?: utxolib.ECPair.ECPairInterface;
|
|
18
19
|
protected _reqId?: IRequestTracer;
|
|
19
20
|
protected _token?: string;
|
|
20
21
|
protected _version: string;
|
|
21
22
|
protected _userAgent?: string;
|
|
23
|
+
protected _ecdhXprv?: string;
|
|
24
|
+
protected _refreshToken?: string;
|
|
22
25
|
constructor(params?: BitGoAPIOptions);
|
|
23
26
|
/**
|
|
24
27
|
* Return the current BitGo environment
|
|
@@ -68,11 +71,6 @@ export declare abstract class BitGoAPI {
|
|
|
68
71
|
* Verify the HMAC for an HTTP response
|
|
69
72
|
*/
|
|
70
73
|
verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac, method, }: VerifyResponseOptions): VerifyResponseInfo;
|
|
71
|
-
/**
|
|
72
|
-
* Process the username, password and otp into an object containing the username and hashed password, ready to
|
|
73
|
-
* send to bitgo for authentication.
|
|
74
|
-
*/
|
|
75
|
-
preprocessAuthenticationParams({ username, password, otp, forceSMS, extensible, trust, }: AuthenticateOptions): ProcessedAuthenticationOptions;
|
|
76
74
|
/**
|
|
77
75
|
* Fetch useful constant values from the BitGo server.
|
|
78
76
|
* These values do change infrequently, so they need to be fetched,
|
|
@@ -94,10 +92,6 @@ export declare abstract class BitGoAPI {
|
|
|
94
92
|
* Gets the version of the BitGoJS package
|
|
95
93
|
*/
|
|
96
94
|
version(): string;
|
|
97
|
-
/**
|
|
98
|
-
* Synchronous method for activating an access token.
|
|
99
|
-
*/
|
|
100
|
-
authenticateWithAccessToken({ accessToken }: AccessTokenOptions): void;
|
|
101
95
|
/**
|
|
102
96
|
* Test connectivity to the server
|
|
103
97
|
* @param params
|
|
@@ -107,5 +101,58 @@ export declare abstract class BitGoAPI {
|
|
|
107
101
|
* Set a request tracer to provide request IDs during multi-request workflows
|
|
108
102
|
*/
|
|
109
103
|
setRequestTracer(reqTracer: IRequestTracer): void;
|
|
104
|
+
/**
|
|
105
|
+
* Utility function to encrypt locally.
|
|
106
|
+
*/
|
|
107
|
+
encrypt(params: EncryptOptions): string;
|
|
108
|
+
/**
|
|
109
|
+
* Decrypt an encrypted string locally.
|
|
110
|
+
*/
|
|
111
|
+
decrypt(params: DecryptOptions): string;
|
|
112
|
+
/**
|
|
113
|
+
* Serialize this BitGo object to a JSON object.
|
|
114
|
+
*
|
|
115
|
+
* Caution: contains sensitive data
|
|
116
|
+
*/
|
|
117
|
+
toJSON(): BitGoJson;
|
|
118
|
+
/**
|
|
119
|
+
* Get the current user
|
|
120
|
+
*/
|
|
121
|
+
user(): User | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Deserialize a JSON serialized BitGo object.
|
|
124
|
+
*
|
|
125
|
+
* Overwrites the properties on the current BitGo object with
|
|
126
|
+
* those of the deserialzed object.
|
|
127
|
+
*
|
|
128
|
+
* @param json
|
|
129
|
+
*/
|
|
130
|
+
fromJSON(json: BitGoJson): void;
|
|
131
|
+
/**
|
|
132
|
+
* Process the username, password and otp into an object containing the username and hashed password, ready to
|
|
133
|
+
* send to bitgo for authentication.
|
|
134
|
+
*/
|
|
135
|
+
preprocessAuthenticationParams({ username, password, otp, forceSMS, extensible, trust, }: AuthenticateOptions): ProcessedAuthenticationOptions;
|
|
136
|
+
/**
|
|
137
|
+
* Synchronous method for activating an access token.
|
|
138
|
+
*/
|
|
139
|
+
authenticateWithAccessToken({ accessToken }: AccessTokenOptions): void;
|
|
140
|
+
/**
|
|
141
|
+
* Login to the bitgo platform.
|
|
142
|
+
*/
|
|
143
|
+
authenticate(params: AuthenticateOptions): Promise<any>;
|
|
144
|
+
/**
|
|
145
|
+
*
|
|
146
|
+
* @param responseBody Response body object
|
|
147
|
+
* @param password Password for the symmetric decryption
|
|
148
|
+
*/
|
|
149
|
+
handleTokenIssuance(responseBody: TokenIssuanceResponse, password?: string): TokenIssuance;
|
|
150
|
+
/**
|
|
151
|
+
*/
|
|
152
|
+
verifyPassword(params?: VerifyPasswordOptions): Promise<any>;
|
|
153
|
+
/**
|
|
154
|
+
* Clear out all state from this BitGo object, effectively logging out the current user.
|
|
155
|
+
*/
|
|
156
|
+
clear(): void;
|
|
110
157
|
}
|
|
111
158
|
//# sourceMappingURL=bitgoAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitgoAPI.d.ts","sourceRoot":"","sources":["../../src/bitgoAPI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitgoAPI.d.ts","sourceRoot":"","sources":["../../src/bitgoAPI.ts"],"names":[],"mappings":"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"}
|