@ledgerhq/ledger-key-ring-protocol 0.5.1-nightly.0
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/.eslintrc.js +33 -0
- package/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +16 -0
- package/CHANGELOG.md +299 -0
- package/LICENSE.txt +21 -0
- package/README.md +3 -0
- package/jest.config.js +13 -0
- package/lib/HWDeviceProvider.d.ts +25 -0
- package/lib/HWDeviceProvider.d.ts.map +1 -0
- package/lib/HWDeviceProvider.js +88 -0
- package/lib/HWDeviceProvider.js.map +1 -0
- package/lib/api.d.ts +77 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/api.js +150 -0
- package/lib/api.js.map +1 -0
- package/lib/auth.d.ts +3 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +79 -0
- package/lib/auth.js.map +1 -0
- package/lib/errors.d.ts +40 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +18 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +17 -0
- package/lib/index.js.map +1 -0
- package/lib/mockSdk.d.ts +22 -0
- package/lib/mockSdk.d.ts.map +1 -0
- package/lib/mockSdk.js +208 -0
- package/lib/mockSdk.js.map +1 -0
- package/lib/qrcode/cipher.d.ts +12 -0
- package/lib/qrcode/cipher.d.ts.map +1 -0
- package/lib/qrcode/cipher.js +69 -0
- package/lib/qrcode/cipher.js.map +1 -0
- package/lib/qrcode/cipher.test.d.ts +2 -0
- package/lib/qrcode/cipher.test.d.ts.map +1 -0
- package/lib/qrcode/cipher.test.js +40 -0
- package/lib/qrcode/cipher.test.js.map +1 -0
- package/lib/qrcode/index.d.ts +70 -0
- package/lib/qrcode/index.d.ts.map +1 -0
- package/lib/qrcode/index.js +312 -0
- package/lib/qrcode/index.js.map +1 -0
- package/lib/qrcode/index.test.d.ts +2 -0
- package/lib/qrcode/index.test.d.ts.map +1 -0
- package/lib/qrcode/index.test.js +131 -0
- package/lib/qrcode/index.test.js.map +1 -0
- package/lib/qrcode/types.d.ts +69 -0
- package/lib/qrcode/types.d.ts.map +1 -0
- package/lib/qrcode/types.js +3 -0
- package/lib/qrcode/types.js.map +1 -0
- package/lib/sdk.d.ts +31 -0
- package/lib/sdk.d.ts.map +1 -0
- package/lib/sdk.js +380 -0
- package/lib/sdk.js.map +1 -0
- package/lib/store.d.ts +71 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +62 -0
- package/lib/store.js.map +1 -0
- package/lib/types.d.ts +181 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +10 -0
- package/lib/types.js.map +1 -0
- package/lib-es/HWDeviceProvider.d.ts +25 -0
- package/lib-es/HWDeviceProvider.d.ts.map +1 -0
- package/lib-es/HWDeviceProvider.js +81 -0
- package/lib-es/HWDeviceProvider.js.map +1 -0
- package/lib-es/api.d.ts +77 -0
- package/lib-es/api.d.ts.map +1 -0
- package/lib-es/api.js +145 -0
- package/lib-es/api.js.map +1 -0
- package/lib-es/auth.d.ts +3 -0
- package/lib-es/auth.d.ts.map +1 -0
- package/lib-es/auth.js +75 -0
- package/lib-es/auth.js.map +1 -0
- package/lib-es/errors.d.ts +40 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +15 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/index.d.ts +6 -0
- package/lib-es/index.d.ts.map +1 -0
- package/lib-es/index.js +13 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/mockSdk.d.ts +22 -0
- package/lib-es/mockSdk.d.ts.map +1 -0
- package/lib-es/mockSdk.js +201 -0
- package/lib-es/mockSdk.js.map +1 -0
- package/lib-es/qrcode/cipher.d.ts +12 -0
- package/lib-es/qrcode/cipher.d.ts.map +1 -0
- package/lib-es/qrcode/cipher.js +61 -0
- package/lib-es/qrcode/cipher.js.map +1 -0
- package/lib-es/qrcode/cipher.test.d.ts +2 -0
- package/lib-es/qrcode/cipher.test.d.ts.map +1 -0
- package/lib-es/qrcode/cipher.test.js +38 -0
- package/lib-es/qrcode/cipher.test.js.map +1 -0
- package/lib-es/qrcode/index.d.ts +70 -0
- package/lib-es/qrcode/index.d.ts.map +1 -0
- package/lib-es/qrcode/index.js +304 -0
- package/lib-es/qrcode/index.js.map +1 -0
- package/lib-es/qrcode/index.test.d.ts +2 -0
- package/lib-es/qrcode/index.test.d.ts.map +1 -0
- package/lib-es/qrcode/index.test.js +126 -0
- package/lib-es/qrcode/index.test.js.map +1 -0
- package/lib-es/qrcode/types.d.ts +69 -0
- package/lib-es/qrcode/types.d.ts.map +1 -0
- package/lib-es/qrcode/types.js +2 -0
- package/lib-es/qrcode/types.js.map +1 -0
- package/lib-es/sdk.d.ts +31 -0
- package/lib-es/sdk.d.ts.map +1 -0
- package/lib-es/sdk.js +371 -0
- package/lib-es/sdk.js.map +1 -0
- package/lib-es/store.d.ts +71 -0
- package/lib-es/store.d.ts.map +1 -0
- package/lib-es/store.js +51 -0
- package/lib-es/store.js.map +1 -0
- package/lib-es/types.d.ts +181 -0
- package/lib-es/types.d.ts.map +1 -0
- package/lib-es/types.js +7 -0
- package/lib-es/types.js.map +1 -0
- package/mocks/scenarios/addSameMemberMultipleTimes.json +426 -0
- package/mocks/scenarios/create2trustchainInARow.json +616 -0
- package/mocks/scenarios/getOrCreateTransactionCases.json +591 -0
- package/mocks/scenarios/member3implicitlyAdded.json +648 -0
- package/mocks/scenarios/membersManySelfAdd.json +1427 -0
- package/mocks/scenarios/randomMemberTryToDestroy.json +371 -0
- package/mocks/scenarios/removeMemberWithTheWrongSeed.json +510 -0
- package/mocks/scenarios/removedMemberEjectedOnDeletedTrustchain.json +481 -0
- package/mocks/scenarios/removedMemberEjectedOnGetMembers.json +648 -0
- package/mocks/scenarios/removedMemberEjectedOnRestore.json +648 -0
- package/mocks/scenarios/removingAMemberCreatesAnInteraction.json +593 -0
- package/mocks/scenarios/removingYourselfIsForbidden.json +397 -0
- package/mocks/scenarios/success.json +978 -0
- package/mocks/scenarios/tokenExpires.json +371 -0
- package/mocks/scenarios/twoAddMembersFollowedByDeviceAdd.json +705 -0
- package/mocks/scenarios/userRefusesAuth.json +40 -0
- package/mocks/scenarios/userRefusesRemoveMember.json +542 -0
- package/package.json +91 -0
- package/scripts/README.md +15 -0
- package/scripts/e2e.ts +57 -0
- package/src/HWDeviceProvider.ts +105 -0
- package/src/__tests__/integration/mock.sdk.test.ts +47 -0
- package/src/__tests__/integration/sdk.test.ts +20 -0
- package/src/__tests__/tsconfig.json +8 -0
- package/src/__tests__/unit/sdk.test.ts +236 -0
- package/src/api.ts +202 -0
- package/src/auth.ts +81 -0
- package/src/errors.ts +18 -0
- package/src/index.ts +20 -0
- package/src/mockSdk.ts +253 -0
- package/src/qrcode/cipher.test.ts +30 -0
- package/src/qrcode/cipher.ts +63 -0
- package/src/qrcode/index.test.ts +138 -0
- package/src/qrcode/index.ts +395 -0
- package/src/qrcode/types.ts +70 -0
- package/src/sdk.ts +542 -0
- package/src/store.ts +99 -0
- package/src/types.ts +242 -0
- package/tests/scenarios/_template.ts +18 -0
- package/tests/scenarios/addSameMemberMultipleTimes.ts +20 -0
- package/tests/scenarios/create2trustchainInARow.ts +14 -0
- package/tests/scenarios/getOrCreateTransactionCases.ts +74 -0
- package/tests/scenarios/member3implicitlyAdded.ts +51 -0
- package/tests/scenarios/membersManySelfAdd.ts +18 -0
- package/tests/scenarios/randomMemberTryToDestroy.ts +23 -0
- package/tests/scenarios/removeMemberWithTheWrongSeed.ts +28 -0
- package/tests/scenarios/removedMemberEjectedOnDeletedTrustchain.ts +31 -0
- package/tests/scenarios/removedMemberEjectedOnGetMembers.ts +29 -0
- package/tests/scenarios/removedMemberEjectedOnRestore.ts +31 -0
- package/tests/scenarios/removingAMemberCreatesAnInteraction.ts +42 -0
- package/tests/scenarios/removingYourselfIsForbidden.ts +11 -0
- package/tests/scenarios/success.ts +94 -0
- package/tests/scenarios/tokenExpires.ts +20 -0
- package/tests/scenarios/twoAddMembersFollowedByDeviceAdd.ts +49 -0
- package/tests/scenarios/userRefusesAuth.ts +28 -0
- package/tests/scenarios/userRefusesRemoveMember.ts +66 -0
- package/tests/test-helpers/recordTrustchainSdkTests.ts +178 -0
- package/tests/test-helpers/replayTrustchainSdkTests.ts +141 -0
- package/tests/test-helpers/types.ts +45 -0
- package/tests/tsconfig.json +8 -0
- package/tsconfig.json +15 -0
package/lib/sdk.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/lib/store.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This exports all the logic related to the Trustchain store.
|
|
3
|
+
* The Trustchain store is a store that contains the data related to trustchain.
|
|
4
|
+
* It essentially is the client's credentials that are only stored on the
|
|
5
|
+
* client side and the trustchain returned by the backend.
|
|
6
|
+
*/
|
|
7
|
+
import { MemberCredentials, Trustchain } from "./types";
|
|
8
|
+
export type TrustchainStore = {
|
|
9
|
+
trustchain: Trustchain | null;
|
|
10
|
+
memberCredentials: MemberCredentials | null;
|
|
11
|
+
};
|
|
12
|
+
export declare const INITIAL_STATE: TrustchainStore;
|
|
13
|
+
export declare const getInitialStore: () => TrustchainStore;
|
|
14
|
+
export declare const trustchainStoreActionTypePrefix = "TRUSTCHAIN_STORE_";
|
|
15
|
+
export declare enum TrustchainHandlerType {
|
|
16
|
+
TRUSTCHAIN_STORE_IMPORT_STATE = "TRUSTCHAIN_STORE_IMPORT_STATE",
|
|
17
|
+
TRUSTCHAIN_STORE_RESET = "TRUSTCHAIN_STORE_RESET",
|
|
18
|
+
TRUSTCHAIN_STORE_SET_TRUSTCHAIN = "TRUSTCHAIN_STORE_SET_TRUSTCHAIN",
|
|
19
|
+
TRUSTCHAIN_STORE_SET_MEMBER_CREDENTIALS = "TRUSTCHAIN_STORE_SET_MEMBER_CREDENTIALS"
|
|
20
|
+
}
|
|
21
|
+
export type TrustchainHandlersPayloads = {
|
|
22
|
+
TRUSTCHAIN_STORE_IMPORT_STATE: {
|
|
23
|
+
trustchain: TrustchainStore;
|
|
24
|
+
};
|
|
25
|
+
TRUSTCHAIN_STORE_RESET: never;
|
|
26
|
+
TRUSTCHAIN_STORE_SET_TRUSTCHAIN: {
|
|
27
|
+
trustchain: Trustchain;
|
|
28
|
+
};
|
|
29
|
+
TRUSTCHAIN_STORE_SET_MEMBER_CREDENTIALS: {
|
|
30
|
+
memberCredentials: MemberCredentials;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
type Handlers<State, Types, PreciseKey = true> = {
|
|
34
|
+
[Key in keyof Types]: (state: State, body: {
|
|
35
|
+
payload: Types[PreciseKey extends true ? Key : keyof Types];
|
|
36
|
+
}) => State;
|
|
37
|
+
};
|
|
38
|
+
export type TrustchainHandlers<PreciseKey = true> = Handlers<TrustchainStore, TrustchainHandlersPayloads, PreciseKey>;
|
|
39
|
+
export declare const trustchainHandlers: TrustchainHandlers;
|
|
40
|
+
export declare const importTrustchainStoreState: (trustchain: TrustchainStore) => {
|
|
41
|
+
type: string;
|
|
42
|
+
payload: {
|
|
43
|
+
trustchain: TrustchainStore;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export declare const resetTrustchainStore: () => {
|
|
47
|
+
type: string;
|
|
48
|
+
};
|
|
49
|
+
export declare const setTrustchain: (trustchain: Trustchain) => {
|
|
50
|
+
type: string;
|
|
51
|
+
payload: {
|
|
52
|
+
trustchain: Trustchain;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export declare const setMemberCredentials: (memberCredentials: MemberCredentials) => {
|
|
56
|
+
type: string;
|
|
57
|
+
payload: {
|
|
58
|
+
memberCredentials: MemberCredentials;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export declare const trustchainStoreSelector: (state: {
|
|
62
|
+
trustchain: TrustchainStore;
|
|
63
|
+
}) => TrustchainStore;
|
|
64
|
+
export declare const trustchainSelector: (state: {
|
|
65
|
+
trustchain: TrustchainStore;
|
|
66
|
+
}) => Trustchain | null;
|
|
67
|
+
export declare const memberCredentialsSelector: (state: {
|
|
68
|
+
trustchain: TrustchainStore;
|
|
69
|
+
}) => MemberCredentials | null;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAG3B,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,eAElC,CAAC;AAEF,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAEnE,oBAAY,qBAAqB;IAC/B,6BAA6B,kCAAmD;IAChF,sBAAsB,2BAA4C;IAClE,+BAA+B,oCAAqD;IACpF,uCAAuC,4CAA6D;CACrG;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,6BAA6B,EAAE;QAAE,UAAU,EAAE,eAAe,CAAA;KAAE,CAAC;IAC/D,sBAAsB,EAAE,KAAK,CAAC;IAC9B,+BAA+B,EAAE;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC;IAC5D,uCAAuC,EAAE;QAAE,iBAAiB,EAAE,iBAAiB,CAAA;KAAE,CAAC;CACnF,CAAC;AAEF,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,IAAI;KAC9C,GAAG,IAAI,MAAM,KAAK,GAAG,CACpB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,UAAU,SAAS,IAAI,GAAG,GAAG,GAAG,MAAM,KAAK,CAAC,CAAA;KAAE,KAClE,KAAK;CACX,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,UAAU,GAAG,IAAI,IAAI,QAAQ,CAC1D,eAAe,EACf,0BAA0B,EAC1B,UAAU,CACX,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAahC,CAAC;AAIF,eAAO,MAAM,0BAA0B,eAAgB,eAAe;;;;;CAGpE,CAAC;AAEH,eAAO,MAAM,oBAAoB;;CAE/B,CAAC;AAEH,eAAO,MAAM,aAAa,eAAgB,UAAU;;;;;CAGlD,CAAC;AAEH,eAAO,MAAM,oBAAoB,sBAAuB,iBAAiB;;;;;CAGvE,CAAC;AAKH,eAAO,MAAM,uBAAuB,UAAW;IAAE,UAAU,EAAE,eAAe,CAAA;CAAE,KAAG,eAC/D,CAAC;AAEnB,eAAO,MAAM,kBAAkB,UAAW;IAAE,UAAU,EAAE,eAAe,CAAA;CAAE,KAAG,UAAU,GAAG,IAC5D,CAAC;AAE9B,eAAO,MAAM,yBAAyB,UAAW;IAC/C,UAAU,EAAE,eAAe,CAAC;CAC7B,KAAG,iBAAiB,GAAG,IAA0C,CAAC"}
|
package/lib/store.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.memberCredentialsSelector = exports.trustchainSelector = exports.trustchainStoreSelector = exports.setMemberCredentials = exports.setTrustchain = exports.resetTrustchainStore = exports.importTrustchainStoreState = exports.trustchainHandlers = exports.TrustchainHandlerType = exports.trustchainStoreActionTypePrefix = exports.getInitialStore = exports.INITIAL_STATE = void 0;
|
|
4
|
+
exports.INITIAL_STATE = {
|
|
5
|
+
trustchain: null,
|
|
6
|
+
memberCredentials: null,
|
|
7
|
+
};
|
|
8
|
+
const getInitialStore = () => {
|
|
9
|
+
return exports.INITIAL_STATE;
|
|
10
|
+
};
|
|
11
|
+
exports.getInitialStore = getInitialStore;
|
|
12
|
+
exports.trustchainStoreActionTypePrefix = "TRUSTCHAIN_STORE_";
|
|
13
|
+
var TrustchainHandlerType;
|
|
14
|
+
(function (TrustchainHandlerType) {
|
|
15
|
+
TrustchainHandlerType["TRUSTCHAIN_STORE_IMPORT_STATE"] = "TRUSTCHAIN_STORE_IMPORT_STATE";
|
|
16
|
+
TrustchainHandlerType["TRUSTCHAIN_STORE_RESET"] = "TRUSTCHAIN_STORE_RESET";
|
|
17
|
+
TrustchainHandlerType["TRUSTCHAIN_STORE_SET_TRUSTCHAIN"] = "TRUSTCHAIN_STORE_SET_TRUSTCHAIN";
|
|
18
|
+
TrustchainHandlerType["TRUSTCHAIN_STORE_SET_MEMBER_CREDENTIALS"] = "TRUSTCHAIN_STORE_SET_MEMBER_CREDENTIALS";
|
|
19
|
+
})(TrustchainHandlerType || (exports.TrustchainHandlerType = TrustchainHandlerType = {}));
|
|
20
|
+
exports.trustchainHandlers = {
|
|
21
|
+
TRUSTCHAIN_STORE_IMPORT_STATE: (_, { payload: { trustchain } }) => {
|
|
22
|
+
return trustchain;
|
|
23
|
+
},
|
|
24
|
+
TRUSTCHAIN_STORE_RESET: () => {
|
|
25
|
+
return Object.assign({}, (0, exports.getInitialStore)());
|
|
26
|
+
},
|
|
27
|
+
TRUSTCHAIN_STORE_SET_TRUSTCHAIN: (state, { payload: { trustchain } }) => {
|
|
28
|
+
return Object.assign(Object.assign({}, state), { trustchain });
|
|
29
|
+
},
|
|
30
|
+
TRUSTCHAIN_STORE_SET_MEMBER_CREDENTIALS: (state, { payload: { memberCredentials } }) => {
|
|
31
|
+
return Object.assign(Object.assign({}, state), { memberCredentials });
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
// actions
|
|
35
|
+
const importTrustchainStoreState = (trustchain) => ({
|
|
36
|
+
type: `${exports.trustchainStoreActionTypePrefix}IMPORT_STATE`,
|
|
37
|
+
payload: { trustchain },
|
|
38
|
+
});
|
|
39
|
+
exports.importTrustchainStoreState = importTrustchainStoreState;
|
|
40
|
+
const resetTrustchainStore = () => ({
|
|
41
|
+
type: `${exports.trustchainStoreActionTypePrefix}RESET`,
|
|
42
|
+
});
|
|
43
|
+
exports.resetTrustchainStore = resetTrustchainStore;
|
|
44
|
+
const setTrustchain = (trustchain) => ({
|
|
45
|
+
type: `${exports.trustchainStoreActionTypePrefix}SET_TRUSTCHAIN`,
|
|
46
|
+
payload: { trustchain },
|
|
47
|
+
});
|
|
48
|
+
exports.setTrustchain = setTrustchain;
|
|
49
|
+
const setMemberCredentials = (memberCredentials) => ({
|
|
50
|
+
type: `${exports.trustchainStoreActionTypePrefix}SET_MEMBER_CREDENTIALS`,
|
|
51
|
+
payload: { memberCredentials },
|
|
52
|
+
});
|
|
53
|
+
exports.setMemberCredentials = setMemberCredentials;
|
|
54
|
+
// Local Selectors
|
|
55
|
+
// FIXME: these are not actually local Selector, a localSelector takes a TrustchainStore in param. we will need to rework this.
|
|
56
|
+
const trustchainStoreSelector = (state) => state.trustchain;
|
|
57
|
+
exports.trustchainStoreSelector = trustchainStoreSelector;
|
|
58
|
+
const trustchainSelector = (state) => state.trustchain.trustchain;
|
|
59
|
+
exports.trustchainSelector = trustchainSelector;
|
|
60
|
+
const memberCredentialsSelector = (state) => state.trustchain.memberCredentials;
|
|
61
|
+
exports.memberCredentialsSelector = memberCredentialsSelector;
|
|
62
|
+
//# sourceMappingURL=store.js.map
|
package/lib/store.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";;;AAaa,QAAA,aAAa,GAAoB;IAC5C,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEK,MAAM,eAAe,GAAG,GAAoB,EAAE;IACnD,OAAO,qBAAa,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEW,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AAEnE,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,wFAAgF,CAAA;IAChF,0EAAkE,CAAA;IAClE,4FAAoF,CAAA;IACpF,4GAAoG,CAAA;AACtG,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAsBY,QAAA,kBAAkB,GAAuB;IACpD,6BAA6B,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;QAChE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,sBAAsB,EAAE,GAAoB,EAAE;QAC5C,yBAAY,IAAA,uBAAe,GAAE,EAAG;IAClC,CAAC;IACD,+BAA+B,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;QACtE,uCAAY,KAAK,KAAE,UAAU,IAAG;IAClC,CAAC;IACD,uCAAuC,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;QACrF,uCAAY,KAAK,KAAE,iBAAiB,IAAG;IACzC,CAAC;CACF,CAAC;AAEF,UAAU;AAEH,MAAM,0BAA0B,GAAG,CAAC,UAA2B,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,EAAE,GAAG,uCAA+B,cAAc;IACtD,OAAO,EAAE,EAAE,UAAU,EAAE;CACxB,CAAC,CAAC;AAHU,QAAA,0BAA0B,8BAGpC;AAEI,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,GAAG,uCAA+B,OAAO;CAChD,CAAC,CAAC;AAFU,QAAA,oBAAoB,wBAE9B;AAEI,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,GAAG,uCAA+B,gBAAgB;IACxD,OAAO,EAAE,EAAE,UAAU,EAAE;CACxB,CAAC,CAAC;AAHU,QAAA,aAAa,iBAGvB;AAEI,MAAM,oBAAoB,GAAG,CAAC,iBAAoC,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI,EAAE,GAAG,uCAA+B,wBAAwB;IAChE,OAAO,EAAE,EAAE,iBAAiB,EAAE;CAC/B,CAAC,CAAC;AAHU,QAAA,oBAAoB,wBAG9B;AAEH,kBAAkB;AAClB,+HAA+H;AAExH,MAAM,uBAAuB,GAAG,CAAC,KAAsC,EAAmB,EAAE,CACjG,KAAK,CAAC,UAAU,CAAC;AADN,QAAA,uBAAuB,2BACjB;AAEZ,MAAM,kBAAkB,GAAG,CAAC,KAAsC,EAAqB,EAAE,CAC9F,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;AADjB,QAAA,kBAAkB,sBACD;AAEvB,MAAM,yBAAyB,GAAG,CAAC,KAEzC,EAA4B,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC;AAFtD,QAAA,yBAAyB,6BAE6B"}
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import Transport from "@ledgerhq/hw-transport";
|
|
3
|
+
import { TrustchainsResponse } from "./api";
|
|
4
|
+
/**
|
|
5
|
+
* The JWT is a JSON Web Token that is used to authenticate the user.
|
|
6
|
+
*/
|
|
7
|
+
export type JWT = {
|
|
8
|
+
accessToken: string;
|
|
9
|
+
permissions: {
|
|
10
|
+
[trustchainId: string]: {
|
|
11
|
+
[path: string]: string[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* A function which allow all interactions with the hardware device.
|
|
17
|
+
*/
|
|
18
|
+
export type WithDevice = (deviceId: string, options?: {
|
|
19
|
+
openTimeoutMs?: number;
|
|
20
|
+
}) => <T>(fn: (transport: Transport) => Observable<T>) => Observable<T>;
|
|
21
|
+
/**
|
|
22
|
+
* A Trustchain contains the identifier and the contextual data we need to manage members and encrypt/decrypt data.
|
|
23
|
+
*/
|
|
24
|
+
export type Trustchain = {
|
|
25
|
+
/**
|
|
26
|
+
* The immutable id of the trustchain root
|
|
27
|
+
*/
|
|
28
|
+
rootId: string;
|
|
29
|
+
/**
|
|
30
|
+
* The secret used to encrypt/decrypt the wallet sync data
|
|
31
|
+
*/
|
|
32
|
+
walletSyncEncryptionKey: string;
|
|
33
|
+
/**
|
|
34
|
+
* The derivation path on which the current walletSyncEncryptionKey value is stored
|
|
35
|
+
*/
|
|
36
|
+
applicationPath: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* The Trustchain member credentials are stored on each client, with the privatekey only known by the current client.
|
|
40
|
+
*/
|
|
41
|
+
export type MemberCredentials = {
|
|
42
|
+
/**
|
|
43
|
+
* The public key of the member (in hexadecimal)
|
|
44
|
+
*/
|
|
45
|
+
pubkey: string;
|
|
46
|
+
/**
|
|
47
|
+
* The private key of the member (in hexadecimal)
|
|
48
|
+
*/
|
|
49
|
+
privatekey: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* A member of the trustchain
|
|
53
|
+
*/
|
|
54
|
+
export type TrustchainMember = {
|
|
55
|
+
/**
|
|
56
|
+
* The id of the member. It corresponds to the MemberCredentials.pubkey
|
|
57
|
+
*/
|
|
58
|
+
id: string;
|
|
59
|
+
/**
|
|
60
|
+
* The name of the member as displayed in the UI
|
|
61
|
+
*/
|
|
62
|
+
name: string;
|
|
63
|
+
/**
|
|
64
|
+
* a technical permissions of the member. it will often just be Permissions.OWNER
|
|
65
|
+
*/
|
|
66
|
+
permissions: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* The TrustchainSDKContext is a context that is used to initialize the TrustchainSDK.
|
|
70
|
+
*/
|
|
71
|
+
export type TrustchainSDKContext = {
|
|
72
|
+
applicationId: number;
|
|
73
|
+
name: string;
|
|
74
|
+
apiBaseUrl: string;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* provide global callbacks for specific lifecycles.
|
|
78
|
+
* this allows us to decouple trustchain with the rest of Ledger Live.
|
|
79
|
+
* For now, we only introduce very specific hooks we need.
|
|
80
|
+
*/
|
|
81
|
+
export type TrustchainLifecycle = {
|
|
82
|
+
/**
|
|
83
|
+
* called when a trustchain rotation is occuring
|
|
84
|
+
* the first function is called when the rotation is starting
|
|
85
|
+
* the second function is called when the rotation is done.
|
|
86
|
+
*
|
|
87
|
+
* in that case, we typically want to delete all other resources depending on it.
|
|
88
|
+
* we do this with the existing jwt token before refreshing it.
|
|
89
|
+
*/
|
|
90
|
+
onTrustchainRotation: (trustchainSdk: TrustchainSDK, oldTrustchain: Trustchain, memberCredentials: MemberCredentials) => Promise<(newTrustchain: Trustchain) => Promise<void>>;
|
|
91
|
+
};
|
|
92
|
+
export declare enum TrustchainResultType {
|
|
93
|
+
created = "created",
|
|
94
|
+
updated = "updated",
|
|
95
|
+
restored = "restored"
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* the trustchain with a result type indicating what happened during getOrCreateTrustchain
|
|
99
|
+
*/
|
|
100
|
+
export type TrustchainResult = {
|
|
101
|
+
type: TrustchainResultType.created;
|
|
102
|
+
trustchain: Trustchain;
|
|
103
|
+
} | {
|
|
104
|
+
type: TrustchainResultType.updated;
|
|
105
|
+
trustchain: Trustchain;
|
|
106
|
+
} | {
|
|
107
|
+
type: TrustchainResultType.restored;
|
|
108
|
+
trustchain: Trustchain;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* cache (default): the SDK will use the cached JWT if it's still valid, otherwise it will refresh it.
|
|
112
|
+
* refresh: the SDK will always refresh the JWT if possible.
|
|
113
|
+
* no-cache: the SDK will always request a new JWT.
|
|
114
|
+
*/
|
|
115
|
+
export type AuthCachePolicy = "no-cache" | "refresh" | "cache";
|
|
116
|
+
/**
|
|
117
|
+
* The main interface for the UI to interact with the trustchain protocol.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
*
|
|
121
|
+
* import { sdk } from "@ledgerhq/ledger-key-ring-protocol";
|
|
122
|
+
*
|
|
123
|
+
* sdk.getOrCreateTrustchain(deviceId, memberCredentials).then(trustchain => console.log(trustchain));
|
|
124
|
+
*/
|
|
125
|
+
export interface TrustchainSDK {
|
|
126
|
+
/**
|
|
127
|
+
* Generate the live credentials that represents a Live instance, member of the trustchain.
|
|
128
|
+
* This method is expected to be used the first time Ledger Live is opened (if Live never generated them before) and then persisted over the future user sessions of Ledger Live in order for the member to be able to authenticate and manage the trustchain.
|
|
129
|
+
*/
|
|
130
|
+
initMemberCredentials(): Promise<MemberCredentials>;
|
|
131
|
+
/**
|
|
132
|
+
* Access a JWT from the TrustchainSDK. manage the reauthentication if needed.
|
|
133
|
+
* A trustchain must have been created and the Live instance must have been added as a member.
|
|
134
|
+
* The returned token will typically be used for regular operations like wallet sync.
|
|
135
|
+
*/
|
|
136
|
+
withAuth<T>(trustchain: Trustchain, memberCredentials: MemberCredentials, f: (jwt: JWT) => Promise<T>, policy?: AuthCachePolicy, ignorePermissionsChecks?: boolean): Promise<T>;
|
|
137
|
+
/**
|
|
138
|
+
* This method will either create the required trustchains (root and application) or restore them.
|
|
139
|
+
* The returned trustchain will be initialized on the root level and also will have the branch derivation corresponding to the contextual applicationId.
|
|
140
|
+
* It will also have the wallet sync encryption key initialized.
|
|
141
|
+
* The latest jwt is also returned because it was potentially updated during the process.
|
|
142
|
+
*/
|
|
143
|
+
getOrCreateTrustchain(deviceId: string, memberCredentials: MemberCredentials, callbacks?: GetOrCreateTrustchainCallbacks, topic?: Uint8Array, currentTrustchain?: Trustchain): Promise<TrustchainResult>;
|
|
144
|
+
/**
|
|
145
|
+
* Restore the current trustchain encryption key, typically due to a key rotation.
|
|
146
|
+
*/
|
|
147
|
+
restoreTrustchain(trustchain: Trustchain, memberCredentials: MemberCredentials): Promise<Trustchain>;
|
|
148
|
+
/**
|
|
149
|
+
* list the current members of the application trustchain
|
|
150
|
+
*/
|
|
151
|
+
getMembers(trustchain: Trustchain, memberCredentials: MemberCredentials): Promise<TrustchainMember[]>;
|
|
152
|
+
/**
|
|
153
|
+
* remove a member from the application trustchain
|
|
154
|
+
*/
|
|
155
|
+
removeMember(deviceId: string, trustchain: Trustchain, memberCredentials: MemberCredentials, member: TrustchainMember, callbacks?: TrustchainDeviceCallbacks): Promise<Trustchain>;
|
|
156
|
+
/**
|
|
157
|
+
* add a member to the application trustchain
|
|
158
|
+
*/
|
|
159
|
+
addMember(trustchain: Trustchain, memberCredentials: MemberCredentials, member: TrustchainMember): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* destroy the trustchain
|
|
162
|
+
*/
|
|
163
|
+
destroyTrustchain(trustchain: Trustchain, memberCredentials: MemberCredentials): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* encrypt data with the trustchain encryption key
|
|
166
|
+
*/
|
|
167
|
+
encryptUserData(trustchain: Trustchain, obj: object): Promise<Uint8Array>;
|
|
168
|
+
/**
|
|
169
|
+
* decrypt data with the trustchain encryption key
|
|
170
|
+
*/
|
|
171
|
+
decryptUserData(trustchain: Trustchain, data: Uint8Array): Promise<Uint8Array>;
|
|
172
|
+
invalidateJwt(): void;
|
|
173
|
+
}
|
|
174
|
+
export interface TrustchainDeviceCallbacks {
|
|
175
|
+
onStartRequestUserInteraction?: () => void;
|
|
176
|
+
onEndRequestUserInteraction?: () => void;
|
|
177
|
+
}
|
|
178
|
+
export interface GetOrCreateTrustchainCallbacks extends TrustchainDeviceCallbacks {
|
|
179
|
+
onInitialResponse?: (trustchains: TrustchainsResponse) => void;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrustchainResultType = void 0;
|
|
4
|
+
var TrustchainResultType;
|
|
5
|
+
(function (TrustchainResultType) {
|
|
6
|
+
TrustchainResultType["created"] = "created";
|
|
7
|
+
TrustchainResultType["updated"] = "updated";
|
|
8
|
+
TrustchainResultType["restored"] = "restored";
|
|
9
|
+
})(TrustchainResultType || (exports.TrustchainResultType = TrustchainResultType = {}));
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
package/lib/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAwGA,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;AACvB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ApduDevice } from "@ledgerhq/hw-ledger-key-ring-protocol/ApduDevice";
|
|
2
|
+
import { AuthCachePolicy, JWT, TrustchainDeviceCallbacks, WithDevice } from "./types";
|
|
3
|
+
export declare class HWDeviceProvider {
|
|
4
|
+
/**
|
|
5
|
+
* TODO withDevice should be imported statically from @ledgerhq/live-common/hw/deviceAccess
|
|
6
|
+
*
|
|
7
|
+
* but ATM making @ledgerhq/live-common a dependency of @ledgerhq/ledger-key-ring-protocol causes:
|
|
8
|
+
* > Turbo error: Invalid package dependency graph: cyclic dependency detected:
|
|
9
|
+
* > @ledgerhq/ledger-key-ring-protocol,@ledgerhq/live-wallet,@ledgerhq/live-common
|
|
10
|
+
*
|
|
11
|
+
* Maybe hw/deviceAccess.ts and hw/index.ts could be moved to @ledgerhq/devices
|
|
12
|
+
* This would break the cyclic dependency as @ledgerhq/live-common would depend on @ledgerhq/devices
|
|
13
|
+
* but not the other way around.
|
|
14
|
+
*/
|
|
15
|
+
private withDevice;
|
|
16
|
+
private jwt?;
|
|
17
|
+
private api;
|
|
18
|
+
constructor(apiBaseURL: string, withDevice: WithDevice);
|
|
19
|
+
withJwt<T>(deviceId: string, job: (jwt: JWT) => Promise<T>, policy?: AuthCachePolicy, callbacks?: TrustchainDeviceCallbacks): Promise<T>;
|
|
20
|
+
withHw<T>(deviceId: string, job: (hw: ApduDevice) => Promise<T>, callbacks?: TrustchainDeviceCallbacks): Promise<T>;
|
|
21
|
+
refreshJwt(deviceId: string, callbacks?: TrustchainDeviceCallbacks): Promise<void>;
|
|
22
|
+
clearJwt(): void;
|
|
23
|
+
private _authWithDevice;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=HWDeviceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HWDeviceProvider.d.ts","sourceRoot":"","sources":["../src/HWDeviceProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAK9E,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGtF,qBAAa,gBAAgB;IAC3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAC,CAAM;IAClB,OAAO,CAAC,GAAG,CAA4B;gBAE3B,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAK/C,OAAO,CAAC,CAAC,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7B,MAAM,CAAC,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,CAAC,CAAC;IAaA,MAAM,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EACnC,SAAS,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,CAAC,CAAC;IA0BA,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxF,QAAQ;YAID,eAAe;CAiB9B"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { from, lastValueFrom } from "rxjs";
|
|
11
|
+
import { UserRefusedOnDevice } from "@ledgerhq/errors";
|
|
12
|
+
import { StatusCodes, TransportStatusError } from "@ledgerhq/hw-transport";
|
|
13
|
+
import { crypto, device } from "@ledgerhq/hw-ledger-key-ring-protocol";
|
|
14
|
+
import getApi from "./api";
|
|
15
|
+
import { genericWithJWT } from "./auth";
|
|
16
|
+
import { TrustchainNotAllowed } from "./errors";
|
|
17
|
+
export class HWDeviceProvider {
|
|
18
|
+
constructor(apiBaseURL, withDevice) {
|
|
19
|
+
this.api = getApi(apiBaseURL);
|
|
20
|
+
this.withDevice = withDevice;
|
|
21
|
+
}
|
|
22
|
+
withJwt(deviceId, job, policy, callbacks) {
|
|
23
|
+
return genericWithJWT(jwt => {
|
|
24
|
+
this.jwt = jwt;
|
|
25
|
+
return job(jwt);
|
|
26
|
+
}, this.jwt, () => this._authWithDevice(deviceId, callbacks), (jwt) => this.api.refreshAuth(jwt), policy);
|
|
27
|
+
}
|
|
28
|
+
withHw(deviceId, job, callbacks) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
(_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStartRequestUserInteraction) === null || _a === void 0 ? void 0 : _a.call(callbacks);
|
|
32
|
+
const runWithDevice = this.withDevice(deviceId);
|
|
33
|
+
try {
|
|
34
|
+
return yield lastValueFrom(runWithDevice(transport => from(job(device.apdu(transport)))));
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (!(error instanceof TransportStatusError)) {
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
switch (error.statusCode) {
|
|
41
|
+
case StatusCodes.USER_REFUSED_ON_DEVICE:
|
|
42
|
+
case StatusCodes.CONDITIONS_OF_USE_NOT_SATISFIED:
|
|
43
|
+
throw new UserRefusedOnDevice();
|
|
44
|
+
case StatusCodes.TRUSTCHAIN_WRONG_SEED:
|
|
45
|
+
this.clearJwt();
|
|
46
|
+
throw new TrustchainNotAllowed();
|
|
47
|
+
default:
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
(_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onEndRequestUserInteraction) === null || _b === void 0 ? void 0 : _b.call(callbacks);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
refreshJwt(deviceId, callbacks) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
this.jwt = yield this.withJwt(deviceId, this.api.refreshAuth, "cache", callbacks);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
clearJwt() {
|
|
62
|
+
this.jwt = undefined;
|
|
63
|
+
}
|
|
64
|
+
_authWithDevice(deviceId, callbacks) {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const challenge = yield this.api.getAuthenticationChallenge();
|
|
67
|
+
const data = crypto.from_hex(challenge.tlv);
|
|
68
|
+
const seedId = yield this.withHw(deviceId, hw => hw.getSeedId(data), callbacks);
|
|
69
|
+
const signature = crypto.to_hex(seedId.signature);
|
|
70
|
+
return this.api.postChallengeResponse({
|
|
71
|
+
challenge: challenge.json,
|
|
72
|
+
signature: {
|
|
73
|
+
credential: seedId.pubkeyCredential.toJSON(),
|
|
74
|
+
signature,
|
|
75
|
+
attestation: crypto.to_hex(seedId.attestationResult),
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=HWDeviceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HWDeviceProvider.js","sourceRoot":"","sources":["../src/HWDeviceProvider.ts"],"names":[],"mappings":"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"}
|
package/lib-es/api.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { JWT } from "./types";
|
|
2
|
+
export type StatusAPIResponse = {
|
|
3
|
+
name: string;
|
|
4
|
+
version: string;
|
|
5
|
+
};
|
|
6
|
+
export type APIJWT = {
|
|
7
|
+
access_token: string;
|
|
8
|
+
permissions: {
|
|
9
|
+
[trustchainId: string]: {
|
|
10
|
+
[path: string]: string[];
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export type Challenge = {
|
|
15
|
+
version: number;
|
|
16
|
+
challenge: {
|
|
17
|
+
data: string;
|
|
18
|
+
expiry: string;
|
|
19
|
+
};
|
|
20
|
+
host: string;
|
|
21
|
+
rp: {
|
|
22
|
+
credential: {
|
|
23
|
+
version: number;
|
|
24
|
+
curveId: number;
|
|
25
|
+
signAlgorithm: number;
|
|
26
|
+
publicKey: string;
|
|
27
|
+
};
|
|
28
|
+
signature: string;
|
|
29
|
+
}[];
|
|
30
|
+
protocolVersion: {
|
|
31
|
+
major: number;
|
|
32
|
+
minor: number;
|
|
33
|
+
patch: number;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type ChallengeSignature = {
|
|
37
|
+
credential: {
|
|
38
|
+
version: number;
|
|
39
|
+
curveId: number;
|
|
40
|
+
signAlgorithm: number;
|
|
41
|
+
publicKey: string;
|
|
42
|
+
};
|
|
43
|
+
signature: string;
|
|
44
|
+
attestation: string;
|
|
45
|
+
};
|
|
46
|
+
export type TrustchainsResponse = {
|
|
47
|
+
[trustchainId: string]: {
|
|
48
|
+
[path: string]: string[];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export type TrustchainResponse = {
|
|
52
|
+
[key: string]: string;
|
|
53
|
+
};
|
|
54
|
+
export type PutCommandsRequest = {
|
|
55
|
+
path: string;
|
|
56
|
+
blocks: string[];
|
|
57
|
+
};
|
|
58
|
+
declare const getApi: (apiBaseURL: string) => {
|
|
59
|
+
getAuthenticationChallenge: () => Promise<{
|
|
60
|
+
json: Challenge;
|
|
61
|
+
tlv: string;
|
|
62
|
+
}>;
|
|
63
|
+
postChallengeResponse: (request: {
|
|
64
|
+
challenge: Challenge;
|
|
65
|
+
signature: ChallengeSignature;
|
|
66
|
+
}) => Promise<JWT>;
|
|
67
|
+
refreshAuth: (jwt: JWT) => Promise<JWT>;
|
|
68
|
+
getTrustchains: (jwt: JWT) => Promise<TrustchainsResponse>;
|
|
69
|
+
getTrustchain: (jwt: JWT, trustchain_id: string) => Promise<TrustchainResponse>;
|
|
70
|
+
postDerivation: (jwt: JWT, trustchain_id: string, commandStream: string) => Promise<void>;
|
|
71
|
+
postSeed: (jwt: JWT, commandStream: string) => Promise<void>;
|
|
72
|
+
putCommands: (jwt: JWT, trustchain_id: string, request: PutCommandsRequest) => Promise<void>;
|
|
73
|
+
deleteTrustchain: (jwt: JWT, trustchain_id: string) => Promise<void>;
|
|
74
|
+
fetchStatus: () => Promise<StatusAPIResponse>;
|
|
75
|
+
};
|
|
76
|
+
export default getApi;
|
|
77
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,CAAC,YAAY,EAAE,MAAM,GAAG;YACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;SAC1B,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG;QACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,MAAM,eAAgB,MAAM;sCACa,QAAQ;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;qCAQxC;QAC5C,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,kBAAkB,CAAC;KAC/B,KAAG,QAAQ,GAAG,CAAC;uBAYgB,GAAG,KAAG,QAAQ,GAAG,CAAC;0BAcf,GAAG,KAAG,QAAQ,mBAAmB,CAAC;yBAWnC,GAAG,iBAAiB,MAAM,KAAG,QAAQ,kBAAkB,CAAC;0BAYnF,GAAG,iBACO,MAAM,iBACN,MAAM,KACpB,QAAQ,IAAI,CAAC;oBAYa,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAahE,GAAG,iBACO,MAAM,WACZ,kBAAkB,KAC1B,QAAQ,IAAI,CAAC;4BAWqB,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAUjD,QAAQ,iBAAiB,CAAC;CAoBzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|