@0xkey-io/http 0.1.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/CHANGELOG.md +5 -0
- package/LICENSE +201 -0
- package/README.md +94 -0
- package/dist/__generated__/barrel.d.ts +2 -0
- package/dist/__generated__/barrel.d.ts.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts +1794 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.js +3022 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.js.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.mjs +3020 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.mjs.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts +150383 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js +2880 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.mjs +2639 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.mjs.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts +6732 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts.map +1 -0
- package/dist/_kernel/transport.d.ts +2 -0
- package/dist/_kernel/transport.d.ts.map +1 -0
- package/dist/_kernel/transport.js +8 -0
- package/dist/_kernel/transport.js.map +1 -0
- package/dist/_kernel/transport.mjs +6 -0
- package/dist/_kernel/transport.mjs.map +1 -0
- package/dist/async.d.ts +32 -0
- package/dist/async.d.ts.map +1 -0
- package/dist/async.js +158 -0
- package/dist/async.js.map +1 -0
- package/dist/async.mjs +155 -0
- package/dist/async.mjs.map +1 -0
- package/dist/base.d.ts +91 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +172 -0
- package/dist/base.js.map +1 -0
- package/dist/base.mjs +165 -0
- package/dist/base.mjs.map +1 -0
- package/dist/config.d.ts +32 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +48 -0
- package/dist/config.js.map +1 -0
- package/dist/config.mjs +43 -0
- package/dist/config.mjs.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +10 -0
- package/dist/index.mjs.map +1 -0
- package/dist/shared.d.ts +76 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +138 -0
- package/dist/shared.js.map +1 -0
- package/dist/shared.mjs +128 -0
- package/dist/shared.mjs.map +1 -0
- package/dist/universal.d.ts +4 -0
- package/dist/universal.d.ts.map +1 -0
- package/dist/universal.js +10 -0
- package/dist/universal.js.map +1 -0
- package/dist/universal.mjs +8 -0
- package/dist/universal.mjs.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/dist/version.mjs +4 -0
- package/dist/version.mjs.map +1 -0
- package/dist/webauthn-json/api.d.ts +13 -0
- package/dist/webauthn-json/api.d.ts.map +1 -0
- package/dist/webauthn-json/api.js +16 -0
- package/dist/webauthn-json/api.js.map +1 -0
- package/dist/webauthn-json/api.mjs +13 -0
- package/dist/webauthn-json/api.mjs.map +1 -0
- package/dist/webauthn-json/base64url.d.ts +4 -0
- package/dist/webauthn-json/base64url.d.ts.map +1 -0
- package/dist/webauthn-json/base64url.js +22 -0
- package/dist/webauthn-json/base64url.js.map +1 -0
- package/dist/webauthn-json/base64url.mjs +20 -0
- package/dist/webauthn-json/base64url.mjs.map +1 -0
- package/dist/webauthn-json/convert.d.ts +8 -0
- package/dist/webauthn-json/convert.d.ts.map +1 -0
- package/dist/webauthn-json/convert.js +71 -0
- package/dist/webauthn-json/convert.js.map +1 -0
- package/dist/webauthn-json/convert.mjs +64 -0
- package/dist/webauthn-json/convert.mjs.map +1 -0
- package/dist/webauthn-json/index.d.ts +14 -0
- package/dist/webauthn-json/index.d.ts.map +1 -0
- package/dist/webauthn-json/index.js +18 -0
- package/dist/webauthn-json/index.js.map +1 -0
- package/dist/webauthn-json/index.mjs +15 -0
- package/dist/webauthn-json/index.mjs.map +1 -0
- package/dist/webauthn-json/json.d.ts +92 -0
- package/dist/webauthn-json/json.d.ts.map +1 -0
- package/dist/webauthn-json/schema-format.d.ts +13 -0
- package/dist/webauthn-json/schema-format.d.ts.map +1 -0
- package/dist/webauthn-json/schema.d.ts +9 -0
- package/dist/webauthn-json/schema.d.ts.map +1 -0
- package/dist/webauthn-json/schema.js +40 -0
- package/dist/webauthn-json/schema.js.map +1 -0
- package/dist/webauthn-json/schema.mjs +37 -0
- package/dist/webauthn-json/schema.mjs.map +1 -0
- package/dist/webauthn.d.ts +24 -0
- package/dist/webauthn.d.ts.map +1 -0
- package/dist/webauthn.js +97 -0
- package/dist/webauthn.js.map +1 -0
- package/dist/webauthn.mjs +93 -0
- package/dist/webauthn.mjs.map +1 -0
- package/package.json +57 -0
package/dist/config.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const config = {
|
|
4
|
+
apiPublicKey: null,
|
|
5
|
+
apiPrivateKey: null,
|
|
6
|
+
baseUrl: null,
|
|
7
|
+
};
|
|
8
|
+
const browserConfig = {
|
|
9
|
+
baseUrl: null,
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated use {@link ZeroXKeyClient} instead, which doesn't rely on global initialization logic.
|
|
13
|
+
*/
|
|
14
|
+
function browserInit(value) {
|
|
15
|
+
browserConfig.baseUrl = assertNonEmptyString(value.baseUrl, "baseUrl");
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated use {@link ZeroXKeyClient} instead, which doesn't rely on global initialization logic.
|
|
19
|
+
*/
|
|
20
|
+
function init(value) {
|
|
21
|
+
config.apiPublicKey = assertNonEmptyString(value.apiPublicKey, "apiPublicKey");
|
|
22
|
+
config.apiPrivateKey = assertNonEmptyString(value.apiPrivateKey, "apiPrivateKey");
|
|
23
|
+
config.baseUrl = assertNonEmptyString(value.baseUrl, "baseUrl");
|
|
24
|
+
}
|
|
25
|
+
function getConfig() {
|
|
26
|
+
return {
|
|
27
|
+
apiPublicKey: assertNonEmptyString(config.apiPublicKey, "apiPublicKey"),
|
|
28
|
+
apiPrivateKey: assertNonEmptyString(config.apiPrivateKey, "apiPrivateKey"),
|
|
29
|
+
baseUrl: assertNonEmptyString(config.baseUrl, "baseUrl"),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function getBrowserConfig() {
|
|
33
|
+
return {
|
|
34
|
+
baseUrl: assertNonEmptyString(browserConfig.baseUrl, "baseUrl"),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function assertNonEmptyString(input, name) {
|
|
38
|
+
if (typeof input !== "string" || !input) {
|
|
39
|
+
throw new Error(`"${name}" must be a non-empty string`);
|
|
40
|
+
}
|
|
41
|
+
return input;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.browserInit = browserInit;
|
|
45
|
+
exports.getBrowserConfig = getBrowserConfig;
|
|
46
|
+
exports.getConfig = getConfig;
|
|
47
|
+
exports.init = init;
|
|
48
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../src/config.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAwBA,MAAM,MAAM,GAAuB;AACjC,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,OAAO,EAAE,IAAI;CACd;AAED,MAAM,aAAa,GAA8B;AAC/C,IAAA,OAAO,EAAE,IAAI;CACd;AAED;;AAEG;AACG,SAAU,WAAW,CAAC,KAAqB,EAAA;IAC/C,aAAa,CAAC,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;AACxE;AAEA;;AAEG;AACG,SAAU,IAAI,CAAC,KAAc,EAAA;IACjC,MAAM,CAAC,YAAY,GAAG,oBAAoB,CACxC,KAAK,CAAC,YAAY,EAClB,cAAc,CACf;IAED,MAAM,CAAC,aAAa,GAAG,oBAAoB,CACzC,KAAK,CAAC,aAAa,EACnB,eAAe,CAChB;IACD,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;AACjE;SAEgB,SAAS,GAAA;IACvB,OAAO;QACL,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC;QACvE,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;QAC1E,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;KACzD;AACH;SAEgB,gBAAgB,GAAA;IAC9B,OAAO;QACL,OAAO,EAAE,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;KAChE;AACH;AAEA,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY,EAAA;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;AACvC,QAAA,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAA,4BAAA,CAA8B,CAAC;IACzD;AAEA,IAAA,OAAO,KAAK;AACd;;;;;;;"}
|
package/dist/config.mjs
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const config = {
|
|
2
|
+
apiPublicKey: null,
|
|
3
|
+
apiPrivateKey: null,
|
|
4
|
+
baseUrl: null,
|
|
5
|
+
};
|
|
6
|
+
const browserConfig = {
|
|
7
|
+
baseUrl: null,
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated use {@link ZeroXKeyClient} instead, which doesn't rely on global initialization logic.
|
|
11
|
+
*/
|
|
12
|
+
function browserInit(value) {
|
|
13
|
+
browserConfig.baseUrl = assertNonEmptyString(value.baseUrl, "baseUrl");
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated use {@link ZeroXKeyClient} instead, which doesn't rely on global initialization logic.
|
|
17
|
+
*/
|
|
18
|
+
function init(value) {
|
|
19
|
+
config.apiPublicKey = assertNonEmptyString(value.apiPublicKey, "apiPublicKey");
|
|
20
|
+
config.apiPrivateKey = assertNonEmptyString(value.apiPrivateKey, "apiPrivateKey");
|
|
21
|
+
config.baseUrl = assertNonEmptyString(value.baseUrl, "baseUrl");
|
|
22
|
+
}
|
|
23
|
+
function getConfig() {
|
|
24
|
+
return {
|
|
25
|
+
apiPublicKey: assertNonEmptyString(config.apiPublicKey, "apiPublicKey"),
|
|
26
|
+
apiPrivateKey: assertNonEmptyString(config.apiPrivateKey, "apiPrivateKey"),
|
|
27
|
+
baseUrl: assertNonEmptyString(config.baseUrl, "baseUrl"),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function getBrowserConfig() {
|
|
31
|
+
return {
|
|
32
|
+
baseUrl: assertNonEmptyString(browserConfig.baseUrl, "baseUrl"),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function assertNonEmptyString(input, name) {
|
|
36
|
+
if (typeof input !== "string" || !input) {
|
|
37
|
+
throw new Error(`"${name}" must be a non-empty string`);
|
|
38
|
+
}
|
|
39
|
+
return input;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { browserInit, getBrowserConfig, getConfig, init };
|
|
43
|
+
//# sourceMappingURL=config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../src/config.ts"],"sourcesContent":[null],"names":[],"mappings":"AAwBA,MAAM,MAAM,GAAuB;AACjC,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,OAAO,EAAE,IAAI;CACd;AAED,MAAM,aAAa,GAA8B;AAC/C,IAAA,OAAO,EAAE,IAAI;CACd;AAED;;AAEG;AACG,SAAU,WAAW,CAAC,KAAqB,EAAA;IAC/C,aAAa,CAAC,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;AACxE;AAEA;;AAEG;AACG,SAAU,IAAI,CAAC,KAAc,EAAA;IACjC,MAAM,CAAC,YAAY,GAAG,oBAAoB,CACxC,KAAK,CAAC,YAAY,EAClB,cAAc,CACf;IAED,MAAM,CAAC,aAAa,GAAG,oBAAoB,CACzC,KAAK,CAAC,aAAa,EACnB,eAAe,CAChB;IACD,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;AACjE;SAEgB,SAAS,GAAA;IACvB,OAAO;QACL,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC;QACvE,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;QAC1E,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;KACzD;AACH;SAEgB,gBAAgB,GAAA;IAC9B,OAAO;QACL,OAAO,EAAE,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;KAChE;AACH;AAEA,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY,EAAA;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;AACvC,QAAA,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAA,4BAAA,CAA8B,CAAC;IACzD;AAEA,IAAA,OAAO,KAAK;AACd;;;;"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
import { PublicApiService as ZeroXKeyApi } from "./__generated__/barrel";
|
|
3
|
+
/** @internal */
|
|
4
|
+
export type { definitions as ZeroXKeyApiTypes } from "./__generated__/services/coordinator/public/v1/public_api.types";
|
|
5
|
+
/** @internal */
|
|
6
|
+
export { ZeroXKeyClient } from "./__generated__/services/coordinator/public/v1/public_api.client";
|
|
7
|
+
export { init, browserInit } from "./config";
|
|
8
|
+
export { ZeroXKeyRequestError } from "./base";
|
|
9
|
+
export { assertNonNull, assertActivityCompleted, getSignatureFromActivity, getSignaturesFromActivity, getSignedTransactionFromActivity, InvalidArgumentError, ZeroXKeyActivityError, ZeroXKeyActivityConsensusNeededError, type TActivity, type TActivityId, type TActivityResponse, type TActivityStatus, type TActivityType, type TSignature, TERMINAL_ACTIVITY_STATUSES, } from "./shared";
|
|
10
|
+
export type { SignedRequest, TSignedRequest } from "./base";
|
|
11
|
+
export { getWebAuthnAttestation } from "./webauthn";
|
|
12
|
+
export { withAsyncPolling, createActivityPoller } from "./async";
|
|
13
|
+
export { ZeroXKeyApi };
|
|
14
|
+
export { sealAndStampRequestBody, isHttpClient } from "./base";
|
|
15
|
+
export { VERSION } from "./version";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGzE,gBAAgB;AAChB,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AAGvH,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAElG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,EACpB,qBAAqB,EACrB,oCAAoC,EACpC,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var public_api_fetcher = require('./__generated__/services/coordinator/public/v1/public_api.fetcher.js');
|
|
4
|
+
var public_api_client = require('./__generated__/services/coordinator/public/v1/public_api.client.js');
|
|
5
|
+
var config = require('./config.js');
|
|
6
|
+
var base = require('./base.js');
|
|
7
|
+
var shared = require('./shared.js');
|
|
8
|
+
var webauthn = require('./webauthn.js');
|
|
9
|
+
var async = require('./async.js');
|
|
10
|
+
var version = require('./version.js');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
exports.ZeroXKeyApi = public_api_fetcher;
|
|
15
|
+
exports.ZeroXKeyClient = public_api_client.ZeroXKeyClient;
|
|
16
|
+
exports.browserInit = config.browserInit;
|
|
17
|
+
exports.init = config.init;
|
|
18
|
+
exports.ZeroXKeyRequestError = base.ZeroXKeyRequestError;
|
|
19
|
+
exports.isHttpClient = base.isHttpClient;
|
|
20
|
+
exports.sealAndStampRequestBody = base.sealAndStampRequestBody;
|
|
21
|
+
exports.InvalidArgumentError = shared.InvalidArgumentError;
|
|
22
|
+
exports.TERMINAL_ACTIVITY_STATUSES = shared.TERMINAL_ACTIVITY_STATUSES;
|
|
23
|
+
exports.ZeroXKeyActivityConsensusNeededError = shared.ZeroXKeyActivityConsensusNeededError;
|
|
24
|
+
exports.ZeroXKeyActivityError = shared.ZeroXKeyActivityError;
|
|
25
|
+
exports.assertActivityCompleted = shared.assertActivityCompleted;
|
|
26
|
+
exports.assertNonNull = shared.assertNonNull;
|
|
27
|
+
exports.getSignatureFromActivity = shared.getSignatureFromActivity;
|
|
28
|
+
exports.getSignaturesFromActivity = shared.getSignaturesFromActivity;
|
|
29
|
+
exports.getSignedTransactionFromActivity = shared.getSignedTransactionFromActivity;
|
|
30
|
+
exports.getWebAuthnAttestation = webauthn.getWebAuthnAttestation;
|
|
31
|
+
exports.createActivityPoller = async.createActivityPoller;
|
|
32
|
+
exports.withAsyncPolling = async.withAsyncPolling;
|
|
33
|
+
exports.VERSION = version.VERSION;
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as public_api_fetcher from './__generated__/services/coordinator/public/v1/public_api.fetcher.mjs';
|
|
2
|
+
export { public_api_fetcher as ZeroXKeyApi };
|
|
3
|
+
export { ZeroXKeyClient } from './__generated__/services/coordinator/public/v1/public_api.client.mjs';
|
|
4
|
+
export { browserInit, init } from './config.mjs';
|
|
5
|
+
export { ZeroXKeyRequestError, isHttpClient, sealAndStampRequestBody } from './base.mjs';
|
|
6
|
+
export { InvalidArgumentError, TERMINAL_ACTIVITY_STATUSES, ZeroXKeyActivityConsensusNeededError, ZeroXKeyActivityError, assertActivityCompleted, assertNonNull, getSignatureFromActivity, getSignaturesFromActivity, getSignedTransactionFromActivity } from './shared.mjs';
|
|
7
|
+
export { getWebAuthnAttestation } from './webauthn.mjs';
|
|
8
|
+
export { createActivityPoller, withAsyncPolling } from './async.mjs';
|
|
9
|
+
export { VERSION } from './version.mjs';
|
|
10
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/dist/shared.d.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { definitions } from "./__generated__/services/coordinator/public/v1/public_api.types";
|
|
2
|
+
export type TActivity = definitions["v1Activity"];
|
|
3
|
+
export type TActivityResponse = definitions["v1ActivityResponse"];
|
|
4
|
+
export type TActivityId = TActivity["id"];
|
|
5
|
+
export type TActivityStatus = TActivity["status"];
|
|
6
|
+
export type TActivityType = TActivity["type"];
|
|
7
|
+
export type TSignature = definitions["v1SignRawPayloadResult"];
|
|
8
|
+
export type TSignedTransaction = definitions["v1SignTransactionResult"]["signedTransaction"];
|
|
9
|
+
export declare class ZeroXKeyActivityError extends Error {
|
|
10
|
+
activityId: TActivityId | undefined;
|
|
11
|
+
activityStatus: TActivityStatus | undefined;
|
|
12
|
+
activityType: TActivityType | undefined;
|
|
13
|
+
cause: Error | undefined;
|
|
14
|
+
constructor(input: {
|
|
15
|
+
message: string;
|
|
16
|
+
cause?: Error | undefined;
|
|
17
|
+
activityId?: TActivityId | undefined;
|
|
18
|
+
activityStatus?: TActivityStatus | undefined;
|
|
19
|
+
activityType?: TActivityType | undefined;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export declare class ZeroXKeyActivityConsensusNeededError extends Error {
|
|
23
|
+
activityId: TActivityId | undefined;
|
|
24
|
+
activityStatus: TActivityStatus | undefined;
|
|
25
|
+
activityType: TActivityType | undefined;
|
|
26
|
+
cause: Error | undefined;
|
|
27
|
+
constructor(input: {
|
|
28
|
+
message: string;
|
|
29
|
+
cause?: Error | undefined;
|
|
30
|
+
activityId?: TActivityId | undefined;
|
|
31
|
+
activityStatus?: TActivityStatus | undefined;
|
|
32
|
+
activityType?: TActivityType | undefined;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export declare class InvalidArgumentError extends Error {
|
|
36
|
+
activityId: TActivityId | undefined;
|
|
37
|
+
activityStatus: TActivityStatus | undefined;
|
|
38
|
+
activityType: TActivityType | undefined;
|
|
39
|
+
cause: Error | undefined;
|
|
40
|
+
constructor(input: {
|
|
41
|
+
message: string;
|
|
42
|
+
cause?: Error | undefined;
|
|
43
|
+
activityId?: TActivityId | undefined;
|
|
44
|
+
activityStatus?: TActivityStatus | undefined;
|
|
45
|
+
activityType?: TActivityType | undefined;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export declare function assertActivityCompleted(activity: TActivity): boolean;
|
|
49
|
+
export declare function stableStringify(input: Record<string, any>): string;
|
|
50
|
+
export declare function assertNonNull<T>(input: T | null | undefined): T;
|
|
51
|
+
export declare const TERMINAL_ACTIVITY_STATUSES: definitions["v1ActivityStatus"][];
|
|
52
|
+
/**
|
|
53
|
+
* This function is a helper method to easily extract a signature string from a completed signing activity.
|
|
54
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
55
|
+
*
|
|
56
|
+
* @param activity the signing activity
|
|
57
|
+
* @return signature {r, s, v}
|
|
58
|
+
*/
|
|
59
|
+
export declare function getSignatureFromActivity(activity: TActivity): TSignature;
|
|
60
|
+
/**
|
|
61
|
+
* This function is a helper method to easily extract signature strings from a completed signing activity.
|
|
62
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
63
|
+
*
|
|
64
|
+
* @param activity the signing activity
|
|
65
|
+
* @return signatures {r, s, v}[]
|
|
66
|
+
*/
|
|
67
|
+
export declare function getSignaturesFromActivity(activity: TActivity): TSignature[];
|
|
68
|
+
/**
|
|
69
|
+
* This function is a helper method to easily extract a signed transaction from a completed signing activity.
|
|
70
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
71
|
+
*
|
|
72
|
+
* @param activity the signing activity
|
|
73
|
+
* @return signed transaction string
|
|
74
|
+
*/
|
|
75
|
+
export declare function getSignedTransactionFromActivity(activity: TActivity): TSignedTransaction;
|
|
76
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.js
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class ZeroXKeyActivityError extends Error {
|
|
4
|
+
constructor(input) {
|
|
5
|
+
const { message, cause, activityId, activityStatus, activityType } = input;
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "ZeroXKeyActivityError";
|
|
8
|
+
this.activityId = activityId ?? undefined;
|
|
9
|
+
this.activityStatus = activityStatus ?? undefined;
|
|
10
|
+
this.activityType = activityType ?? undefined;
|
|
11
|
+
this.cause = cause ?? undefined;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class ZeroXKeyActivityConsensusNeededError extends Error {
|
|
15
|
+
constructor(input) {
|
|
16
|
+
const { message, cause, activityId, activityStatus, activityType } = input;
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = "ZeroXKeyActivityConsensusNeededError";
|
|
19
|
+
this.activityId = activityId ?? undefined;
|
|
20
|
+
this.activityStatus = activityStatus ?? undefined;
|
|
21
|
+
this.activityType = activityType ?? undefined;
|
|
22
|
+
this.cause = cause ?? undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
class InvalidArgumentError extends Error {
|
|
26
|
+
constructor(input) {
|
|
27
|
+
const { message, cause, activityId, activityStatus, activityType } = input;
|
|
28
|
+
super(message);
|
|
29
|
+
this.name = "InvalidArgumentError";
|
|
30
|
+
this.activityId = activityId ?? undefined;
|
|
31
|
+
this.activityStatus = activityStatus ?? undefined;
|
|
32
|
+
this.activityType = activityType ?? undefined;
|
|
33
|
+
this.cause = cause ?? undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function assertActivityCompleted(activity) {
|
|
37
|
+
const { id: activityId, status: activityStatus } = activity;
|
|
38
|
+
if (activityStatus === "ACTIVITY_STATUS_CONSENSUS_NEEDED") {
|
|
39
|
+
throw new ZeroXKeyActivityConsensusNeededError({
|
|
40
|
+
message: "Activity requires consensus",
|
|
41
|
+
activityId,
|
|
42
|
+
activityStatus,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (activityStatus !== "ACTIVITY_STATUS_COMPLETED") {
|
|
46
|
+
throw new ZeroXKeyActivityError({
|
|
47
|
+
message: `Expected COMPLETED status, got ${activityStatus}`,
|
|
48
|
+
activityId,
|
|
49
|
+
activityStatus,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
function assertNonNull(input) {
|
|
55
|
+
if (input == null) {
|
|
56
|
+
throw new Error(`Got unexpected ${JSON.stringify(input)}`);
|
|
57
|
+
}
|
|
58
|
+
return input;
|
|
59
|
+
}
|
|
60
|
+
const TERMINAL_ACTIVITY_STATUSES = [
|
|
61
|
+
"ACTIVITY_STATUS_COMPLETED",
|
|
62
|
+
"ACTIVITY_STATUS_FAILED",
|
|
63
|
+
"ACTIVITY_STATUS_REJECTED",
|
|
64
|
+
];
|
|
65
|
+
/**
|
|
66
|
+
* This function is a helper method to easily extract a signature string from a completed signing activity.
|
|
67
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
68
|
+
*
|
|
69
|
+
* @param activity the signing activity
|
|
70
|
+
* @return signature {r, s, v}
|
|
71
|
+
*/
|
|
72
|
+
function getSignatureFromActivity(activity) {
|
|
73
|
+
if (![
|
|
74
|
+
"ACTIVITY_TYPE_SIGN_RAW_PAYLOAD",
|
|
75
|
+
"ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
|
|
76
|
+
].includes(activity.type)) {
|
|
77
|
+
throw new InvalidArgumentError({
|
|
78
|
+
message: `Cannot get signature from activity type: ${activity.type}`,
|
|
79
|
+
activityId: activity.id,
|
|
80
|
+
activityStatus: activity.status,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
assertActivityCompleted(activity);
|
|
84
|
+
const signature = activity.result?.signRawPayloadResult;
|
|
85
|
+
return assertNonNull(signature);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* This function is a helper method to easily extract signature strings from a completed signing activity.
|
|
89
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
90
|
+
*
|
|
91
|
+
* @param activity the signing activity
|
|
92
|
+
* @return signatures {r, s, v}[]
|
|
93
|
+
*/
|
|
94
|
+
function getSignaturesFromActivity(activity) {
|
|
95
|
+
if (!["ACTIVITY_TYPE_SIGN_RAW_PAYLOADS"].includes(activity.type)) {
|
|
96
|
+
throw new InvalidArgumentError({
|
|
97
|
+
message: `Cannot get signature from activity type: ${activity.type}`,
|
|
98
|
+
activityId: activity.id,
|
|
99
|
+
activityStatus: activity.status,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
assertActivityCompleted(activity);
|
|
103
|
+
const { signatures } = activity.result?.signRawPayloadsResult;
|
|
104
|
+
return assertNonNull(signatures);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* This function is a helper method to easily extract a signed transaction from a completed signing activity.
|
|
108
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
109
|
+
*
|
|
110
|
+
* @param activity the signing activity
|
|
111
|
+
* @return signed transaction string
|
|
112
|
+
*/
|
|
113
|
+
function getSignedTransactionFromActivity(activity) {
|
|
114
|
+
if (![
|
|
115
|
+
"ACTIVITY_TYPE_SIGN_TRANSACTION",
|
|
116
|
+
"ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
|
|
117
|
+
].includes(activity.type)) {
|
|
118
|
+
throw new InvalidArgumentError({
|
|
119
|
+
message: `Cannot get signed transaction from activity type: ${activity.type}`,
|
|
120
|
+
activityId: activity.id,
|
|
121
|
+
activityStatus: activity.status,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
assertActivityCompleted(activity);
|
|
125
|
+
const { signedTransaction } = activity.result?.signTransactionResult;
|
|
126
|
+
return assertNonNull(`0x${signedTransaction}`);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
exports.InvalidArgumentError = InvalidArgumentError;
|
|
130
|
+
exports.TERMINAL_ACTIVITY_STATUSES = TERMINAL_ACTIVITY_STATUSES;
|
|
131
|
+
exports.ZeroXKeyActivityConsensusNeededError = ZeroXKeyActivityConsensusNeededError;
|
|
132
|
+
exports.ZeroXKeyActivityError = ZeroXKeyActivityError;
|
|
133
|
+
exports.assertActivityCompleted = assertActivityCompleted;
|
|
134
|
+
exports.assertNonNull = assertNonNull;
|
|
135
|
+
exports.getSignatureFromActivity = getSignatureFromActivity;
|
|
136
|
+
exports.getSignaturesFromActivity = getSignaturesFromActivity;
|
|
137
|
+
exports.getSignedTransactionFromActivity = getSignedTransactionFromActivity;
|
|
138
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sources":["../src/shared.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAWM,MAAO,qBAAsB,SAAQ,KAAK,CAAA;AAM9C,IAAA,WAAA,CAAY,KAMX,EAAA;AACC,QAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,KAAK;QAC1E,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,IAAI,GAAG,uBAAuB;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,SAAS;AACzC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,SAAS;AACjD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,SAAS;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS;IACjC;AACD;AAEK,MAAO,oCAAqC,SAAQ,KAAK,CAAA;AAM7D,IAAA,WAAA,CAAY,KAMX,EAAA;AACC,QAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,KAAK;QAC1E,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,IAAI,GAAG,sCAAsC;AAClD,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,SAAS;AACzC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,SAAS;AACjD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,SAAS;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS;IACjC;AACD;AAEK,MAAO,oBAAqB,SAAQ,KAAK,CAAA;AAM7C,IAAA,WAAA,CAAY,KAMX,EAAA;AACC,QAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,KAAK;QAC1E,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,IAAI,GAAG,sBAAsB;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,SAAS;AACzC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,SAAS;AACjD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,SAAS;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS;IACjC;AACD;AAEK,SAAU,uBAAuB,CAAC,QAAmB,EAAA;IACzD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ;AAE3D,IAAA,IAAI,cAAc,KAAK,kCAAkC,EAAE;QACzD,MAAM,IAAI,oCAAoC,CAAC;AAC7C,YAAA,OAAO,EAAE,6BAA6B;YACtC,UAAU;YACV,cAAc;AACf,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI,cAAc,KAAK,2BAA2B,EAAE;QAClD,MAAM,IAAI,qBAAqB,CAAC;YAC9B,OAAO,EAAE,CAAA,+BAAA,EAAkC,cAAc,CAAA,CAAE;YAC3D,UAAU;YACV,cAAc;AACf,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,IAAI;AACb;AAMM,SAAU,aAAa,CAAI,KAA2B,EAAA;AAC1D,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;IAC5D;AAEA,IAAA,OAAO,KAAK;AACd;AAEO,MAAM,0BAA0B,GAAsC;IAC3E,2BAA2B;IAC3B,wBAAwB;IACxB,0BAA0B;;AAG5B;;;;;;AAMG;AACG,SAAU,wBAAwB,CAAC,QAAmB,EAAA;AAC1D,IAAA,IACE,CAAC;QACC,gCAAgC;QAChC,mCAAmC;AACpC,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzB;QACA,MAAM,IAAI,oBAAoB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAA,yCAAA,EAA4C,QAAQ,CAAC,IAAI,CAAA,CAAE;YACpE,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,cAAc,EAAE,QAAQ,CAAC,MAAM;AAChC,SAAA,CAAC;IACJ;IAEA,uBAAuB,CAAC,QAAQ,CAAC;AAEjC,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,oBAAqB;AAExD,IAAA,OAAO,aAAa,CAAC,SAAS,CAAC;AACjC;AAEA;;;;;;AAMG;AACG,SAAU,yBAAyB,CAAC,QAAmB,EAAA;AAC3D,IAAA,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAChE,MAAM,IAAI,oBAAoB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAA,yCAAA,EAA4C,QAAQ,CAAC,IAAI,CAAA,CAAE;YACpE,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,cAAc,EAAE,QAAQ,CAAC,MAAM;AAChC,SAAA,CAAC;IACJ;IAEA,uBAAuB,CAAC,QAAQ,CAAC;IAEjC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,qBAAsB;AAE9D,IAAA,OAAO,aAAa,CAAC,UAAU,CAAC;AAClC;AAEA;;;;;;AAMG;AACG,SAAU,gCAAgC,CAC9C,QAAmB,EAAA;AAEnB,IAAA,IACE,CAAC;QACC,gCAAgC;QAChC,mCAAmC;AACpC,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzB;QACA,MAAM,IAAI,oBAAoB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAA,kDAAA,EAAqD,QAAQ,CAAC,IAAI,CAAA,CAAE;YAC7E,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,cAAc,EAAE,QAAQ,CAAC,MAAM;AAChC,SAAA,CAAC;IACJ;IAEA,uBAAuB,CAAC,QAAQ,CAAC;IAEjC,MAAM,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,qBAAsB;AAErE,IAAA,OAAO,aAAa,CAAC,CAAA,EAAA,EAAK,iBAAiB,CAAA,CAAE,CAAC;AAChD;;;;;;;;;;;;"}
|
package/dist/shared.mjs
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
class ZeroXKeyActivityError extends Error {
|
|
2
|
+
constructor(input) {
|
|
3
|
+
const { message, cause, activityId, activityStatus, activityType } = input;
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = "ZeroXKeyActivityError";
|
|
6
|
+
this.activityId = activityId ?? undefined;
|
|
7
|
+
this.activityStatus = activityStatus ?? undefined;
|
|
8
|
+
this.activityType = activityType ?? undefined;
|
|
9
|
+
this.cause = cause ?? undefined;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
class ZeroXKeyActivityConsensusNeededError extends Error {
|
|
13
|
+
constructor(input) {
|
|
14
|
+
const { message, cause, activityId, activityStatus, activityType } = input;
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "ZeroXKeyActivityConsensusNeededError";
|
|
17
|
+
this.activityId = activityId ?? undefined;
|
|
18
|
+
this.activityStatus = activityStatus ?? undefined;
|
|
19
|
+
this.activityType = activityType ?? undefined;
|
|
20
|
+
this.cause = cause ?? undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
class InvalidArgumentError extends Error {
|
|
24
|
+
constructor(input) {
|
|
25
|
+
const { message, cause, activityId, activityStatus, activityType } = input;
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = "InvalidArgumentError";
|
|
28
|
+
this.activityId = activityId ?? undefined;
|
|
29
|
+
this.activityStatus = activityStatus ?? undefined;
|
|
30
|
+
this.activityType = activityType ?? undefined;
|
|
31
|
+
this.cause = cause ?? undefined;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function assertActivityCompleted(activity) {
|
|
35
|
+
const { id: activityId, status: activityStatus } = activity;
|
|
36
|
+
if (activityStatus === "ACTIVITY_STATUS_CONSENSUS_NEEDED") {
|
|
37
|
+
throw new ZeroXKeyActivityConsensusNeededError({
|
|
38
|
+
message: "Activity requires consensus",
|
|
39
|
+
activityId,
|
|
40
|
+
activityStatus,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (activityStatus !== "ACTIVITY_STATUS_COMPLETED") {
|
|
44
|
+
throw new ZeroXKeyActivityError({
|
|
45
|
+
message: `Expected COMPLETED status, got ${activityStatus}`,
|
|
46
|
+
activityId,
|
|
47
|
+
activityStatus,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
function assertNonNull(input) {
|
|
53
|
+
if (input == null) {
|
|
54
|
+
throw new Error(`Got unexpected ${JSON.stringify(input)}`);
|
|
55
|
+
}
|
|
56
|
+
return input;
|
|
57
|
+
}
|
|
58
|
+
const TERMINAL_ACTIVITY_STATUSES = [
|
|
59
|
+
"ACTIVITY_STATUS_COMPLETED",
|
|
60
|
+
"ACTIVITY_STATUS_FAILED",
|
|
61
|
+
"ACTIVITY_STATUS_REJECTED",
|
|
62
|
+
];
|
|
63
|
+
/**
|
|
64
|
+
* This function is a helper method to easily extract a signature string from a completed signing activity.
|
|
65
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
66
|
+
*
|
|
67
|
+
* @param activity the signing activity
|
|
68
|
+
* @return signature {r, s, v}
|
|
69
|
+
*/
|
|
70
|
+
function getSignatureFromActivity(activity) {
|
|
71
|
+
if (![
|
|
72
|
+
"ACTIVITY_TYPE_SIGN_RAW_PAYLOAD",
|
|
73
|
+
"ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
|
|
74
|
+
].includes(activity.type)) {
|
|
75
|
+
throw new InvalidArgumentError({
|
|
76
|
+
message: `Cannot get signature from activity type: ${activity.type}`,
|
|
77
|
+
activityId: activity.id,
|
|
78
|
+
activityStatus: activity.status,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
assertActivityCompleted(activity);
|
|
82
|
+
const signature = activity.result?.signRawPayloadResult;
|
|
83
|
+
return assertNonNull(signature);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* This function is a helper method to easily extract signature strings from a completed signing activity.
|
|
87
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
88
|
+
*
|
|
89
|
+
* @param activity the signing activity
|
|
90
|
+
* @return signatures {r, s, v}[]
|
|
91
|
+
*/
|
|
92
|
+
function getSignaturesFromActivity(activity) {
|
|
93
|
+
if (!["ACTIVITY_TYPE_SIGN_RAW_PAYLOADS"].includes(activity.type)) {
|
|
94
|
+
throw new InvalidArgumentError({
|
|
95
|
+
message: `Cannot get signature from activity type: ${activity.type}`,
|
|
96
|
+
activityId: activity.id,
|
|
97
|
+
activityStatus: activity.status,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
assertActivityCompleted(activity);
|
|
101
|
+
const { signatures } = activity.result?.signRawPayloadsResult;
|
|
102
|
+
return assertNonNull(signatures);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* This function is a helper method to easily extract a signed transaction from a completed signing activity.
|
|
106
|
+
* Particularly useful for scenarios where a signature requires consensus
|
|
107
|
+
*
|
|
108
|
+
* @param activity the signing activity
|
|
109
|
+
* @return signed transaction string
|
|
110
|
+
*/
|
|
111
|
+
function getSignedTransactionFromActivity(activity) {
|
|
112
|
+
if (![
|
|
113
|
+
"ACTIVITY_TYPE_SIGN_TRANSACTION",
|
|
114
|
+
"ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
|
|
115
|
+
].includes(activity.type)) {
|
|
116
|
+
throw new InvalidArgumentError({
|
|
117
|
+
message: `Cannot get signed transaction from activity type: ${activity.type}`,
|
|
118
|
+
activityId: activity.id,
|
|
119
|
+
activityStatus: activity.status,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
assertActivityCompleted(activity);
|
|
123
|
+
const { signedTransaction } = activity.result?.signTransactionResult;
|
|
124
|
+
return assertNonNull(`0x${signedTransaction}`);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export { InvalidArgumentError, TERMINAL_ACTIVITY_STATUSES, ZeroXKeyActivityConsensusNeededError, ZeroXKeyActivityError, assertActivityCompleted, assertNonNull, getSignatureFromActivity, getSignaturesFromActivity, getSignedTransactionFromActivity };
|
|
128
|
+
//# sourceMappingURL=shared.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.mjs","sources":["../src/shared.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";AAIA,QAAA,MAAM,KAAK,yBAAS,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universal.js","sources":["../src/universal.ts"],"sourcesContent":[null],"names":["xFetch"],"mappings":";;;;AAAA;AAGA;AACA,MAAM,KAAK,GAAGA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universal.mjs","sources":["../src/universal.ts"],"sourcesContent":[null],"names":["xFetch"],"mappings":";;AAAA;AAGA;AACA,MAAM,KAAK,GAAGA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,0BAA0B,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAO,MAAM,OAAO,GAAG;;;;"}
|
package/dist/version.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../src/version.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CredentialCreationOptionsJSON, CredentialRequestOptionsJSON, PublicKeyCredentialWithAssertionJSON, PublicKeyCredentialWithAttestationJSON } from "./json";
|
|
2
|
+
export declare function createRequestFromJSON(requestJSON: CredentialCreationOptionsJSON): CredentialCreationOptions;
|
|
3
|
+
export declare function createResponseToJSON(credential: PublicKeyCredential): PublicKeyCredentialWithAttestationJSON;
|
|
4
|
+
export declare function create(requestJSON: CredentialCreationOptionsJSON): Promise<PublicKeyCredentialWithAttestationJSON>;
|
|
5
|
+
export declare function getRequestFromJSON(requestJSON: CredentialRequestOptionsJSON): CredentialRequestOptions;
|
|
6
|
+
export declare function getResponseToJSON(credential: PublicKeyCredential): PublicKeyCredentialWithAssertionJSON;
|
|
7
|
+
export declare function get(requestJSON: CredentialRequestOptionsJSON): Promise<PublicKeyCredentialWithAssertionJSON>;
|
|
8
|
+
declare global {
|
|
9
|
+
interface Window {
|
|
10
|
+
PublicKeyCredential: PublicKeyCredential | undefined;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/webauthn-json/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,oCAAoC,EACpC,sCAAsC,EACvC,MAAM,QAAQ,CAAC;AAQhB,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,6BAA6B,GACzC,yBAAyB,CAE3B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,mBAAmB,GAC9B,sCAAsC,CAMxC;AAED,wBAAsB,MAAM,CAC1B,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,sCAAsC,CAAC,CAKjD;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,4BAA4B,GACxC,wBAAwB,CAE1B;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,mBAAmB,GAC9B,oCAAoC,CAMtC;AAED,wBAAsB,GAAG,CACvB,WAAW,EAAE,4BAA4B,GACxC,OAAO,CAAC,oCAAoC,CAAC,CAK/C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;KACtD;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base64url = require('./base64url.js');
|
|
4
|
+
var convert = require('./convert.js');
|
|
5
|
+
var schema = require('./schema.js');
|
|
6
|
+
|
|
7
|
+
function createResponseToJSON(credential) {
|
|
8
|
+
return convert.convert(base64url.bufferToBase64url, schema.publicKeyCredentialWithAttestation, credential);
|
|
9
|
+
}
|
|
10
|
+
function getResponseToJSON(credential) {
|
|
11
|
+
return convert.convert(base64url.bufferToBase64url, schema.publicKeyCredentialWithAssertion, credential);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.createResponseToJSON = createResponseToJSON;
|
|
15
|
+
exports.getResponseToJSON = getResponseToJSON;
|
|
16
|
+
//# sourceMappingURL=api.js.map
|