@cubist-labs/cubesigner-sdk 0.1.77 → 0.2.15
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 +68 -0
- package/dist/src/api.d.ts +493 -0
- package/dist/src/api.js +1166 -0
- package/dist/src/client.d.ts +534 -10
- package/dist/src/client.js +355 -19
- package/dist/src/ethers/index.d.ts +34 -9
- package/dist/src/ethers/index.js +63 -19
- package/dist/src/index.d.ts +51 -70
- package/dist/src/index.js +83 -237
- package/dist/src/key.d.ts +35 -64
- package/dist/src/key.js +32 -96
- package/dist/src/mfa.d.ts +85 -14
- package/dist/src/mfa.js +146 -40
- package/dist/src/org.d.ts +42 -194
- package/dist/src/org.js +52 -336
- package/dist/src/paginator.js +1 -1
- package/dist/src/response.d.ts +101 -0
- package/dist/src/response.js +164 -0
- package/dist/src/role.d.ts +87 -83
- package/dist/src/role.js +79 -136
- package/dist/src/schema.d.ts +936 -28
- package/dist/src/schema.js +1 -1
- package/dist/src/schema_types.d.ts +109 -0
- package/dist/src/schema_types.js +3 -0
- package/dist/src/session/cognito_manager.d.ts +15 -3
- package/dist/src/session/cognito_manager.js +23 -5
- package/dist/src/session/session_manager.d.ts +1 -1
- package/dist/src/session/session_manager.js +3 -11
- package/dist/src/session/session_storage.js +1 -1
- package/dist/src/session/signer_session_manager.d.ts +10 -29
- package/dist/src/session/signer_session_manager.js +21 -80
- package/dist/src/signer_session.d.ts +15 -252
- package/dist/src/signer_session.js +25 -424
- package/dist/src/user_export.d.ts +52 -0
- package/dist/src/user_export.js +129 -0
- package/dist/src/util.d.ts +15 -0
- package/dist/src/util.js +33 -11
- package/package.json +13 -11
- package/src/api.ts +1395 -0
- package/src/client.ts +413 -12
- package/src/ethers/index.ts +74 -28
- package/src/index.ts +96 -273
- package/src/key.ts +36 -131
- package/src/{fido.ts → mfa.ts} +62 -38
- package/src/org.ts +54 -405
- package/src/response.ts +196 -0
- package/src/role.ts +113 -184
- package/src/schema.ts +936 -28
- package/src/schema_types.ts +110 -0
- package/src/session/cognito_manager.ts +33 -6
- package/src/session/session_manager.ts +2 -8
- package/src/session/signer_session_manager.ts +29 -110
- package/src/signer_session.ts +22 -597
- package/src/user_export.ts +116 -0
- package/src/util.ts +29 -10
|
@@ -13,15 +13,9 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
13
13
|
var _SignerSessionManager_client;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.SignerSessionManager = void 0;
|
|
16
|
-
const util_1 = require("../util");
|
|
17
16
|
const session_manager_1 = require("./session_manager");
|
|
18
17
|
const session_storage_1 = require("./session_storage");
|
|
19
|
-
const
|
|
20
|
-
session: 604800,
|
|
21
|
-
auth: 300,
|
|
22
|
-
refresh: 86400,
|
|
23
|
-
grace: 30,
|
|
24
|
-
};
|
|
18
|
+
const util_1 = require("../util");
|
|
25
19
|
/** Manager for signer sessions. */
|
|
26
20
|
class SignerSessionManager extends session_manager_1.OrgSessionManager {
|
|
27
21
|
/**
|
|
@@ -33,8 +27,9 @@ class SignerSessionManager extends session_manager_1.OrgSessionManager {
|
|
|
33
27
|
return session.token;
|
|
34
28
|
}
|
|
35
29
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
30
|
+
* Refreshes the current session if needed, then returns a client using the current session.
|
|
31
|
+
*
|
|
32
|
+
* May **UPDATE/MUTATE** self.
|
|
38
33
|
*/
|
|
39
34
|
async client() {
|
|
40
35
|
await this.refreshIfNeeded();
|
|
@@ -42,17 +37,9 @@ class SignerSessionManager extends session_manager_1.OrgSessionManager {
|
|
|
42
37
|
}
|
|
43
38
|
/** Revokes the session. */
|
|
44
39
|
async revoke() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const session = await this.storage.retrieve();
|
|
49
|
-
const resp = await (await this.cs.management()).del("/v0/org/{org_id}/session/{session_id}", {
|
|
50
|
-
params: {
|
|
51
|
-
path: {
|
|
52
|
-
org_id: session.org_id,
|
|
53
|
-
session_id: session.session_info.session_id,
|
|
54
|
-
},
|
|
55
|
-
},
|
|
40
|
+
const client = await this.client();
|
|
41
|
+
const resp = await client.del("/v0/org/{org_id}/session/self", {
|
|
42
|
+
params: { path: { org_id: this.orgId } },
|
|
56
43
|
parseAs: "json",
|
|
57
44
|
});
|
|
58
45
|
(0, util_1.assertOk)(resp);
|
|
@@ -70,10 +57,10 @@ class SignerSessionManager extends session_manager_1.OrgSessionManager {
|
|
|
70
57
|
* Refreshes the session and **UPDATES/MUTATES** self.
|
|
71
58
|
*/
|
|
72
59
|
async refresh() {
|
|
73
|
-
const
|
|
74
|
-
const csi =
|
|
60
|
+
const currSession = await this.storage.retrieve();
|
|
61
|
+
const csi = currSession.session_info;
|
|
75
62
|
const resp = await __classPrivateFieldGet(this, _SignerSessionManager_client, "f").patch("/v1/org/{org_id}/token/refresh", {
|
|
76
|
-
params: { path: { org_id:
|
|
63
|
+
params: { path: { org_id: this.orgId } },
|
|
77
64
|
body: {
|
|
78
65
|
epoch_num: csi.epoch,
|
|
79
66
|
epoch_token: csi.epoch_token,
|
|
@@ -82,53 +69,13 @@ class SignerSessionManager extends session_manager_1.OrgSessionManager {
|
|
|
82
69
|
parseAs: "json",
|
|
83
70
|
});
|
|
84
71
|
const data = (0, util_1.assertOk)(resp);
|
|
85
|
-
|
|
86
|
-
...
|
|
72
|
+
const newSession = {
|
|
73
|
+
...currSession,
|
|
87
74
|
session_info: data.session_info,
|
|
88
75
|
token: data.token,
|
|
89
|
-
});
|
|
90
|
-
__classPrivateFieldSet(this, _SignerSessionManager_client, this.createClient(data.token), "f");
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Create a new signer session.
|
|
94
|
-
* @param {CubeSigner} cs The CubeSigner instance
|
|
95
|
-
* @param {SignerSessionStorage} storage The session storage to use
|
|
96
|
-
* @param {string} orgId Org ID
|
|
97
|
-
* @param {string} roleId Role ID
|
|
98
|
-
* @param {string} purpose The purpose of the session
|
|
99
|
-
* @param {SignerSessionLifetime} ttl Lifetime settings
|
|
100
|
-
* @return {Promise<SignerSessionManager>} New signer session
|
|
101
|
-
*/
|
|
102
|
-
static async create(cs, storage, orgId, roleId, purpose, ttl) {
|
|
103
|
-
const resp = await (await cs.management()).post("/v0/org/{org_id}/roles/{role_id}/tokens", {
|
|
104
|
-
params: { path: { org_id: orgId, role_id: roleId } },
|
|
105
|
-
body: {
|
|
106
|
-
purpose,
|
|
107
|
-
auth_lifetime: ttl?.auth || defaultSignerSessionLifetime.auth,
|
|
108
|
-
refresh_lifetime: ttl?.refresh || defaultSignerSessionLifetime.refresh,
|
|
109
|
-
session_lifetime: ttl?.session || defaultSignerSessionLifetime.session,
|
|
110
|
-
grace_lifetime: ttl?.grace || defaultSignerSessionLifetime.grace,
|
|
111
|
-
},
|
|
112
|
-
parseAs: "json",
|
|
113
|
-
});
|
|
114
|
-
const data = (0, util_1.assertOk)(resp);
|
|
115
|
-
const session_info = data.session_info;
|
|
116
|
-
if (!session_info) {
|
|
117
|
-
throw new Error("Signer session info missing");
|
|
118
|
-
}
|
|
119
|
-
const sessionData = {
|
|
120
|
-
org_id: orgId,
|
|
121
|
-
role_id: roleId,
|
|
122
|
-
purpose,
|
|
123
|
-
token: data.token,
|
|
124
|
-
session_info,
|
|
125
|
-
// Keep compatibility with tokens produced by CLI
|
|
126
|
-
env: {
|
|
127
|
-
["Dev-CubeSignerStack"]: cs.env,
|
|
128
|
-
},
|
|
129
76
|
};
|
|
130
|
-
await storage.save(
|
|
131
|
-
|
|
77
|
+
await this.storage.save(newSession);
|
|
78
|
+
__classPrivateFieldSet(this, _SignerSessionManager_client, this.createClient(newSession.token), "f");
|
|
132
79
|
}
|
|
133
80
|
/**
|
|
134
81
|
* @param {EnvInterface} env The CubeSigner environment
|
|
@@ -153,32 +100,26 @@ class SignerSessionManager extends session_manager_1.OrgSessionManager {
|
|
|
153
100
|
}
|
|
154
101
|
/**
|
|
155
102
|
* Uses an existing session to create a new signer session manager.
|
|
103
|
+
*
|
|
156
104
|
* @param {SignerSessionStorage} storage The session storage to use
|
|
157
|
-
* @param {CubeSigner} cs Optional CubeSigner instance.
|
|
158
|
-
* Currently used for token revocation; will be completely removed
|
|
159
|
-
* since token revocation should not require management session.
|
|
160
105
|
* @return {Promise<SingerSession>} New signer session manager
|
|
161
106
|
*/
|
|
162
|
-
static async loadFromStorage(storage
|
|
107
|
+
static async loadFromStorage(storage) {
|
|
163
108
|
const session = await storage.retrieve();
|
|
164
|
-
return new SignerSessionManager(session, storage
|
|
109
|
+
return new SignerSessionManager(session, storage);
|
|
165
110
|
}
|
|
166
111
|
/**
|
|
167
112
|
* Constructor.
|
|
113
|
+
*
|
|
168
114
|
* @param {SignerSessionData} sessionData Session data
|
|
169
|
-
* @param {SignerSessionStorage} storage The session storage to use
|
|
170
|
-
* @param {CubeSigner} cs Optional CubeSigner instance.
|
|
171
|
-
* Currently used for token revocation; will be completely removed
|
|
172
|
-
* since token revocation should not require management session.
|
|
173
|
-
* @internal
|
|
115
|
+
* @param {SignerSessionStorage} storage The session storage to use.
|
|
174
116
|
*/
|
|
175
|
-
constructor(sessionData, storage
|
|
117
|
+
constructor(sessionData, storage) {
|
|
176
118
|
super(sessionData.env["Dev-CubeSignerStack"], sessionData.org_id, storage);
|
|
177
119
|
_SignerSessionManager_client.set(this, void 0);
|
|
178
|
-
this.cs = cs;
|
|
179
120
|
__classPrivateFieldSet(this, _SignerSessionManager_client, this.createClient(sessionData.token), "f");
|
|
180
121
|
}
|
|
181
122
|
}
|
|
182
123
|
exports.SignerSessionManager = SignerSessionManager;
|
|
183
124
|
_SignerSessionManager_client = new WeakMap();
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVyX3Nlc3Npb25fbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXNzaW9uL3NpZ25lcl9zZXNzaW9uX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esa0NBQW1DO0FBRW5DLHVEQUE4RDtBQUM5RCx1REFBeUU7QUF3Q3pFLE1BQU0sNEJBQTRCLEdBQTBCO0lBQzFELE9BQU8sRUFBRSxNQUFNO0lBQ2YsSUFBSSxFQUFFLEdBQUc7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQztBQUVGLG1DQUFtQztBQUNuQyxNQUFhLG9CQUFxQixTQUFRLG1DQUFvQztJQUk1RTs7O09BR0c7SUFDSCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFNO1FBQ1YsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0IsT0FBTyx1QkFBQSxJQUFJLG9DQUFRLENBQUM7SUFDdEIsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUMzQixDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsRUFBRTtZQUM3QyxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtvQkFDdEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVTtpQkFDNUM7YUFDRjtZQUNELE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQztRQUNILElBQUEsZUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDakMsTUFBTSxJQUFJLEdBQUcsTUFBTSx1QkFBQSxJQUFJLG9DQUFRLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFO1lBQ3RFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxFQUErQjtnQkFDakMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7Z0JBQzVCLFdBQVcsRUFBRSxHQUFHLENBQUMsYUFBYTthQUMvQjtZQUNELE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUEsZUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQW9CO1lBQ3pDLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsdUJBQUEsSUFBSSxnQ0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBQSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakIsRUFBYyxFQUNkLE9BQTZCLEVBQzdCLEtBQWEsRUFDYixNQUFjLEVBQ2QsT0FBZSxFQUNmLEdBQTJCO1FBRTNCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQ3RCLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxFQUFFO1lBQ2hELE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3BELElBQUksRUFBRTtnQkFDSixPQUFPO2dCQUNQLGFBQWEsRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLDRCQUE0QixDQUFDLElBQUk7Z0JBQzdELGdCQUFnQixFQUFFLEdBQUcsRUFBRSxPQUFPLElBQUksNEJBQTRCLENBQUMsT0FBTztnQkFDdEUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLE9BQU8sSUFBSSw0QkFBNEIsQ0FBQyxPQUFPO2dCQUN0RSxjQUFjLEVBQUUsR0FBRyxFQUFFLEtBQUssSUFBSSw0QkFBNEIsQ0FBQyxLQUFLO2FBQ2pFO1lBQ0QsT0FBTyxFQUFFLE1BQU07U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBQSxlQUFRLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUNELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLE1BQU07WUFDZixPQUFPO1lBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFlBQVk7WUFDWixpREFBaUQ7WUFDakQsR0FBRyxFQUFFO2dCQUNILENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRzthQUNoQztTQUNGLENBQUM7UUFDRixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQ2hDLEdBQWlCLEVBQ2pCLEtBQWEsRUFDYixPQUEyQixFQUMzQixPQUE4QjtRQUU5QixNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLEVBQUU7Z0JBQ0gsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEdBQUc7YUFDN0I7WUFDRCxNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsZUFBZTtZQUN4QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7U0FDbkMsQ0FBQztRQUNGLE9BQU8sS0FBSyxJQUFJLHNDQUFvQixFQUFFLENBQUM7UUFDdkMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FDMUIsT0FBNkIsRUFDN0IsRUFBZTtRQUVmLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFlBQ0UsV0FBOEIsRUFDOUIsT0FBNkIsRUFDN0IsRUFBZTtRQUVmLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQXRMN0UsK0NBQWdCO1FBdUxkLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsdUJBQUEsSUFBSSxnQ0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBQSxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQTVMRCxvREE0TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdWJlU2lnbmVyLCBFbnZJbnRlcmZhY2UgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IGFzc2VydE9rIH0gZnJvbSBcIi4uL3V0aWxcIjtcbmltcG9ydCB7IGNvbXBvbmVudHMsIHBhdGhzLCBDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50XCI7XG5pbXBvcnQgeyBIYXNFbnYsIE9yZ1Nlc3Npb25NYW5hZ2VyIH0gZnJvbSBcIi4vc2Vzc2lvbl9tYW5hZ2VyXCI7XG5pbXBvcnQgeyBNZW1vcnlTZXNzaW9uU3RvcmFnZSwgU2Vzc2lvblN0b3JhZ2UgfSBmcm9tIFwiLi9zZXNzaW9uX3N0b3JhZ2VcIjtcblxuZXhwb3J0IHR5cGUgQ2xpZW50U2Vzc2lvbkluZm8gPSBjb21wb25lbnRzW1wic2NoZW1hc1wiXVtcIkNsaWVudFNlc3Npb25JbmZvXCJdO1xuZXhwb3J0IHR5cGUgTmV3U2Vzc2lvblJlc3BvbnNlID0gY29tcG9uZW50c1tcInNjaGVtYXNcIl1bXCJOZXdTZXNzaW9uUmVzcG9uc2VcIl07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVNpZ25lclNlc3Npb25SZXF1ZXN0ID1cbiAgcGF0aHNbXCIvdjAvb3JnL3tvcmdfaWR9L3JvbGVzL3tyb2xlX2lkfS90b2tlbnNcIl1bXCJwb3N0XCJdW1wicmVxdWVzdEJvZHlcIl1bXCJjb250ZW50XCJdW1wiYXBwbGljYXRpb24vanNvblwiXTtcbmV4cG9ydCB0eXBlIFJlZnJlc2hTaWduZXJTZXNzaW9uUmVxdWVzdCA9XG4gIHBhdGhzW1wiL3YxL29yZy97b3JnX2lkfS90b2tlbi9yZWZyZXNoXCJdW1wicGF0Y2hcIl1bXCJyZXF1ZXN0Qm9keVwiXVtcImNvbnRlbnRcIl1bXCJhcHBsaWNhdGlvbi9qc29uXCJdO1xuXG4vKiogSlNPTiByZXByZXNlbnRhdGlvbiBvZiBvdXIgXCJzaWduZXIgc2Vzc2lvblwiIGZpbGUgZm9ybWF0ICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lclNlc3Npb25PYmplY3Qge1xuICAvKiogVGhlIG9yZ2FuaXphdGlvbiBJRCAqL1xuICBvcmdfaWQ6IHN0cmluZztcbiAgLyoqIFRoZSByb2xlIElEICovXG4gIHJvbGVfaWQ/OiBzdHJpbmc7XG4gIC8qKiBUaGUgcHVycG9zZSBvZiB0aGUgc2Vzc2lvbiB0b2tlbiAqL1xuICBwdXJwb3NlPzogc3RyaW5nO1xuICAvKiogVGhlIHRva2VuIHRvIGluY2x1ZGUgaW4gQXV0aG9yaXphdGlvbiBoZWFkZXIgKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIFNlc3Npb24gaW5mbyAqL1xuICBzZXNzaW9uX2luZm86IENsaWVudFNlc3Npb25JbmZvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lclNlc3Npb25EYXRhIGV4dGVuZHMgU2lnbmVyU2Vzc2lvbk9iamVjdCwgSGFzRW52IHt9XG5cbi8qKiBUeXBlIG9mIHN0b3JhZ2UgcmVxdWlyZWQgZm9yIHNpZ25lciBzZXNzaW9ucyAqL1xuZXhwb3J0IHR5cGUgU2lnbmVyU2Vzc2lvblN0b3JhZ2UgPSBTZXNzaW9uU3RvcmFnZTxTaWduZXJTZXNzaW9uRGF0YT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVyU2Vzc2lvbkxpZmV0aW1lIHtcbiAgLyoqIFNlc3Npb24gbGlmZXRpbWUgKGluIHNlY29uZHMpLiBEZWZhdWx0cyB0byBvbmUgd2VlayAoNjA0ODAwKS4gKi9cbiAgc2Vzc2lvbj86IG51bWJlcjtcbiAgLyoqIEF1dGggdG9rZW4gbGlmZXRpbWUgKGluIHNlY29uZHMpLiBEZWZhdWx0cyB0byBmaXZlIG1pbnV0ZXMgKDMwMCkuICovXG4gIGF1dGg6IG51bWJlcjtcbiAgLyoqIFJlZnJlc2ggdG9rZW4gbGlmZXRpbWUgKGluIHNlY29uZHMpLiBEZWZhdWx0cyB0byBvbmUgZGF5ICg4NjQwMCkuICovXG4gIHJlZnJlc2g/OiBudW1iZXI7XG4gIC8qKiBHcmFjZSBsaWZldGltZSAoaW4gc2Vjb25kcykuIERlZmF1bHRzIHRvIDMwIHNlY29uZHMgKDMwKS4gKi9cbiAgZ3JhY2U/OiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRTaWduZXJTZXNzaW9uTGlmZXRpbWU6IFNpZ25lclNlc3Npb25MaWZldGltZSA9IHtcbiAgc2Vzc2lvbjogNjA0ODAwLFxuICBhdXRoOiAzMDAsXG4gIHJlZnJlc2g6IDg2NDAwLFxuICBncmFjZTogMzAsXG59O1xuXG4vKiogTWFuYWdlciBmb3Igc2lnbmVyIHNlc3Npb25zLiAqL1xuZXhwb3J0IGNsYXNzIFNpZ25lclNlc3Npb25NYW5hZ2VyIGV4dGVuZHMgT3JnU2Vzc2lvbk1hbmFnZXI8U2lnbmVyU2Vzc2lvbkRhdGE+IHtcbiAgcmVhZG9ubHkgY3M/OiBDdWJlU2lnbmVyO1xuICAjY2xpZW50OiBDbGllbnQ7XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGN1cnJlbnQgYXV0aCB0b2tlbi5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBhc3luYyB0b2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCB0aGlzLnN0b3JhZ2UucmV0cmlldmUoKTtcbiAgICByZXR1cm4gc2Vzc2lvbi50b2tlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY2xpZW50IHdpdGggdGhlIGN1cnJlbnQgc2Vzc2lvbiBhbmQgcmVmcmVzaGVzIHRoZSBjdXJyZW50XG4gICAqIHNlc3Npb24uIE1heSAqKlVQREFURS9NVVRBVEUqKiBzZWxmLlxuICAgKi9cbiAgYXN5bmMgY2xpZW50KCk6IFByb21pc2U8Q2xpZW50PiB7XG4gICAgYXdhaXQgdGhpcy5yZWZyZXNoSWZOZWVkZWQoKTtcbiAgICByZXR1cm4gdGhpcy4jY2xpZW50O1xuICB9XG5cbiAgLyoqIFJldm9rZXMgdGhlIHNlc3Npb24uICovXG4gIGFzeW5jIHJldm9rZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIG1hbmFnZW1lbnQgc2Vzc2lvbiBhdmFpbGFibGVcIik7XG4gICAgfVxuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCB0aGlzLnN0b3JhZ2UucmV0cmlldmUoKTtcbiAgICBjb25zdCByZXNwID0gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy5jcy5tYW5hZ2VtZW50KClcbiAgICApLmRlbChcIi92MC9vcmcve29yZ19pZH0vc2Vzc2lvbi97c2Vzc2lvbl9pZH1cIiwge1xuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIHBhdGg6IHtcbiAgICAgICAgICBvcmdfaWQ6IHNlc3Npb24ub3JnX2lkLFxuICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb24uc2Vzc2lvbl9pbmZvLnNlc3Npb25faWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcGFyc2VBczogXCJqc29uXCIsXG4gICAgfSk7XG4gICAgYXNzZXJ0T2socmVzcCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIGl0J3MgdGltZSB0byByZWZyZXNoIHRoaXMgdG9rZW4uXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgaXQncyB0aW1lIHRvIHJlZnJlc2ggdGhpcyB0b2tlbi5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBhc3luYyBpc1N0YWxlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCB0aGlzLnN0b3JhZ2UucmV0cmlldmUoKTtcbiAgICByZXR1cm4gdGhpcy5oYXNFeHBpcmVkKHNlc3Npb24uc2Vzc2lvbl9pbmZvLmF1dGhfdG9rZW5fZXhwICogMTAwMCk7XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaGVzIHRoZSBzZXNzaW9uIGFuZCAqKlVQREFURVMvTVVUQVRFUyoqIHNlbGYuXG4gICAqL1xuICBhc3luYyByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCB0aGlzLnN0b3JhZ2UucmV0cmlldmUoKTtcbiAgICBjb25zdCBjc2kgPSBzZXNzaW9uLnNlc3Npb25faW5mbztcbiAgICBjb25zdCByZXNwID0gYXdhaXQgdGhpcy4jY2xpZW50LnBhdGNoKFwiL3YxL29yZy97b3JnX2lkfS90b2tlbi9yZWZyZXNoXCIsIHtcbiAgICAgIHBhcmFtczogeyBwYXRoOiB7IG9yZ19pZDogc2Vzc2lvbi5vcmdfaWQgfSB9LFxuICAgICAgYm9keTogPFJlZnJlc2hTaWduZXJTZXNzaW9uUmVxdWVzdD57XG4gICAgICAgIGVwb2NoX251bTogY3NpLmVwb2NoLFxuICAgICAgICBlcG9jaF90b2tlbjogY3NpLmVwb2NoX3Rva2VuLFxuICAgICAgICBvdGhlcl90b2tlbjogY3NpLnJlZnJlc2hfdG9rZW4sXG4gICAgICB9LFxuICAgICAgcGFyc2VBczogXCJqc29uXCIsXG4gICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IGFzc2VydE9rKHJlc3ApO1xuICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zYXZlKDxTaWduZXJTZXNzaW9uRGF0YT57XG4gICAgICAuLi5zZXNzaW9uLFxuICAgICAgc2Vzc2lvbl9pbmZvOiBkYXRhLnNlc3Npb25faW5mbyxcbiAgICAgIHRva2VuOiBkYXRhLnRva2VuLFxuICAgIH0pO1xuICAgIHRoaXMuI2NsaWVudCA9IHRoaXMuY3JlYXRlQ2xpZW50KGRhdGEudG9rZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBzaWduZXIgc2Vzc2lvbi5cbiAgICogQHBhcmFtIHtDdWJlU2lnbmVyfSBjcyBUaGUgQ3ViZVNpZ25lciBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge1NpZ25lclNlc3Npb25TdG9yYWdlfSBzdG9yYWdlIFRoZSBzZXNzaW9uIHN0b3JhZ2UgdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcmdJZCBPcmcgSURcbiAgICogQHBhcmFtIHtzdHJpbmd9IHJvbGVJZCBSb2xlIElEXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwdXJwb3NlIFRoZSBwdXJwb3NlIG9mIHRoZSBzZXNzaW9uXG4gICAqIEBwYXJhbSB7U2lnbmVyU2Vzc2lvbkxpZmV0aW1lfSB0dGwgTGlmZXRpbWUgc2V0dGluZ3NcbiAgICogQHJldHVybiB7UHJvbWlzZTxTaWduZXJTZXNzaW9uTWFuYWdlcj59IE5ldyBzaWduZXIgc2Vzc2lvblxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGNyZWF0ZShcbiAgICBjczogQ3ViZVNpZ25lcixcbiAgICBzdG9yYWdlOiBTaWduZXJTZXNzaW9uU3RvcmFnZSxcbiAgICBvcmdJZDogc3RyaW5nLFxuICAgIHJvbGVJZDogc3RyaW5nLFxuICAgIHB1cnBvc2U6IHN0cmluZyxcbiAgICB0dGw/OiBTaWduZXJTZXNzaW9uTGlmZXRpbWUsXG4gICk6IFByb21pc2U8U2lnbmVyU2Vzc2lvbk1hbmFnZXI+IHtcbiAgICBjb25zdCByZXNwID0gYXdhaXQgKFxuICAgICAgYXdhaXQgY3MubWFuYWdlbWVudCgpXG4gICAgKS5wb3N0KFwiL3YwL29yZy97b3JnX2lkfS9yb2xlcy97cm9sZV9pZH0vdG9rZW5zXCIsIHtcbiAgICAgIHBhcmFtczogeyBwYXRoOiB7IG9yZ19pZDogb3JnSWQsIHJvbGVfaWQ6IHJvbGVJZCB9IH0sXG4gICAgICBib2R5OiB7XG4gICAgICAgIHB1cnBvc2UsXG4gICAgICAgIGF1dGhfbGlmZXRpbWU6IHR0bD8uYXV0aCB8fCBkZWZhdWx0U2lnbmVyU2Vzc2lvbkxpZmV0aW1lLmF1dGgsXG4gICAgICAgIHJlZnJlc2hfbGlmZXRpbWU6IHR0bD8ucmVmcmVzaCB8fCBkZWZhdWx0U2lnbmVyU2Vzc2lvbkxpZmV0aW1lLnJlZnJlc2gsXG4gICAgICAgIHNlc3Npb25fbGlmZXRpbWU6IHR0bD8uc2Vzc2lvbiB8fCBkZWZhdWx0U2lnbmVyU2Vzc2lvbkxpZmV0aW1lLnNlc3Npb24sXG4gICAgICAgIGdyYWNlX2xpZmV0aW1lOiB0dGw/LmdyYWNlIHx8IGRlZmF1bHRTaWduZXJTZXNzaW9uTGlmZXRpbWUuZ3JhY2UsXG4gICAgICB9LFxuICAgICAgcGFyc2VBczogXCJqc29uXCIsXG4gICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IGFzc2VydE9rKHJlc3ApO1xuICAgIGNvbnN0IHNlc3Npb25faW5mbyA9IGRhdGEuc2Vzc2lvbl9pbmZvO1xuICAgIGlmICghc2Vzc2lvbl9pbmZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaWduZXIgc2Vzc2lvbiBpbmZvIG1pc3NpbmdcIik7XG4gICAgfVxuICAgIGNvbnN0IHNlc3Npb25EYXRhID0ge1xuICAgICAgb3JnX2lkOiBvcmdJZCxcbiAgICAgIHJvbGVfaWQ6IHJvbGVJZCxcbiAgICAgIHB1cnBvc2UsXG4gICAgICB0b2tlbjogZGF0YS50b2tlbixcbiAgICAgIHNlc3Npb25faW5mbyxcbiAgICAgIC8vIEtlZXAgY29tcGF0aWJpbGl0eSB3aXRoIHRva2VucyBwcm9kdWNlZCBieSBDTElcbiAgICAgIGVudjoge1xuICAgICAgICBbXCJEZXYtQ3ViZVNpZ25lclN0YWNrXCJdOiBjcy5lbnYsXG4gICAgICB9LFxuICAgIH07XG4gICAgYXdhaXQgc3RvcmFnZS5zYXZlKHNlc3Npb25EYXRhKTtcbiAgICByZXR1cm4gbmV3IFNpZ25lclNlc3Npb25NYW5hZ2VyKHNlc3Npb25EYXRhLCBzdG9yYWdlLCBjcyk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFbnZJbnRlcmZhY2V9IGVudiBUaGUgQ3ViZVNpZ25lciBlbnZpcm9ubWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3JnSWQgVGhlIG9yZ2FuaXphdGlvbiBJRFxuICAgKiBAcGFyYW0ge05ld1Nlc3Npb25SZXNwb25zZX0gc2Vzc2lvbiBUaGUgc2Vzc2lvbiBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIHtTaWduZXJTZXNzaW9uU3RvcmFnZX0gc3RvcmFnZSBUaGUgc3RvcmFnZSB0byB1c2UgZm9yIHNhdmluZyB0aGUgc2Vzc2lvbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxTaWduZXJTZXNzaW9uTWFuYWdlcj59IE5ldyBzaWduZXIgc2Vzc2lvbiBtYW5hZ2VyLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGNyZWF0ZUZyb21TZXNzaW9uSW5mbyhcbiAgICBlbnY6IEVudkludGVyZmFjZSxcbiAgICBvcmdJZDogc3RyaW5nLFxuICAgIHNlc3Npb246IE5ld1Nlc3Npb25SZXNwb25zZSxcbiAgICBzdG9yYWdlPzogU2lnbmVyU2Vzc2lvblN0b3JhZ2UsXG4gICk6IFByb21pc2U8U2lnbmVyU2Vzc2lvbk1hbmFnZXI+IHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YSA9IHtcbiAgICAgIGVudjoge1xuICAgICAgICBbXCJEZXYtQ3ViZVNpZ25lclN0YWNrXCJdOiBlbnYsXG4gICAgICB9LFxuICAgICAgb3JnX2lkOiBvcmdJZCxcbiAgICAgIHRva2VuOiBzZXNzaW9uLnRva2VuLFxuICAgICAgcHVycG9zZTogXCJzaWduIHZpYSBvaWRjXCIsXG4gICAgICBzZXNzaW9uX2luZm86IHNlc3Npb24uc2Vzc2lvbl9pbmZvLFxuICAgIH07XG4gICAgc3RvcmFnZSA/Pz0gbmV3IE1lbW9yeVNlc3Npb25TdG9yYWdlKCk7XG4gICAgYXdhaXQgc3RvcmFnZS5zYXZlKHNlc3Npb25EYXRhKTtcbiAgICByZXR1cm4gYXdhaXQgU2lnbmVyU2Vzc2lvbk1hbmFnZXIubG9hZEZyb21TdG9yYWdlKHN0b3JhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZXMgYW4gZXhpc3Rpbmcgc2Vzc2lvbiB0byBjcmVhdGUgYSBuZXcgc2lnbmVyIHNlc3Npb24gbWFuYWdlci5cbiAgICogQHBhcmFtIHtTaWduZXJTZXNzaW9uU3RvcmFnZX0gc3RvcmFnZSBUaGUgc2Vzc2lvbiBzdG9yYWdlIHRvIHVzZVxuICAgKiBAcGFyYW0ge0N1YmVTaWduZXJ9IGNzIE9wdGlvbmFsIEN1YmVTaWduZXIgaW5zdGFuY2UuXG4gICAqICAgIEN1cnJlbnRseSB1c2VkIGZvciB0b2tlbiByZXZvY2F0aW9uOyB3aWxsIGJlIGNvbXBsZXRlbHkgcmVtb3ZlZFxuICAgKiAgICBzaW5jZSB0b2tlbiByZXZvY2F0aW9uIHNob3VsZCBub3QgcmVxdWlyZSBtYW5hZ2VtZW50IHNlc3Npb24uXG4gICAqIEByZXR1cm4ge1Byb21pc2U8U2luZ2VyU2Vzc2lvbj59IE5ldyBzaWduZXIgc2Vzc2lvbiBtYW5hZ2VyXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgbG9hZEZyb21TdG9yYWdlKFxuICAgIHN0b3JhZ2U6IFNpZ25lclNlc3Npb25TdG9yYWdlLFxuICAgIGNzPzogQ3ViZVNpZ25lcixcbiAgKTogUHJvbWlzZTxTaWduZXJTZXNzaW9uTWFuYWdlcj4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBzdG9yYWdlLnJldHJpZXZlKCk7XG4gICAgcmV0dXJuIG5ldyBTaWduZXJTZXNzaW9uTWFuYWdlcihzZXNzaW9uLCBzdG9yYWdlLCBjcyk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7U2lnbmVyU2Vzc2lvbkRhdGF9IHNlc3Npb25EYXRhIFNlc3Npb24gZGF0YVxuICAgKiBAcGFyYW0ge1NpZ25lclNlc3Npb25TdG9yYWdlfSBzdG9yYWdlIFRoZSBzZXNzaW9uIHN0b3JhZ2UgdG8gdXNlXG4gICAqIEBwYXJhbSB7Q3ViZVNpZ25lcn0gY3MgT3B0aW9uYWwgQ3ViZVNpZ25lciBpbnN0YW5jZS5cbiAgICogICAgQ3VycmVudGx5IHVzZWQgZm9yIHRva2VuIHJldm9jYXRpb247IHdpbGwgYmUgY29tcGxldGVseSByZW1vdmVkXG4gICAqICAgIHNpbmNlIHRva2VuIHJldm9jYXRpb24gc2hvdWxkIG5vdCByZXF1aXJlIG1hbmFnZW1lbnQgc2Vzc2lvbi5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHNlc3Npb25EYXRhOiBTaWduZXJTZXNzaW9uRGF0YSxcbiAgICBzdG9yYWdlOiBTaWduZXJTZXNzaW9uU3RvcmFnZSxcbiAgICBjcz86IEN1YmVTaWduZXIsXG4gICkge1xuICAgIHN1cGVyKHNlc3Npb25EYXRhLmVudltcIkRldi1DdWJlU2lnbmVyU3RhY2tcIl0sIHNlc3Npb25EYXRhLm9yZ19pZCwgc3RvcmFnZSk7XG4gICAgdGhpcy5jcyA9IGNzO1xuICAgIHRoaXMuI2NsaWVudCA9IHRoaXMuY3JlYXRlQ2xpZW50KHNlc3Npb25EYXRhLnRva2VuKTtcbiAgfVxufVxuIl19
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVyX3Nlc3Npb25fbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXNzaW9uL3NpZ25lcl9zZXNzaW9uX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsdURBQThEO0FBQzlELHVEQUF5RTtBQUN6RSxrQ0FBbUM7QUFnQ25DLG1DQUFtQztBQUNuQyxNQUFhLG9CQUFxQixTQUFRLG1DQUFvQztJQUc1RTs7O09BR0c7SUFDSCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLE9BQU8sdUJBQUEsSUFBSSxvQ0FBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUU7WUFDN0QsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN4QyxPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFBLGVBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLE1BQU0sdUJBQUEsSUFBSSxvQ0FBUSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN0RSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hDLElBQUksRUFBK0I7Z0JBQ2pDLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSztnQkFDcEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO2dCQUM1QixXQUFXLEVBQUUsR0FBRyxDQUFDLGFBQWE7YUFDL0I7WUFDRCxPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxJQUFBLGVBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBc0I7WUFDcEMsR0FBRyxXQUFXO1lBQ2QsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDO1FBRUYsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyx1QkFBQSxJQUFJLGdDQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQ2hDLEdBQWlCLEVBQ2pCLEtBQWEsRUFDYixPQUEyQixFQUMzQixPQUE4QjtRQUU5QixNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLEVBQUU7Z0JBQ0gsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEdBQUc7YUFDN0I7WUFDRCxNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsZUFBZTtZQUN4QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7U0FDbkMsQ0FBQztRQUNGLE9BQU8sS0FBSyxJQUFJLHNDQUFvQixFQUFFLENBQUM7UUFDdkMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBNkI7UUFDeEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsT0FBTyxJQUFJLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFvQixXQUE4QixFQUFFLE9BQTZCO1FBQy9FLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQWpIN0UsK0NBQWdCO1FBa0hkLHVCQUFBLElBQUksZ0NBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQUEsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUFySEQsb0RBcUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52SW50ZXJmYWNlIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQge1xuICBDbGllbnRTZXNzaW9uSW5mbyxcbiAgTmV3U2Vzc2lvblJlc3BvbnNlLFxuICBSZWZyZXNoU2lnbmVyU2Vzc2lvblJlcXVlc3QsXG59IGZyb20gXCIuLi9zY2hlbWFfdHlwZXNcIjtcbmltcG9ydCB7IENsaWVudCB9IGZyb20gXCIuLi9hcGlcIjtcbmltcG9ydCB7IEhhc0VudiwgT3JnU2Vzc2lvbk1hbmFnZXIgfSBmcm9tIFwiLi9zZXNzaW9uX21hbmFnZXJcIjtcbmltcG9ydCB7IE1lbW9yeVNlc3Npb25TdG9yYWdlLCBTZXNzaW9uU3RvcmFnZSB9IGZyb20gXCIuL3Nlc3Npb25fc3RvcmFnZVwiO1xuaW1wb3J0IHsgYXNzZXJ0T2sgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG4vKiogSlNPTiByZXByZXNlbnRhdGlvbiBvZiBvdXIgXCJzaWduZXIgc2Vzc2lvblwiIGZpbGUgZm9ybWF0ICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lclNlc3Npb25PYmplY3Qge1xuICAvKiogVGhlIG9yZ2FuaXphdGlvbiBJRCAqL1xuICBvcmdfaWQ6IHN0cmluZztcbiAgLyoqIFRoZSByb2xlIElEICovXG4gIHJvbGVfaWQ/OiBzdHJpbmc7XG4gIC8qKiBUaGUgcHVycG9zZSBvZiB0aGUgc2Vzc2lvbiB0b2tlbiAqL1xuICBwdXJwb3NlPzogc3RyaW5nO1xuICAvKiogVGhlIHRva2VuIHRvIGluY2x1ZGUgaW4gQXV0aG9yaXphdGlvbiBoZWFkZXIgKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIFNlc3Npb24gaW5mbyAqL1xuICBzZXNzaW9uX2luZm86IENsaWVudFNlc3Npb25JbmZvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lclNlc3Npb25EYXRhIGV4dGVuZHMgU2lnbmVyU2Vzc2lvbk9iamVjdCwgSGFzRW52IHt9XG5cbi8qKiBUeXBlIG9mIHN0b3JhZ2UgcmVxdWlyZWQgZm9yIHNpZ25lciBzZXNzaW9ucyAqL1xuZXhwb3J0IHR5cGUgU2lnbmVyU2Vzc2lvblN0b3JhZ2UgPSBTZXNzaW9uU3RvcmFnZTxTaWduZXJTZXNzaW9uRGF0YT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVyU2Vzc2lvbkxpZmV0aW1lIHtcbiAgLyoqIFNlc3Npb24gbGlmZXRpbWUgKGluIHNlY29uZHMpLiBEZWZhdWx0cyB0byBvbmUgd2VlayAoNjA0ODAwKS4gKi9cbiAgc2Vzc2lvbj86IG51bWJlcjtcbiAgLyoqIEF1dGggdG9rZW4gbGlmZXRpbWUgKGluIHNlY29uZHMpLiBEZWZhdWx0cyB0byBmaXZlIG1pbnV0ZXMgKDMwMCkuICovXG4gIGF1dGg6IG51bWJlcjtcbiAgLyoqIFJlZnJlc2ggdG9rZW4gbGlmZXRpbWUgKGluIHNlY29uZHMpLiBEZWZhdWx0cyB0byBvbmUgZGF5ICg4NjQwMCkuICovXG4gIHJlZnJlc2g/OiBudW1iZXI7XG4gIC8qKiBHcmFjZSBsaWZldGltZSAoaW4gc2Vjb25kcykuIERlZmF1bHRzIHRvIDMwIHNlY29uZHMgKDMwKS4gKi9cbiAgZ3JhY2U/OiBudW1iZXI7XG59XG5cbi8qKiBNYW5hZ2VyIGZvciBzaWduZXIgc2Vzc2lvbnMuICovXG5leHBvcnQgY2xhc3MgU2lnbmVyU2Vzc2lvbk1hbmFnZXIgZXh0ZW5kcyBPcmdTZXNzaW9uTWFuYWdlcjxTaWduZXJTZXNzaW9uRGF0YT4ge1xuICAjY2xpZW50OiBDbGllbnQ7XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGN1cnJlbnQgYXV0aCB0b2tlbi5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBhc3luYyB0b2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCB0aGlzLnN0b3JhZ2UucmV0cmlldmUoKTtcbiAgICByZXR1cm4gc2Vzc2lvbi50b2tlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGN1cnJlbnQgc2Vzc2lvbiBpZiBuZWVkZWQsIHRoZW4gcmV0dXJucyBhIGNsaWVudCB1c2luZyB0aGUgY3VycmVudCBzZXNzaW9uLlxuICAgKlxuICAgKiBNYXkgKipVUERBVEUvTVVUQVRFKiogc2VsZi5cbiAgICovXG4gIGFzeW5jIGNsaWVudCgpOiBQcm9taXNlPENsaWVudD4ge1xuICAgIGF3YWl0IHRoaXMucmVmcmVzaElmTmVlZGVkKCk7XG4gICAgcmV0dXJuIHRoaXMuI2NsaWVudDtcbiAgfVxuXG4gIC8qKiBSZXZva2VzIHRoZSBzZXNzaW9uLiAqL1xuICBhc3luYyByZXZva2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xpZW50ID0gYXdhaXQgdGhpcy5jbGllbnQoKTtcbiAgICBjb25zdCByZXNwID0gYXdhaXQgY2xpZW50LmRlbChcIi92MC9vcmcve29yZ19pZH0vc2Vzc2lvbi9zZWxmXCIsIHtcbiAgICAgIHBhcmFtczogeyBwYXRoOiB7IG9yZ19pZDogdGhpcy5vcmdJZCB9IH0sXG4gICAgICBwYXJzZUFzOiBcImpzb25cIixcbiAgICB9KTtcbiAgICBhc3NlcnRPayhyZXNwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgaXQncyB0aW1lIHRvIHJlZnJlc2ggdGhpcyB0b2tlbi5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciBpdCdzIHRpbWUgdG8gcmVmcmVzaCB0aGlzIHRva2VuLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFzeW5jIGlzU3RhbGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5yZXRyaWV2ZSgpO1xuICAgIHJldHVybiB0aGlzLmhhc0V4cGlyZWQoc2Vzc2lvbi5zZXNzaW9uX2luZm8uYXV0aF90b2tlbl9leHAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIHNlc3Npb24gYW5kICoqVVBEQVRFUy9NVVRBVEVTKiogc2VsZi5cbiAgICovXG4gIGFzeW5jIHJlZnJlc2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY3VyclNlc3Npb24gPSBhd2FpdCB0aGlzLnN0b3JhZ2UucmV0cmlldmUoKTtcblxuICAgIGNvbnN0IGNzaSA9IGN1cnJTZXNzaW9uLnNlc3Npb25faW5mbztcbiAgICBjb25zdCByZXNwID0gYXdhaXQgdGhpcy4jY2xpZW50LnBhdGNoKFwiL3YxL29yZy97b3JnX2lkfS90b2tlbi9yZWZyZXNoXCIsIHtcbiAgICAgIHBhcmFtczogeyBwYXRoOiB7IG9yZ19pZDogdGhpcy5vcmdJZCB9IH0sXG4gICAgICBib2R5OiA8UmVmcmVzaFNpZ25lclNlc3Npb25SZXF1ZXN0PntcbiAgICAgICAgZXBvY2hfbnVtOiBjc2kuZXBvY2gsXG4gICAgICAgIGVwb2NoX3Rva2VuOiBjc2kuZXBvY2hfdG9rZW4sXG4gICAgICAgIG90aGVyX3Rva2VuOiBjc2kucmVmcmVzaF90b2tlbixcbiAgICAgIH0sXG4gICAgICBwYXJzZUFzOiBcImpzb25cIixcbiAgICB9KTtcbiAgICBjb25zdCBkYXRhID0gYXNzZXJ0T2socmVzcCk7XG4gICAgY29uc3QgbmV3U2Vzc2lvbiA9IDxTaWduZXJTZXNzaW9uRGF0YT57XG4gICAgICAuLi5jdXJyU2Vzc2lvbixcbiAgICAgIHNlc3Npb25faW5mbzogZGF0YS5zZXNzaW9uX2luZm8sXG4gICAgICB0b2tlbjogZGF0YS50b2tlbixcbiAgICB9O1xuXG4gICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNhdmUobmV3U2Vzc2lvbik7XG4gICAgdGhpcy4jY2xpZW50ID0gdGhpcy5jcmVhdGVDbGllbnQobmV3U2Vzc2lvbi50b2tlbik7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFbnZJbnRlcmZhY2V9IGVudiBUaGUgQ3ViZVNpZ25lciBlbnZpcm9ubWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3JnSWQgVGhlIG9yZ2FuaXphdGlvbiBJRFxuICAgKiBAcGFyYW0ge05ld1Nlc3Npb25SZXNwb25zZX0gc2Vzc2lvbiBUaGUgc2Vzc2lvbiBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIHtTaWduZXJTZXNzaW9uU3RvcmFnZX0gc3RvcmFnZSBUaGUgc3RvcmFnZSB0byB1c2UgZm9yIHNhdmluZyB0aGUgc2Vzc2lvbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxTaWduZXJTZXNzaW9uTWFuYWdlcj59IE5ldyBzaWduZXIgc2Vzc2lvbiBtYW5hZ2VyLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGNyZWF0ZUZyb21TZXNzaW9uSW5mbyhcbiAgICBlbnY6IEVudkludGVyZmFjZSxcbiAgICBvcmdJZDogc3RyaW5nLFxuICAgIHNlc3Npb246IE5ld1Nlc3Npb25SZXNwb25zZSxcbiAgICBzdG9yYWdlPzogU2lnbmVyU2Vzc2lvblN0b3JhZ2UsXG4gICk6IFByb21pc2U8U2lnbmVyU2Vzc2lvbk1hbmFnZXI+IHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YSA9IHtcbiAgICAgIGVudjoge1xuICAgICAgICBbXCJEZXYtQ3ViZVNpZ25lclN0YWNrXCJdOiBlbnYsXG4gICAgICB9LFxuICAgICAgb3JnX2lkOiBvcmdJZCxcbiAgICAgIHRva2VuOiBzZXNzaW9uLnRva2VuLFxuICAgICAgcHVycG9zZTogXCJzaWduIHZpYSBvaWRjXCIsXG4gICAgICBzZXNzaW9uX2luZm86IHNlc3Npb24uc2Vzc2lvbl9pbmZvLFxuICAgIH07XG4gICAgc3RvcmFnZSA/Pz0gbmV3IE1lbW9yeVNlc3Npb25TdG9yYWdlKCk7XG4gICAgYXdhaXQgc3RvcmFnZS5zYXZlKHNlc3Npb25EYXRhKTtcbiAgICByZXR1cm4gYXdhaXQgU2lnbmVyU2Vzc2lvbk1hbmFnZXIubG9hZEZyb21TdG9yYWdlKHN0b3JhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZXMgYW4gZXhpc3Rpbmcgc2Vzc2lvbiB0byBjcmVhdGUgYSBuZXcgc2lnbmVyIHNlc3Npb24gbWFuYWdlci5cbiAgICpcbiAgICogQHBhcmFtIHtTaWduZXJTZXNzaW9uU3RvcmFnZX0gc3RvcmFnZSBUaGUgc2Vzc2lvbiBzdG9yYWdlIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFNpbmdlclNlc3Npb24+fSBOZXcgc2lnbmVyIHNlc3Npb24gbWFuYWdlclxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGxvYWRGcm9tU3RvcmFnZShzdG9yYWdlOiBTaWduZXJTZXNzaW9uU3RvcmFnZSk6IFByb21pc2U8U2lnbmVyU2Vzc2lvbk1hbmFnZXI+IHtcbiAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgc3RvcmFnZS5yZXRyaWV2ZSgpO1xuICAgIHJldHVybiBuZXcgU2lnbmVyU2Vzc2lvbk1hbmFnZXIoc2Vzc2lvbiwgc3RvcmFnZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSB7U2lnbmVyU2Vzc2lvbkRhdGF9IHNlc3Npb25EYXRhIFNlc3Npb24gZGF0YVxuICAgKiBAcGFyYW0ge1NpZ25lclNlc3Npb25TdG9yYWdlfSBzdG9yYWdlIFRoZSBzZXNzaW9uIHN0b3JhZ2UgdG8gdXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihzZXNzaW9uRGF0YTogU2lnbmVyU2Vzc2lvbkRhdGEsIHN0b3JhZ2U6IFNpZ25lclNlc3Npb25TdG9yYWdlKSB7XG4gICAgc3VwZXIoc2Vzc2lvbkRhdGEuZW52W1wiRGV2LUN1YmVTaWduZXJTdGFja1wiXSwgc2Vzc2lvbkRhdGEub3JnX2lkLCBzdG9yYWdlKTtcbiAgICB0aGlzLiNjbGllbnQgPSB0aGlzLmNyZWF0ZUNsaWVudChzZXNzaW9uRGF0YS50b2tlbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,258 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { PublicKeyCredential } from "./fido";
|
|
5
|
-
import { NewSessionResponse, SignerSessionManager, SignerSessionStorage } from "./session/signer_session_manager";
|
|
6
|
-
export type EvmSignRequest = paths["/v1/org/{org_id}/eth1/sign/{pubkey}"]["post"]["requestBody"]["content"]["application/json"];
|
|
7
|
-
export type Eth2SignRequest = paths["/v1/org/{org_id}/eth2/sign/{pubkey}"]["post"]["requestBody"]["content"]["application/json"];
|
|
8
|
-
export type Eth2StakeRequest = paths["/v1/org/{org_id}/eth2/stake"]["post"]["requestBody"]["content"]["application/json"];
|
|
9
|
-
export type Eth2UnstakeRequest = paths["/v1/org/{org_id}/eth2/unstake/{pubkey}"]["post"]["requestBody"]["content"]["application/json"];
|
|
10
|
-
export type BlobSignRequest = paths["/v1/org/{org_id}/blob/sign/{key_id}"]["post"]["requestBody"]["content"]["application/json"];
|
|
11
|
-
export type BtcSignRequest = paths["/v0/org/{org_id}/btc/sign/{pubkey}"]["post"]["requestBody"]["content"]["application/json"];
|
|
12
|
-
export type SolanaSignRequest = paths["/v0/org/{org_id}/solana/sign/{pubkey}"]["post"]["requestBody"]["content"]["application/json"];
|
|
13
|
-
export type AvaSignRequest = paths["/v0/org/{org_id}/ava/sign/{pubkey}"]["post"]["requestBody"]["content"]["application/json"];
|
|
14
|
-
export type EvmSignResponse = components["responses"]["Eth1SignResponse"]["content"]["application/json"];
|
|
15
|
-
export type Eth2SignResponse = components["responses"]["Eth2SignResponse"]["content"]["application/json"];
|
|
16
|
-
export type Eth2StakeResponse = components["responses"]["StakeResponse"]["content"]["application/json"];
|
|
17
|
-
export type Eth2UnstakeResponse = components["responses"]["UnstakeResponse"]["content"]["application/json"];
|
|
18
|
-
export type BlobSignResponse = components["responses"]["BlobSignResponse"]["content"]["application/json"];
|
|
19
|
-
export type BtcSignResponse = components["responses"]["BtcSignResponse"]["content"]["application/json"];
|
|
20
|
-
export type SolanaSignResponse = components["responses"]["SolanaSignResponse"]["content"]["application/json"];
|
|
21
|
-
export type MfaRequestInfo = components["responses"]["MfaRequestInfo"]["content"]["application/json"];
|
|
22
|
-
export type AvaSignResponse = components["responses"]["AvaSignResponse"]["content"]["application/json"];
|
|
23
|
-
export type AcceptedResponse = components["schemas"]["AcceptedResponse"];
|
|
24
|
-
export type ErrorResponse = components["schemas"]["ErrorResponse"];
|
|
25
|
-
export type BtcSignatureKind = components["schemas"]["BtcSignatureKind"];
|
|
26
|
-
/** MFA request kind */
|
|
27
|
-
export type MfaType = components["schemas"]["MfaType"];
|
|
28
|
-
/** Ava P- or X-chain transaction */
|
|
29
|
-
export type AvaTx = {
|
|
30
|
-
P: AvaPChainTx;
|
|
31
|
-
} | {
|
|
32
|
-
X: AvaXChainTx;
|
|
33
|
-
};
|
|
34
|
-
/** Ava P-chain transaction */
|
|
35
|
-
export type AvaPChainTx = {
|
|
36
|
-
AddPermissionlessValidator: JsonMap;
|
|
37
|
-
} | {
|
|
38
|
-
AddSubnetValidator: JsonMap;
|
|
39
|
-
} | {
|
|
40
|
-
AddValidator: JsonMap;
|
|
41
|
-
} | {
|
|
42
|
-
CreateChain: JsonMap;
|
|
43
|
-
} | {
|
|
44
|
-
CreateSubnet: JsonMap;
|
|
45
|
-
} | {
|
|
46
|
-
Export: JsonMap;
|
|
47
|
-
} | {
|
|
48
|
-
Import: JsonMap;
|
|
49
|
-
};
|
|
50
|
-
/** Ava X-chain transaction */
|
|
51
|
-
export type AvaXChainTx = {
|
|
52
|
-
Base: JsonMap;
|
|
53
|
-
} | {
|
|
54
|
-
Export: JsonMap;
|
|
55
|
-
} | {
|
|
56
|
-
Import: JsonMap;
|
|
57
|
-
};
|
|
58
|
-
type SignFn<U> = (headers?: HeadersInit) => Promise<U | AcceptedResponse>;
|
|
59
|
-
export interface MfaRequired {
|
|
60
|
-
/** Org id */
|
|
61
|
-
org_id: string;
|
|
62
|
-
/** MFA request id */
|
|
63
|
-
id: string;
|
|
64
|
-
/** Optional MFA session */
|
|
65
|
-
session?: NewSessionResponse | null;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* A response of a CubeSigner request.
|
|
69
|
-
*/
|
|
70
|
-
export declare class SignResponse<U> {
|
|
71
|
-
#private;
|
|
72
|
-
/** @return {string} The MFA id associated with this request */
|
|
73
|
-
mfaId(): string;
|
|
74
|
-
/** @return {boolean} True if this request requires an MFA approval */
|
|
75
|
-
requiresMfa(): boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Returns session information to use for any MFA approval requests (if any was included in the response).
|
|
78
|
-
* @return {ClientSessionInfo | undefined}
|
|
79
|
-
*/
|
|
80
|
-
mfaSessionInfo(): NewSessionResponse | undefined;
|
|
81
|
-
/** @return {U} The signed data */
|
|
82
|
-
data(): U;
|
|
83
|
-
/**
|
|
84
|
-
* Approves the MFA request using a given session and a TOTP code.
|
|
85
|
-
*
|
|
86
|
-
* @param {SignerSession} session Signer session to use
|
|
87
|
-
* @param {string} code 6-digit TOTP code
|
|
88
|
-
* @return {SignResponse<U>} The result of signing with the approval
|
|
89
|
-
*/
|
|
90
|
-
approveTotp(session: SignerSession, code: string): Promise<SignResponse<U>>;
|
|
91
|
-
/**
|
|
92
|
-
* Approves the MFA request using a given `CubeSigner` instance (i.e., its management session).
|
|
93
|
-
*
|
|
94
|
-
* @param {CubeSigner} cs CubeSigner whose session to use
|
|
95
|
-
* @return {SignResponse<U>} The result of signing with the approval
|
|
96
|
-
*/
|
|
97
|
-
approve(cs: CubeSigner): Promise<SignResponse<U>>;
|
|
98
|
-
/**
|
|
99
|
-
* @param {MfaReceipt} mfaReceipt The MFA receipt
|
|
100
|
-
* @return {Promise<SignResponse<U>>} The result of signing after MFA approval
|
|
101
|
-
*/
|
|
102
|
-
signWithMfaApproval(mfaReceipt: MfaReceipt): Promise<SignResponse<U>>;
|
|
103
|
-
/**
|
|
104
|
-
* Constructor.
|
|
105
|
-
*
|
|
106
|
-
* @param {SignFn} signFn The signing function that this response is from.
|
|
107
|
-
* This argument is used to resend requests with
|
|
108
|
-
* different headers if needed.
|
|
109
|
-
* @param {U | AcceptedResponse} resp The response as returned by the OpenAPI
|
|
110
|
-
* client.
|
|
111
|
-
*/
|
|
112
|
-
constructor(signFn: SignFn<U>, resp: U | AcceptedResponse);
|
|
113
|
-
/**
|
|
114
|
-
* Static constructor.
|
|
115
|
-
* @param {SignFn} signFn The signing function that this response is from.
|
|
116
|
-
* This argument is used to resend requests with
|
|
117
|
-
* different headers if needed.
|
|
118
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
119
|
-
* @return {Promise<SignResponse<U>>} New instance of this class.
|
|
120
|
-
*/
|
|
121
|
-
static create<U>(signFn: SignFn<U>, mfaReceipt?: MfaReceipt): Promise<SignResponse<U>>;
|
|
122
|
-
/**
|
|
123
|
-
* Returns HTTP headers containing a given MFA receipt.
|
|
124
|
-
*
|
|
125
|
-
* @param {MfaReceipt} mfaReceipt MFA receipt
|
|
126
|
-
* @return {HeadersInit} Headers including that receipt
|
|
127
|
-
*/
|
|
128
|
-
static getMfaHeaders(mfaReceipt?: MfaReceipt): HeadersInit | undefined;
|
|
129
|
-
}
|
|
1
|
+
import { CubeSignerClient } from "./client";
|
|
2
|
+
import { KeyInfo } from "./key";
|
|
3
|
+
import { SignerSessionManager, SignerSessionStorage } from "./session/signer_session_manager";
|
|
130
4
|
/** Signer session info. Can only be used to revoke a token, but not for authentication. */
|
|
131
5
|
export declare class SignerSessionInfo {
|
|
132
6
|
#private;
|
|
133
7
|
readonly purpose: string;
|
|
134
|
-
/** Revoke this
|
|
8
|
+
/** Revoke this session */
|
|
135
9
|
revoke(): Promise<void>;
|
|
136
10
|
/**
|
|
137
11
|
* Internal constructor.
|
|
138
|
-
* @param {
|
|
139
|
-
* @param {string}
|
|
140
|
-
* @param {string} roleId Role ID
|
|
141
|
-
* @param {string} hash The hash of the token; can be used for revocation but not for auth
|
|
12
|
+
* @param {CubeSignerClient} cs CubeSigner instance to use when calling `revoke`
|
|
13
|
+
* @param {string} sessionId The ID of the session; can be used for revocation but not for auth
|
|
142
14
|
* @param {string} purpose Session purpose
|
|
143
15
|
* @internal
|
|
144
16
|
*/
|
|
145
|
-
constructor(cs:
|
|
17
|
+
constructor(cs: CubeSignerClient, sessionId: string, purpose: string);
|
|
146
18
|
}
|
|
147
|
-
/**
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
get orgId(): string;
|
|
153
|
-
/**
|
|
154
|
-
* Returns the list of keys that this token grants access to.
|
|
155
|
-
* @return {Key[]} The list of keys.
|
|
156
|
-
*/
|
|
157
|
-
keys(): Promise<KeyInfo[]>;
|
|
158
|
-
/**
|
|
159
|
-
* Approve a pending MFA request using TOTP.
|
|
160
|
-
*
|
|
161
|
-
* @param {string} mfaId The MFA request to approve
|
|
162
|
-
* @param {string} code The TOTP code
|
|
163
|
-
* @return {Promise<MfaRequestInfo>} The current status of the MFA request
|
|
164
|
-
*/
|
|
165
|
-
totpApprove(mfaId: string, code: string): Promise<MfaRequestInfo>;
|
|
166
|
-
/**
|
|
167
|
-
* Initiate approval of an existing MFA request using FIDO.
|
|
168
|
-
* @param {string} mfaId The MFA request ID.
|
|
169
|
-
* @return {Promise<MfaFidoChallenge>} A challenge that needs to be answered to complete the approval.
|
|
170
|
-
*/
|
|
171
|
-
fidoApproveStart(mfaId: string): Promise<MfaFidoChallenge>;
|
|
172
|
-
/**
|
|
173
|
-
* Complete a previously initiated MFA request approval using FIDO.
|
|
174
|
-
* @param {string} mfaId The MFA request ID
|
|
175
|
-
* @param {string} challengeId The challenge ID
|
|
176
|
-
* @param {PublicKeyCredential} credential The answer to the challenge
|
|
177
|
-
* @return {Promise<MfaRequestInfo>} The current status of the MFA request.
|
|
178
|
-
*/
|
|
179
|
-
fidoApproveComplete(mfaId: string, challengeId: string, credential: PublicKeyCredential): Promise<MfaRequestInfo>;
|
|
180
|
-
/**
|
|
181
|
-
* Get a pending MFA request by its id.
|
|
182
|
-
* @param {CubeSigner} cs Management session to use (this argument will be removed in future versions)
|
|
183
|
-
* @param {string} mfaId The id of the MFA request.
|
|
184
|
-
* @return {Promise<MfaRequestInfo>} The MFA request.
|
|
185
|
-
*/
|
|
186
|
-
getMfaInfo(cs: CubeSigner, mfaId: string): Promise<MfaRequestInfo>;
|
|
187
|
-
/**
|
|
188
|
-
* Submit an EVM sign request.
|
|
189
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its material ID).
|
|
190
|
-
* @param {EvmSignRequest} req What to sign.
|
|
191
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt.
|
|
192
|
-
* @return {Promise<EvmSignResponse | AcceptedResponse>} Signature
|
|
193
|
-
*/
|
|
194
|
-
signEvm(key: Key | string, req: EvmSignRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<EvmSignResponse>>;
|
|
195
|
-
/**
|
|
196
|
-
* Submit an 'eth2' sign request.
|
|
197
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its material ID).
|
|
198
|
-
* @param {Eth2SignRequest} req What to sign.
|
|
199
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
200
|
-
* @return {Promise<Eth2SignResponse | AcceptedResponse>} Signature
|
|
201
|
-
*/
|
|
202
|
-
signEth2(key: Key | string, req: Eth2SignRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<Eth2SignResponse>>;
|
|
203
|
-
/**
|
|
204
|
-
* Sign a stake request.
|
|
205
|
-
* @param {Eth2StakeRequest} req The request to sign.
|
|
206
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
207
|
-
* @return {Promise<Eth2StakeResponse | AcceptedResponse>} The response.
|
|
208
|
-
*/
|
|
209
|
-
stake(req: Eth2StakeRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<Eth2StakeResponse>>;
|
|
210
|
-
/**
|
|
211
|
-
* Sign an unstake request.
|
|
212
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its material ID).
|
|
213
|
-
* @param {Eth2UnstakeRequest} req The request to sign.
|
|
214
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
215
|
-
* @return {Promise<Eth2UnstakeResponse | AcceptedResponse>} The response.
|
|
216
|
-
*/
|
|
217
|
-
unstake(key: Key | string, req: Eth2UnstakeRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<Eth2UnstakeResponse>>;
|
|
218
|
-
/**
|
|
219
|
-
* Sign a raw blob.
|
|
220
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its ID).
|
|
221
|
-
* @param {BlobSignRequest} req What to sign
|
|
222
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
223
|
-
* @return {Promise<BlobSignResponse | AcceptedResponse>} The response.
|
|
224
|
-
*/
|
|
225
|
-
signBlob(key: Key | string, req: BlobSignRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<BlobSignResponse>>;
|
|
226
|
-
/**
|
|
227
|
-
* Sign a bitcoin message.
|
|
228
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its material ID).
|
|
229
|
-
* @param {BtcSignRequest} req What to sign
|
|
230
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
231
|
-
* @return {Promise<BtcSignResponse | AcceptedResponse>} The response.
|
|
232
|
-
*/
|
|
233
|
-
signBtc(key: Key | string, req: BtcSignRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<BtcSignResponse>>;
|
|
234
|
-
/**
|
|
235
|
-
* Sign a solana message.
|
|
236
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its material ID).
|
|
237
|
-
* @param {SolanaSignRequest} req What to sign
|
|
238
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
239
|
-
* @return {Promise<SolanaSignResponse | AcceptedResponse>} The response.
|
|
240
|
-
*/
|
|
241
|
-
signSolana(key: Key | string, req: SolanaSignRequest, mfaReceipt?: MfaReceipt): Promise<SignResponse<SolanaSignResponse>>;
|
|
242
|
-
/**
|
|
243
|
-
* Sign an Avalanche P- or X-chain message.
|
|
244
|
-
* @param {Key | string} key The key to sign with (either {@link Key} or its material ID).
|
|
245
|
-
* @param {AvaTx} tx Avalanche message (transaction) to sign
|
|
246
|
-
* @param {MfaReceipt} mfaReceipt Optional MFA receipt
|
|
247
|
-
* @return {Promise<AvaSignResponse | AcceptedResponse>} The response.
|
|
248
|
-
*/
|
|
249
|
-
signAva(key: Key | string, tx: AvaTx, mfaReceipt?: MfaReceipt): Promise<SignResponse<AvaSignResponse>>;
|
|
250
|
-
/**
|
|
251
|
-
* Obtain a proof of authentication.
|
|
252
|
-
*
|
|
253
|
-
* @return {Promise<IdentityProof>} Proof of authentication
|
|
254
|
-
*/
|
|
255
|
-
proveIdentity(): Promise<IdentityProof>;
|
|
19
|
+
/**
|
|
20
|
+
* Signer session.
|
|
21
|
+
* Extends {@link CubeSignerClient} and provides a few convenience methods on top.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SignerSession extends CubeSignerClient {
|
|
256
24
|
/**
|
|
257
25
|
* Loads an existing signer session from storage.
|
|
258
26
|
* @param {SignerSessionStorage} storage The session storage to use
|
|
@@ -266,13 +34,8 @@ export declare class SignerSession {
|
|
|
266
34
|
*/
|
|
267
35
|
constructor(sessionMgr: SignerSessionManager);
|
|
268
36
|
/**
|
|
269
|
-
*
|
|
270
|
-
* @
|
|
271
|
-
* @param {string} orgId Organization ID
|
|
272
|
-
* @param {string} roleId Role ID
|
|
273
|
-
* @param {string} sessionId Signer session ID
|
|
274
|
-
* @internal
|
|
37
|
+
* Returns the list of keys that this token grants access to.
|
|
38
|
+
* @return {KeyInfo[]} The list of keys.
|
|
275
39
|
*/
|
|
276
|
-
|
|
40
|
+
keys(): Promise<KeyInfo[]>;
|
|
277
41
|
}
|
|
278
|
-
export {};
|