@privy-io/node 0.6.2 → 0.8.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 +59 -0
- package/client.d.mts +10 -7
- package/client.d.mts.map +1 -1
- package/client.d.ts +10 -7
- package/client.d.ts.map +1 -1
- package/client.js +3 -0
- package/client.js.map +1 -1
- package/client.mjs +3 -0
- package/client.mjs.map +1 -1
- package/index.d.mts +2 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/index.mjs +2 -1
- package/index.mjs.map +1 -1
- package/lib/auth.d.mts +30 -2
- package/lib/auth.d.mts.map +1 -1
- package/lib/auth.d.ts +30 -2
- package/lib/auth.d.ts.map +1 -1
- package/lib/auth.js +14 -5
- package/lib/auth.js.map +1 -1
- package/lib/auth.mjs +11 -3
- package/lib/auth.mjs.map +1 -1
- package/lib/cryptography.d.mts +35 -3
- package/lib/cryptography.d.mts.map +1 -1
- package/lib/cryptography.d.ts +35 -3
- package/lib/cryptography.d.ts.map +1 -1
- package/lib/cryptography.js +53 -6
- package/lib/cryptography.js.map +1 -1
- package/lib/cryptography.mjs +50 -3
- package/lib/cryptography.mjs.map +1 -1
- package/lib/identity-token.d.mts.map +1 -1
- package/lib/identity-token.d.ts.map +1 -1
- package/lib/identity-token.js +0 -1
- package/lib/identity-token.js.map +1 -1
- package/lib/identity-token.mjs +0 -1
- package/lib/identity-token.mjs.map +1 -1
- package/package.json +13 -1
- package/public-api/services/utils/auth.d.mts +10 -1
- package/public-api/services/utils/auth.d.mts.map +1 -1
- package/public-api/services/utils/auth.d.ts +10 -1
- package/public-api/services/utils/auth.d.ts.map +1 -1
- package/public-api/services/utils/auth.js +16 -5
- package/public-api/services/utils/auth.js.map +1 -1
- package/public-api/services/utils/auth.mjs +17 -6
- package/public-api/services/utils/auth.mjs.map +1 -1
- package/resources/aggregations.d.mts +296 -0
- package/resources/aggregations.d.mts.map +1 -0
- package/resources/aggregations.d.ts +296 -0
- package/resources/aggregations.d.ts.map +1 -0
- package/resources/aggregations.js +9 -0
- package/resources/aggregations.js.map +1 -0
- package/resources/aggregations.mjs +5 -0
- package/resources/aggregations.mjs.map +1 -0
- package/resources/apps.d.mts +25 -0
- package/resources/apps.d.mts.map +1 -1
- package/resources/apps.d.ts +25 -0
- package/resources/apps.d.ts.map +1 -1
- package/resources/index.d.mts +4 -3
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +4 -3
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/key-quorums.d.mts +4 -1
- package/resources/key-quorums.d.mts.map +1 -1
- package/resources/key-quorums.d.ts +4 -1
- package/resources/key-quorums.d.ts.map +1 -1
- package/resources/policies.d.mts +87 -131
- package/resources/policies.d.mts.map +1 -1
- package/resources/policies.d.ts +87 -131
- package/resources/policies.d.ts.map +1 -1
- package/resources/policies.js.map +1 -1
- package/resources/policies.mjs.map +1 -1
- package/resources/users.d.mts +642 -381
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts +642 -381
- package/resources/users.d.ts.map +1 -1
- package/resources/wallets/balance.d.mts +3 -3
- package/resources/wallets/balance.d.mts.map +1 -1
- package/resources/wallets/balance.d.ts +3 -3
- package/resources/wallets/balance.d.ts.map +1 -1
- package/resources/wallets/index.d.mts +1 -1
- package/resources/wallets/index.d.mts.map +1 -1
- package/resources/wallets/index.d.ts +1 -1
- package/resources/wallets/index.d.ts.map +1 -1
- package/resources/wallets/index.js.map +1 -1
- package/resources/wallets/index.mjs.map +1 -1
- package/resources/wallets/transactions.d.mts +3 -3
- package/resources/wallets/transactions.d.mts.map +1 -1
- package/resources/wallets/transactions.d.ts +3 -3
- package/resources/wallets/transactions.d.ts.map +1 -1
- package/resources/wallets/wallets.d.mts +215 -53
- package/resources/wallets/wallets.d.mts.map +1 -1
- package/resources/wallets/wallets.d.ts +215 -53
- package/resources/wallets/wallets.d.ts.map +1 -1
- package/resources/wallets/wallets.js +1 -1
- package/resources/wallets/wallets.js.map +1 -1
- package/resources/wallets/wallets.mjs +1 -1
- package/resources/wallets/wallets.mjs.map +1 -1
- package/solana-kit.d.mts +53 -0
- package/solana-kit.d.mts.map +1 -0
- package/solana-kit.d.ts +53 -0
- package/solana-kit.d.ts.map +1 -0
- package/solana-kit.js +92 -0
- package/solana-kit.js.map +1 -0
- package/solana-kit.mjs +89 -0
- package/solana-kit.mjs.map +1 -0
- package/src/client.ts +150 -3
- package/src/index.ts +5 -0
- package/src/lib/auth.ts +42 -6
- package/src/lib/cryptography.ts +72 -3
- package/src/lib/identity-token.ts +38 -18
- package/src/public-api/services/utils/auth.ts +19 -6
- package/src/resources/aggregations.ts +497 -0
- package/src/resources/apps.ts +44 -0
- package/src/resources/index.ts +74 -2
- package/src/resources/key-quorums.ts +4 -1
- package/src/resources/policies.ts +124 -207
- package/src/resources/users.ts +942 -625
- package/src/resources/wallets/balance.ts +11 -3
- package/src/resources/wallets/index.ts +6 -0
- package/src/resources/wallets/transactions.ts +11 -3
- package/src/resources/wallets/wallets.ts +283 -52
- package/src/solana-kit.ts +148 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/index.d.mts
CHANGED
|
@@ -7,12 +7,13 @@ export { type PrivyTransactionsService } from "./public-api/services/transaction
|
|
|
7
7
|
export { type PrivyKeyQuorumsService } from "./public-api/services/key-quorums.mjs";
|
|
8
8
|
export { type PrivyUsersService } from "./public-api/services/users.mjs";
|
|
9
9
|
export { type PrivyUtils } from "./public-api/services/utils.mjs";
|
|
10
|
-
export { InvalidAuthTokenError, verifyAuthToken, type VerifyAuthTokenResponse, type VerifyAuthTokenInput, verifyIdentityToken, type VerifyIdentityTokenInput, } from "./lib/auth.mjs";
|
|
10
|
+
export { InvalidAuthTokenError, verifyAccessToken, type VerifyAccessTokenResponse, type VerifyAccessTokenInput, verifyAuthToken, type VerifyAuthTokenResponse, type VerifyAuthTokenInput, verifyIdentityToken, type VerifyIdentityTokenInput, } from "./lib/auth.mjs";
|
|
11
11
|
export { type User, type LinkedAccountEmbeddedWallet } from "./resources/users.mjs";
|
|
12
12
|
export { type Wallet } from "./resources/wallets.mjs";
|
|
13
13
|
export { type Policy } from "./resources/policies.mjs";
|
|
14
14
|
export { type KeyQuorum } from "./resources/key-quorums.mjs";
|
|
15
15
|
export { type AuthorizationContext, type WalletApiRequestSignatureInput, formatRequestForAuthorizationSignature, generateAuthorizationSignature, generateAuthorizationSignatures, } from "./lib/authorization.mjs";
|
|
16
|
+
export { generateP256KeyPair, type P256KeyPair } from "./lib/cryptography.mjs";
|
|
16
17
|
export { type EmbeddedWalletLinkedAccount, isEmbeddedWalletLinkedAccount } from "./lib/user-utils.mjs";
|
|
17
18
|
export { APIPromise } from "./core/api-promise.mjs";
|
|
18
19
|
export { PrivyAPIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, } from "./core/error.mjs";
|
package/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE;OACxC,EAAE,KAAK,mBAAmB,EAAE;OAC5B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,kBAAkB,EAAE;OAC3B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,wBAAwB,EAAE;OACjC,EAAE,KAAK,sBAAsB,EAAE;OAC/B,EAAE,KAAK,iBAAiB,EAAE;OAC1B,EAAE,KAAK,UAAU,EAAE;OACnB,EACL,qBAAqB,EACrB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B;OAEM,EAAE,KAAK,IAAI,EAAE,KAAK,2BAA2B,EAAE;OAC/C,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,SAAS,EAAE;OAElB,EACL,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,GAChC;OAEM,EAAE,KAAK,2BAA2B,EAAE,6BAA6B,EAAE;OAEnE,EAAE,UAAU,EAAE;OACd,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE;OACxC,EAAE,KAAK,mBAAmB,EAAE;OAC5B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,kBAAkB,EAAE;OAC3B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,wBAAwB,EAAE;OACjC,EAAE,KAAK,sBAAsB,EAAE;OAC/B,EAAE,KAAK,iBAAiB,EAAE;OAC1B,EAAE,KAAK,UAAU,EAAE;OACnB,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B;OAEM,EAAE,KAAK,IAAI,EAAE,KAAK,2BAA2B,EAAE;OAC/C,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,SAAS,EAAE;OAElB,EACL,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,GAChC;OAEM,EAAE,mBAAmB,EAAE,KAAK,WAAW,EAAE;OAEzC,EAAE,KAAK,2BAA2B,EAAE,6BAA6B,EAAE;OAEnE,EAAE,UAAU,EAAE;OACd,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB"}
|
package/index.d.ts
CHANGED
|
@@ -7,12 +7,13 @@ export { type PrivyTransactionsService } from "./public-api/services/transaction
|
|
|
7
7
|
export { type PrivyKeyQuorumsService } from "./public-api/services/key-quorums.js";
|
|
8
8
|
export { type PrivyUsersService } from "./public-api/services/users.js";
|
|
9
9
|
export { type PrivyUtils } from "./public-api/services/utils.js";
|
|
10
|
-
export { InvalidAuthTokenError, verifyAuthToken, type VerifyAuthTokenResponse, type VerifyAuthTokenInput, verifyIdentityToken, type VerifyIdentityTokenInput, } from "./lib/auth.js";
|
|
10
|
+
export { InvalidAuthTokenError, verifyAccessToken, type VerifyAccessTokenResponse, type VerifyAccessTokenInput, verifyAuthToken, type VerifyAuthTokenResponse, type VerifyAuthTokenInput, verifyIdentityToken, type VerifyIdentityTokenInput, } from "./lib/auth.js";
|
|
11
11
|
export { type User, type LinkedAccountEmbeddedWallet } from "./resources/users.js";
|
|
12
12
|
export { type Wallet } from "./resources/wallets.js";
|
|
13
13
|
export { type Policy } from "./resources/policies.js";
|
|
14
14
|
export { type KeyQuorum } from "./resources/key-quorums.js";
|
|
15
15
|
export { type AuthorizationContext, type WalletApiRequestSignatureInput, formatRequestForAuthorizationSignature, generateAuthorizationSignature, generateAuthorizationSignatures, } from "./lib/authorization.js";
|
|
16
|
+
export { generateP256KeyPair, type P256KeyPair } from "./lib/cryptography.js";
|
|
16
17
|
export { type EmbeddedWalletLinkedAccount, isEmbeddedWalletLinkedAccount } from "./lib/user-utils.js";
|
|
17
18
|
export { APIPromise } from "./core/api-promise.js";
|
|
18
19
|
export { PrivyAPIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, } from "./core/error.js";
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE;OACxC,EAAE,KAAK,mBAAmB,EAAE;OAC5B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,kBAAkB,EAAE;OAC3B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,wBAAwB,EAAE;OACjC,EAAE,KAAK,sBAAsB,EAAE;OAC/B,EAAE,KAAK,iBAAiB,EAAE;OAC1B,EAAE,KAAK,UAAU,EAAE;OACnB,EACL,qBAAqB,EACrB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B;OAEM,EAAE,KAAK,IAAI,EAAE,KAAK,2BAA2B,EAAE;OAC/C,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,SAAS,EAAE;OAElB,EACL,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,GAChC;OAEM,EAAE,KAAK,2BAA2B,EAAE,6BAA6B,EAAE;OAEnE,EAAE,UAAU,EAAE;OACd,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE;OACxC,EAAE,KAAK,mBAAmB,EAAE;OAC5B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,kBAAkB,EAAE;OAC3B,EAAE,KAAK,oBAAoB,EAAE;OAC7B,EAAE,KAAK,wBAAwB,EAAE;OACjC,EAAE,KAAK,sBAAsB,EAAE;OAC/B,EAAE,KAAK,iBAAiB,EAAE;OAC1B,EAAE,KAAK,UAAU,EAAE;OACnB,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B;OAEM,EAAE,KAAK,IAAI,EAAE,KAAK,2BAA2B,EAAE;OAC/C,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,MAAM,EAAE;OACf,EAAE,KAAK,SAAS,EAAE;OAElB,EACL,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,GAChC;OAEM,EAAE,mBAAmB,EAAE,KAAK,WAAW,EAAE;OAEzC,EAAE,KAAK,2BAA2B,EAAE,6BAA6B,EAAE;OAEnE,EAAE,UAAU,EAAE;OACd,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB"}
|
package/index.js
CHANGED
|
@@ -3,17 +3,20 @@ exports = module.exports = function (...args) {
|
|
|
3
3
|
return new exports.default(...args)
|
|
4
4
|
}
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.PrivyAPIError = exports.APIPromise = exports.isEmbeddedWalletLinkedAccount = exports.generateAuthorizationSignatures = exports.generateAuthorizationSignature = exports.formatRequestForAuthorizationSignature = exports.verifyIdentityToken = exports.verifyAuthToken = exports.InvalidAuthTokenError = exports.PrivyClient = void 0;
|
|
6
|
+
exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.PrivyAPIError = exports.APIPromise = exports.isEmbeddedWalletLinkedAccount = exports.generateP256KeyPair = exports.generateAuthorizationSignatures = exports.generateAuthorizationSignature = exports.formatRequestForAuthorizationSignature = exports.verifyIdentityToken = exports.verifyAuthToken = exports.verifyAccessToken = exports.InvalidAuthTokenError = exports.PrivyClient = void 0;
|
|
7
7
|
var PrivyClient_1 = require("./public-api/PrivyClient.js");
|
|
8
8
|
Object.defineProperty(exports, "PrivyClient", { enumerable: true, get: function () { return PrivyClient_1.PrivyClient; } });
|
|
9
9
|
var auth_1 = require("./lib/auth.js");
|
|
10
10
|
Object.defineProperty(exports, "InvalidAuthTokenError", { enumerable: true, get: function () { return auth_1.InvalidAuthTokenError; } });
|
|
11
|
+
Object.defineProperty(exports, "verifyAccessToken", { enumerable: true, get: function () { return auth_1.verifyAccessToken; } });
|
|
11
12
|
Object.defineProperty(exports, "verifyAuthToken", { enumerable: true, get: function () { return auth_1.verifyAuthToken; } });
|
|
12
13
|
Object.defineProperty(exports, "verifyIdentityToken", { enumerable: true, get: function () { return auth_1.verifyIdentityToken; } });
|
|
13
14
|
var authorization_1 = require("./lib/authorization.js");
|
|
14
15
|
Object.defineProperty(exports, "formatRequestForAuthorizationSignature", { enumerable: true, get: function () { return authorization_1.formatRequestForAuthorizationSignature; } });
|
|
15
16
|
Object.defineProperty(exports, "generateAuthorizationSignature", { enumerable: true, get: function () { return authorization_1.generateAuthorizationSignature; } });
|
|
16
17
|
Object.defineProperty(exports, "generateAuthorizationSignatures", { enumerable: true, get: function () { return authorization_1.generateAuthorizationSignatures; } });
|
|
18
|
+
var cryptography_1 = require("./lib/cryptography.js");
|
|
19
|
+
Object.defineProperty(exports, "generateP256KeyPair", { enumerable: true, get: function () { return cryptography_1.generateP256KeyPair; } });
|
|
17
20
|
var user_utils_1 = require("./lib/user-utils.js");
|
|
18
21
|
Object.defineProperty(exports, "isEmbeddedWalletLinkedAccount", { enumerable: true, get: function () { return user_utils_1.isEmbeddedWalletLinkedAccount; } });
|
|
19
22
|
var api_promise_1 = require("./core/api-promise.js");
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgF;AAAvE,0GAAA,WAAW,OAAA;AASpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgF;AAAvE,0GAAA,WAAW,OAAA;AASpB,sCAUoB;AATlB,6GAAA,qBAAqB,OAAA;AACrB,yGAAA,iBAAiB,OAAA;AAGjB,uGAAA,eAAe,OAAA;AAGf,2GAAA,mBAAmB,OAAA;AASrB,wDAM6B;AAH3B,uIAAA,sCAAsC,OAAA;AACtC,+HAAA,8BAA8B,OAAA;AAC9B,gIAAA,+BAA+B,OAAA;AAGjC,sDAA2E;AAAlE,mHAAA,mBAAmB,OAAA;AAE5B,kDAAmG;AAAxD,2HAAA,6BAA6B,OAAA;AAExE,qDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,yCAcsB;AAbpB,sGAAA,aAAa,OAAA;AACb,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,iHAAA,wBAAwB,OAAA"}
|
package/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { PrivyClient } from "./public-api/PrivyClient.mjs";
|
|
2
|
-
export { InvalidAuthTokenError, verifyAuthToken, verifyIdentityToken, } from "./lib/auth.mjs";
|
|
2
|
+
export { InvalidAuthTokenError, verifyAccessToken, verifyAuthToken, verifyIdentityToken, } from "./lib/auth.mjs";
|
|
3
3
|
export { formatRequestForAuthorizationSignature, generateAuthorizationSignature, generateAuthorizationSignatures, } from "./lib/authorization.mjs";
|
|
4
|
+
export { generateP256KeyPair } from "./lib/cryptography.mjs";
|
|
4
5
|
export { isEmbeddedWalletLinkedAccount } from "./lib/user-utils.mjs";
|
|
5
6
|
export { APIPromise } from "./core/api-promise.mjs";
|
|
6
7
|
export { PrivyAPIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, } from "./core/error.mjs";
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAA2B;OASxC,EACL,qBAAqB,EACrB,eAAe,EAGf,mBAAmB,GAEpB;OAOM,EAGL,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,GAChC;OAEM,EAAoC,6BAA6B,EAAE;OAEnE,EAAE,UAAU,EAAE;OACd,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAA2B;OASxC,EACL,qBAAqB,EACrB,iBAAiB,EAGjB,eAAe,EAGf,mBAAmB,GAEpB;OAOM,EAGL,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,GAChC;OAEM,EAAE,mBAAmB,EAAoB;OAEzC,EAAoC,6BAA6B,EAAE;OAEnE,EAAE,UAAU,EAAE;OACd,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB"}
|
package/lib/auth.d.mts
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { CryptoKey, JWTVerifyGetKey } from 'jose';
|
|
2
2
|
import { PrivyAPIError } from "../core/error.mjs";
|
|
3
3
|
import { User } from "../resources.mjs";
|
|
4
|
+
export type VerifyAccessTokenInput = {
|
|
5
|
+
/** The access token to verify. */
|
|
6
|
+
access_token: string;
|
|
7
|
+
/** The Privy app ID to verify the token against. */
|
|
8
|
+
app_id: string;
|
|
9
|
+
/**
|
|
10
|
+
* The verification key to use to verify the token, or a mechanism to get the it such as via JWKS.
|
|
11
|
+
* You can find this verification key (or a JWKS endpoint) in the Privy dashboard.
|
|
12
|
+
* @see {@link createRemoteJWKSet}
|
|
13
|
+
* @see {@link importSPKI}
|
|
14
|
+
*/
|
|
15
|
+
verification_key: CryptoKey | JWTVerifyGetKey | string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use `VerifyAccessTokenInput` instead.
|
|
19
|
+
*/
|
|
4
20
|
export type VerifyAuthTokenInput = {
|
|
5
21
|
/** The authentication token to verify. */
|
|
6
22
|
auth_token: string;
|
|
@@ -14,7 +30,7 @@ export type VerifyAuthTokenInput = {
|
|
|
14
30
|
*/
|
|
15
31
|
verification_key: CryptoKey | JWTVerifyGetKey | string;
|
|
16
32
|
};
|
|
17
|
-
export type
|
|
33
|
+
export type VerifyAccessTokenResponse = {
|
|
18
34
|
/** The Privy app ID for which the token was issued. */
|
|
19
35
|
app_id: string;
|
|
20
36
|
/** The issuer of the token. */
|
|
@@ -28,13 +44,25 @@ export type VerifyAuthTokenResponse = {
|
|
|
28
44
|
/** The ID of the user for which the token was issued. */
|
|
29
45
|
user_id: string;
|
|
30
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated Use `VerifyAccessTokenResponse` instead.
|
|
49
|
+
*/
|
|
50
|
+
export type VerifyAuthTokenResponse = VerifyAccessTokenResponse;
|
|
51
|
+
/**
|
|
52
|
+
* Verifies a Privy-issued access token.
|
|
53
|
+
*
|
|
54
|
+
* @returns The payload of the token if it is valid.
|
|
55
|
+
* @throws If the token is invalid.
|
|
56
|
+
*/
|
|
57
|
+
export declare function verifyAccessToken({ access_token: accessToken, app_id: appId, verification_key: verificationKeyOrString, }: VerifyAccessTokenInput): Promise<VerifyAccessTokenResponse>;
|
|
31
58
|
/**
|
|
32
59
|
* Verifies a Privy-issued authentication token.
|
|
33
60
|
*
|
|
34
61
|
* @returns The payload of the token if it is valid.
|
|
35
62
|
* @throws If the token is invalid.
|
|
63
|
+
* @deprecated Use `verifyAccessToken` instead.
|
|
36
64
|
*/
|
|
37
|
-
export declare
|
|
65
|
+
export declare const verifyAuthToken: ({ auth_token, app_id, verification_key, }: VerifyAuthTokenInput) => Promise<VerifyAuthTokenResponse>;
|
|
38
66
|
export type VerifyIdentityTokenInput = {
|
|
39
67
|
/** The identity token to verify. */
|
|
40
68
|
identity_token: string;
|
package/lib/auth.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.mts","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":"OAAO,EAEL,SAAS,EAIT,eAAe,EAEhB,MAAM,MAAM;OACN,EAAE,aAAa,EAAE;OAEjB,EAAE,IAAI,EAAE;AAKf,MAAM,MAAM,oBAAoB,GAAG;IACjC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.mts","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":"OAAO,EAEL,SAAS,EAIT,eAAe,EAEhB,MAAM,MAAM;OACN,EAAE,aAAa,EAAE;OAEjB,EAAE,IAAI,EAAE;AAKf,MAAM,MAAM,sBAAsB,GAAG;IACnC,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAkChE;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,KAAK,EACb,gBAAgB,EAAE,uBAAuB,GAC1C,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAc7D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,2CAI7B,oBAAoB,KAAG,OAAO,CAAC,uBAAuB,CACkB,CAAC;AAE5E,MAAM,MAAM,wBAAwB,GAAG;IACrC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,cAAc,EAAE,aAAa,EAC7B,MAAM,EAAE,KAAK,EACb,gBAAgB,EAAE,uBAAuB,GAC1C,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1C;AAED,qBAAa,qBAAsB,SAAQ,aAAa;CAAG;AAgC3D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACN,OAAO,EACP,uBAAuB,GACxB,EAAE,uBAAuB,GAAG,YAAY,CAsBxC"}
|
package/lib/auth.d.ts
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { CryptoKey, JWTVerifyGetKey } from 'jose';
|
|
2
2
|
import { PrivyAPIError } from "../core/error.js";
|
|
3
3
|
import { User } from "../resources.js";
|
|
4
|
+
export type VerifyAccessTokenInput = {
|
|
5
|
+
/** The access token to verify. */
|
|
6
|
+
access_token: string;
|
|
7
|
+
/** The Privy app ID to verify the token against. */
|
|
8
|
+
app_id: string;
|
|
9
|
+
/**
|
|
10
|
+
* The verification key to use to verify the token, or a mechanism to get the it such as via JWKS.
|
|
11
|
+
* You can find this verification key (or a JWKS endpoint) in the Privy dashboard.
|
|
12
|
+
* @see {@link createRemoteJWKSet}
|
|
13
|
+
* @see {@link importSPKI}
|
|
14
|
+
*/
|
|
15
|
+
verification_key: CryptoKey | JWTVerifyGetKey | string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use `VerifyAccessTokenInput` instead.
|
|
19
|
+
*/
|
|
4
20
|
export type VerifyAuthTokenInput = {
|
|
5
21
|
/** The authentication token to verify. */
|
|
6
22
|
auth_token: string;
|
|
@@ -14,7 +30,7 @@ export type VerifyAuthTokenInput = {
|
|
|
14
30
|
*/
|
|
15
31
|
verification_key: CryptoKey | JWTVerifyGetKey | string;
|
|
16
32
|
};
|
|
17
|
-
export type
|
|
33
|
+
export type VerifyAccessTokenResponse = {
|
|
18
34
|
/** The Privy app ID for which the token was issued. */
|
|
19
35
|
app_id: string;
|
|
20
36
|
/** The issuer of the token. */
|
|
@@ -28,13 +44,25 @@ export type VerifyAuthTokenResponse = {
|
|
|
28
44
|
/** The ID of the user for which the token was issued. */
|
|
29
45
|
user_id: string;
|
|
30
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated Use `VerifyAccessTokenResponse` instead.
|
|
49
|
+
*/
|
|
50
|
+
export type VerifyAuthTokenResponse = VerifyAccessTokenResponse;
|
|
51
|
+
/**
|
|
52
|
+
* Verifies a Privy-issued access token.
|
|
53
|
+
*
|
|
54
|
+
* @returns The payload of the token if it is valid.
|
|
55
|
+
* @throws If the token is invalid.
|
|
56
|
+
*/
|
|
57
|
+
export declare function verifyAccessToken({ access_token: accessToken, app_id: appId, verification_key: verificationKeyOrString, }: VerifyAccessTokenInput): Promise<VerifyAccessTokenResponse>;
|
|
31
58
|
/**
|
|
32
59
|
* Verifies a Privy-issued authentication token.
|
|
33
60
|
*
|
|
34
61
|
* @returns The payload of the token if it is valid.
|
|
35
62
|
* @throws If the token is invalid.
|
|
63
|
+
* @deprecated Use `verifyAccessToken` instead.
|
|
36
64
|
*/
|
|
37
|
-
export declare
|
|
65
|
+
export declare const verifyAuthToken: ({ auth_token, app_id, verification_key, }: VerifyAuthTokenInput) => Promise<VerifyAuthTokenResponse>;
|
|
38
66
|
export type VerifyIdentityTokenInput = {
|
|
39
67
|
/** The identity token to verify. */
|
|
40
68
|
identity_token: string;
|
package/lib/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":"OAAO,EAEL,SAAS,EAIT,eAAe,EAEhB,MAAM,MAAM;OACN,EAAE,aAAa,EAAE;OAEjB,EAAE,IAAI,EAAE;AAKf,MAAM,MAAM,oBAAoB,GAAG;IACjC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":"OAAO,EAEL,SAAS,EAIT,eAAe,EAEhB,MAAM,MAAM;OACN,EAAE,aAAa,EAAE;OAEjB,EAAE,IAAI,EAAE;AAKf,MAAM,MAAM,sBAAsB,GAAG;IACnC,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAkChE;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,KAAK,EACb,gBAAgB,EAAE,uBAAuB,GAC1C,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAc7D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,2CAI7B,oBAAoB,KAAG,OAAO,CAAC,uBAAuB,CACkB,CAAC;AAE5E,MAAM,MAAM,wBAAwB,GAAG;IACrC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,cAAc,EAAE,aAAa,EAC7B,MAAM,EAAE,KAAK,EACb,gBAAgB,EAAE,uBAAuB,GAC1C,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1C;AAED,qBAAa,qBAAsB,SAAQ,aAAa;CAAG;AAgC3D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACN,OAAO,EACP,uBAAuB,GACxB,EAAE,uBAAuB,GAAG,YAAY,CAsBxC"}
|
package/lib/auth.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InvalidAuthTokenError = void 0;
|
|
4
|
-
exports.
|
|
3
|
+
exports.InvalidAuthTokenError = exports.verifyAuthToken = void 0;
|
|
4
|
+
exports.verifyAccessToken = verifyAccessToken;
|
|
5
5
|
exports.verifyIdentityToken = verifyIdentityToken;
|
|
6
6
|
exports.createPrivyAppJWKS = createPrivyAppJWKS;
|
|
7
7
|
const jose_1 = require("jose");
|
|
@@ -37,16 +37,16 @@ async function verifyPrivyIssuedJwt(jwt, appId, verificationKey) {
|
|
|
37
37
|
return verifiedToken;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
* Verifies a Privy-issued
|
|
40
|
+
* Verifies a Privy-issued access token.
|
|
41
41
|
*
|
|
42
42
|
* @returns The payload of the token if it is valid.
|
|
43
43
|
* @throws If the token is invalid.
|
|
44
44
|
*/
|
|
45
|
-
async function
|
|
45
|
+
async function verifyAccessToken({ access_token: accessToken, app_id: appId, verification_key: verificationKeyOrString, }) {
|
|
46
46
|
const verificationKey = typeof verificationKeyOrString === 'string' ?
|
|
47
47
|
await (0, jose_1.importSPKI)(verificationKeyOrString, JWT_ALGORITHM)
|
|
48
48
|
: verificationKeyOrString;
|
|
49
|
-
const verifiedToken = await verifyPrivyIssuedJwt(
|
|
49
|
+
const verifiedToken = await verifyPrivyIssuedJwt(accessToken, appId, verificationKey);
|
|
50
50
|
return {
|
|
51
51
|
app_id: throwIfNotString(verifiedToken.payload.aud),
|
|
52
52
|
issuer: throwIfNotString(verifiedToken.payload.iss),
|
|
@@ -56,6 +56,15 @@ async function verifyAuthToken({ auth_token: authToken, app_id: appId, verificat
|
|
|
56
56
|
user_id: throwIfNotString(verifiedToken.payload.sub),
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Verifies a Privy-issued authentication token.
|
|
61
|
+
*
|
|
62
|
+
* @returns The payload of the token if it is valid.
|
|
63
|
+
* @throws If the token is invalid.
|
|
64
|
+
* @deprecated Use `verifyAccessToken` instead.
|
|
65
|
+
*/
|
|
66
|
+
const verifyAuthToken = ({ auth_token, app_id, verification_key, }) => verifyAccessToken({ access_token: auth_token, app_id, verification_key });
|
|
67
|
+
exports.verifyAuthToken = verifyAuthToken;
|
|
59
68
|
/**
|
|
60
69
|
* Verifies an identity token, parsing it into a `User` object if it is valid.
|
|
61
70
|
*
|
package/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":";;;AAyGA,8CAkBC;AAoCD,kDAgBC;AA2CD,gDA2BC;AArPD,+BAQc;AACd,4CAA8C;AAC9C,wDAAqE;AAGrE,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAqD9B;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CACjC,GAAW,EACX,KAAa,EACb,eAA4C;IAE5C,qEAAqE;IACrE,IAAI,aAA8B,CAAC;IACnC,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,aAAa,GAAG,MAAM,IAAA,gBAAS,EAAC,GAAG,EAAE,eAAe,EAAE;YACpD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,MAAM,IAAA,gBAAS,EAAC,GAAG,EAAE,eAAe,EAAE;YACpD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CAAC,EACtC,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,KAAK,EACb,gBAAgB,EAAE,uBAAuB,GAClB;IACvB,MAAM,eAAe,GACnB,OAAO,uBAAuB,KAAK,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC;QAC1D,CAAC,CAAC,uBAAuB,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACtF,OAAO;QACL,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,SAAS,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;QACtD,UAAU,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;QACvD,UAAU,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;KACrD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,gBAAgB,GACK,EAAoC,EAAE,CAC3D,iBAAiB,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAL/D,QAAA,eAAe,mBAKgD;AAgB5E;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CAAC,EACxC,cAAc,EAAE,aAAa,EAC7B,MAAM,EAAE,KAAK,EACb,gBAAgB,EAAE,uBAAuB,GAChB;IACzB,MAAM,eAAe,GACnB,OAAO,uBAAuB,KAAK,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC;QAC1D,CAAC,CAAC,uBAAuB,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAExF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,qBAAqB,CAAC,gCAAgC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAA,kDAAiC,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAa,qBAAsB,SAAQ,qBAAa;CAAG;AAA3D,sDAA2D;AAE3D,sEAAsE;AACtE,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,aAAU,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,KAAK,YAAY,aAAU,CAAC,wBAAwB,IAAI,KAAK,YAAY,aAAU,CAAC,UAAU,EAAE,CAAC;QAC1G,MAAM,IAAI,qBAAqB,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,qBAAqB,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAWD,SAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACN,OAAO,EACP,uBAAuB,GACC;IACxB,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QAC1C,4DAA4D;QAC5D,IAAI,eAA0B,CAAC;QAC/B,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,qBAAqB,CAAC,yDAAyD,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,YAAY,KAAK,YAAY,CAAC,CAAC;IAC5D,OAAO,IAAA,yBAAkB,EAAC,GAAG,EAAE;QAC7B,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;QAC1C,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;QAC/C,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
package/lib/auth.mjs
CHANGED
|
@@ -31,16 +31,16 @@ async function verifyPrivyIssuedJwt(jwt, appId, verificationKey) {
|
|
|
31
31
|
return verifiedToken;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Verifies a Privy-issued
|
|
34
|
+
* Verifies a Privy-issued access token.
|
|
35
35
|
*
|
|
36
36
|
* @returns The payload of the token if it is valid.
|
|
37
37
|
* @throws If the token is invalid.
|
|
38
38
|
*/
|
|
39
|
-
export async function
|
|
39
|
+
export async function verifyAccessToken({ access_token: accessToken, app_id: appId, verification_key: verificationKeyOrString, }) {
|
|
40
40
|
const verificationKey = typeof verificationKeyOrString === 'string' ?
|
|
41
41
|
await importSPKI(verificationKeyOrString, JWT_ALGORITHM)
|
|
42
42
|
: verificationKeyOrString;
|
|
43
|
-
const verifiedToken = await verifyPrivyIssuedJwt(
|
|
43
|
+
const verifiedToken = await verifyPrivyIssuedJwt(accessToken, appId, verificationKey);
|
|
44
44
|
return {
|
|
45
45
|
app_id: throwIfNotString(verifiedToken.payload.aud),
|
|
46
46
|
issuer: throwIfNotString(verifiedToken.payload.iss),
|
|
@@ -50,6 +50,14 @@ export async function verifyAuthToken({ auth_token: authToken, app_id: appId, ve
|
|
|
50
50
|
user_id: throwIfNotString(verifiedToken.payload.sub),
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Verifies a Privy-issued authentication token.
|
|
55
|
+
*
|
|
56
|
+
* @returns The payload of the token if it is valid.
|
|
57
|
+
* @throws If the token is invalid.
|
|
58
|
+
* @deprecated Use `verifyAccessToken` instead.
|
|
59
|
+
*/
|
|
60
|
+
export const verifyAuthToken = ({ auth_token, app_id, verification_key, }) => verifyAccessToken({ access_token: auth_token, app_id, verification_key });
|
|
53
61
|
/**
|
|
54
62
|
* Verifies an identity token, parsing it into a `User` object if it is valid.
|
|
55
63
|
*
|
package/lib/auth.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.mjs","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":"OAAO,EACL,kBAAkB,EAElB,UAAU,EACV,MAAM,IAAI,UAAU,EACpB,SAAS,GAGV,MAAM,MAAM;OACN,EAAE,aAAa,EAAE;OACjB,EAAE,iCAAiC,EAAE;AAG5C,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.mjs","sourceRoot":"","sources":["../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
package/lib/cryptography.d.mts
CHANGED
|
@@ -1,3 +1,38 @@
|
|
|
1
|
+
export interface P256KeyPair {
|
|
2
|
+
/**
|
|
3
|
+
* The base64-encoded SPKI-formatted public key, with no PEM headers.
|
|
4
|
+
*
|
|
5
|
+
* This is the format accepted by Privy when specifying a P-256 public key owner.
|
|
6
|
+
*/
|
|
7
|
+
publicKey: string;
|
|
8
|
+
/**
|
|
9
|
+
* The base64-encoded PKCS8-formatted private key, with no PEM headers.
|
|
10
|
+
*
|
|
11
|
+
* This is the format accepted by {@link AuthorizationContext.authorization_private_keys} and
|
|
12
|
+
* {@link generateAuthorizationSignature}.
|
|
13
|
+
*/
|
|
14
|
+
privateKey: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generates a P-256 key pair suitable for Privy resource ownership and request
|
|
18
|
+
* authorization signing.
|
|
19
|
+
*
|
|
20
|
+
* @returns A P-256 key pair, in base64-encoded DER format.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const keypair = await generateP256KeyPair();
|
|
24
|
+
* const wallet = await privy.wallets().create({
|
|
25
|
+
* chain_type: '...',
|
|
26
|
+
* owner: { public_key: keypair.publicKey },
|
|
27
|
+
* });
|
|
28
|
+
* const response = await privy.wallets().rawSign(wallet.id, {
|
|
29
|
+
* params: { hash: '...' },
|
|
30
|
+
* authorization_context: {
|
|
31
|
+
* authorization_private_keys: [keypair.privateKey]
|
|
32
|
+
* },
|
|
33
|
+
* });
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateP256KeyPair(): Promise<P256KeyPair>;
|
|
1
36
|
export declare namespace HPKESender {
|
|
2
37
|
interface EncryptPayloadOutput {
|
|
3
38
|
ciphertext: Uint8Array;
|
|
@@ -5,7 +40,4 @@ export declare namespace HPKESender {
|
|
|
5
40
|
}
|
|
6
41
|
}
|
|
7
42
|
export declare function setupHPKESender(): Promise<HPKESender>;
|
|
8
|
-
/** This prefix is no longer used, but we need to support existing keys */
|
|
9
|
-
export declare const WALLET_API_PRIVATE_KEY_PREFIX = "wallet-api:";
|
|
10
|
-
export declare const AUTHORIZATION_PRIVATE_KEY_PREFIX = "wallet-auth:";
|
|
11
43
|
//# sourceMappingURL=cryptography.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptography.d.mts","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cryptography.d.mts","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,CAahE;AAiFD,yBAAiB,UAAU,CAAC;IAC1B,UAAiB,oBAAoB;QACnC,UAAU,EAAE,UAAU,CAAC;QACvB,eAAe,EAAE,UAAU,CAAC;KAC7B;CACF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAsB3D"}
|
package/lib/cryptography.d.ts
CHANGED
|
@@ -1,3 +1,38 @@
|
|
|
1
|
+
export interface P256KeyPair {
|
|
2
|
+
/**
|
|
3
|
+
* The base64-encoded SPKI-formatted public key, with no PEM headers.
|
|
4
|
+
*
|
|
5
|
+
* This is the format accepted by Privy when specifying a P-256 public key owner.
|
|
6
|
+
*/
|
|
7
|
+
publicKey: string;
|
|
8
|
+
/**
|
|
9
|
+
* The base64-encoded PKCS8-formatted private key, with no PEM headers.
|
|
10
|
+
*
|
|
11
|
+
* This is the format accepted by {@link AuthorizationContext.authorization_private_keys} and
|
|
12
|
+
* {@link generateAuthorizationSignature}.
|
|
13
|
+
*/
|
|
14
|
+
privateKey: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generates a P-256 key pair suitable for Privy resource ownership and request
|
|
18
|
+
* authorization signing.
|
|
19
|
+
*
|
|
20
|
+
* @returns A P-256 key pair, in base64-encoded DER format.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const keypair = await generateP256KeyPair();
|
|
24
|
+
* const wallet = await privy.wallets().create({
|
|
25
|
+
* chain_type: '...',
|
|
26
|
+
* owner: { public_key: keypair.publicKey },
|
|
27
|
+
* });
|
|
28
|
+
* const response = await privy.wallets().rawSign(wallet.id, {
|
|
29
|
+
* params: { hash: '...' },
|
|
30
|
+
* authorization_context: {
|
|
31
|
+
* authorization_private_keys: [keypair.privateKey]
|
|
32
|
+
* },
|
|
33
|
+
* });
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateP256KeyPair(): Promise<P256KeyPair>;
|
|
1
36
|
export declare namespace HPKESender {
|
|
2
37
|
interface EncryptPayloadOutput {
|
|
3
38
|
ciphertext: Uint8Array;
|
|
@@ -5,7 +40,4 @@ export declare namespace HPKESender {
|
|
|
5
40
|
}
|
|
6
41
|
}
|
|
7
42
|
export declare function setupHPKESender(): Promise<HPKESender>;
|
|
8
|
-
/** This prefix is no longer used, but we need to support existing keys */
|
|
9
|
-
export declare const WALLET_API_PRIVATE_KEY_PREFIX = "wallet-api:";
|
|
10
|
-
export declare const AUTHORIZATION_PRIVATE_KEY_PREFIX = "wallet-auth:";
|
|
11
43
|
//# sourceMappingURL=cryptography.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptography.d.ts","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cryptography.d.ts","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,CAahE;AAiFD,yBAAiB,UAAU,CAAC;IAC1B,UAAiB,oBAAoB;QACnC,UAAU,EAAE,UAAU,CAAC;QACvB,eAAe,EAAE,UAAU,CAAC;KAC7B;CACF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAsB3D"}
|
package/lib/cryptography.js
CHANGED
|
@@ -1,12 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateP256KeyPair = generateP256KeyPair;
|
|
4
4
|
exports.importPKCS8PrivateKey = importPKCS8PrivateKey;
|
|
5
5
|
exports.setupHPKERecipient = setupHPKERecipient;
|
|
6
6
|
exports.setupHPKESender = setupHPKESender;
|
|
7
7
|
const chacha20poly1305_1 = require("@hpke/chacha20poly1305");
|
|
8
8
|
const core_1 = require("@hpke/core");
|
|
9
9
|
const nist_1 = require("@noble/curves/nist");
|
|
10
|
+
const base64_1 = require("../internal/utils/base64.js");
|
|
11
|
+
/**
|
|
12
|
+
* Returns the runtime's `SubtleCrypto` implementation.
|
|
13
|
+
*
|
|
14
|
+
* We rely on `globalThis.crypto.subtle` for broad runtime support (Node.js 20+, Deno, Bun, Workers/Edge).
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
function getSubtleCrypto() {
|
|
19
|
+
const subtle = globalThis.crypto?.subtle;
|
|
20
|
+
if (!subtle) {
|
|
21
|
+
throw new Error('`crypto.subtle` is not defined as a global; Either run in a runtime that provides WebCrypto, or polyfill `globalThis.crypto`');
|
|
22
|
+
}
|
|
23
|
+
return subtle;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Generates a P-256 key pair suitable for Privy resource ownership and request
|
|
27
|
+
* authorization signing.
|
|
28
|
+
*
|
|
29
|
+
* @returns A P-256 key pair, in base64-encoded DER format.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const keypair = await generateP256KeyPair();
|
|
33
|
+
* const wallet = await privy.wallets().create({
|
|
34
|
+
* chain_type: '...',
|
|
35
|
+
* owner: { public_key: keypair.publicKey },
|
|
36
|
+
* });
|
|
37
|
+
* const response = await privy.wallets().rawSign(wallet.id, {
|
|
38
|
+
* params: { hash: '...' },
|
|
39
|
+
* authorization_context: {
|
|
40
|
+
* authorization_private_keys: [keypair.privateKey]
|
|
41
|
+
* },
|
|
42
|
+
* });
|
|
43
|
+
*/
|
|
44
|
+
async function generateP256KeyPair() {
|
|
45
|
+
const subtle = getSubtleCrypto();
|
|
46
|
+
const keyPair = await subtle.generateKey({ name: 'ECDSA', namedCurve: 'P-256' }, true, ['sign', 'verify']);
|
|
47
|
+
const [publicKeyDer, privateKeyDer] = await Promise.all([
|
|
48
|
+
subtle.exportKey('spki', keyPair.publicKey),
|
|
49
|
+
subtle.exportKey('pkcs8', keyPair.privateKey),
|
|
50
|
+
]);
|
|
51
|
+
return {
|
|
52
|
+
publicKey: (0, base64_1.toBase64)(new Uint8Array(publicKeyDer)),
|
|
53
|
+
privateKey: (0, base64_1.toBase64)(new Uint8Array(privateKeyDer)),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
10
56
|
/**
|
|
11
57
|
* Imports a P-256 private key for use with the `@noble/curves` library.
|
|
12
58
|
*
|
|
@@ -16,8 +62,8 @@ const nist_1 = require("@noble/curves/nist");
|
|
|
16
62
|
*/
|
|
17
63
|
function importPKCS8PrivateKey(privateKey) {
|
|
18
64
|
const strippedPrivateKey = privateKey
|
|
19
|
-
.replace(
|
|
20
|
-
.replace(
|
|
65
|
+
.replace(AUTHORIZATION_PRIVATE_KEY_PREFIX, '')
|
|
66
|
+
.replace(WALLET_API_PRIVATE_KEY_PREFIX, '');
|
|
21
67
|
// We fall back to `Buffer` here as Uint8Array.fromBase64 is not widely supported yet
|
|
22
68
|
const pkcs8Bytes = Buffer.from(strippedPrivateKey, 'base64');
|
|
23
69
|
const privateKeyStart = pkcs8Bytes.indexOf(Buffer.from([0x04, 0x20]));
|
|
@@ -40,7 +86,8 @@ async function setupHPKERecipient() {
|
|
|
40
86
|
aead: new chacha20poly1305_1.Chacha20Poly1305(),
|
|
41
87
|
});
|
|
42
88
|
const keypair = await suite.kem.generateKeyPair();
|
|
43
|
-
const
|
|
89
|
+
const subtle = getSubtleCrypto();
|
|
90
|
+
const publicKeySpki = await subtle.exportKey('spki', keypair.publicKey);
|
|
44
91
|
return {
|
|
45
92
|
publicKeySpki: new Uint8Array(publicKeySpki),
|
|
46
93
|
decryptPayload: async (encapsulatedKey, ciphertext) => {
|
|
@@ -74,6 +121,6 @@ async function setupHPKESender() {
|
|
|
74
121
|
};
|
|
75
122
|
}
|
|
76
123
|
/** This prefix is no longer used, but we need to support existing keys */
|
|
77
|
-
|
|
78
|
-
|
|
124
|
+
const WALLET_API_PRIVATE_KEY_PREFIX = 'wallet-api:';
|
|
125
|
+
const AUTHORIZATION_PRIVATE_KEY_PREFIX = 'wallet-auth:';
|
|
79
126
|
//# sourceMappingURL=cryptography.js.map
|
package/lib/cryptography.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptography.js","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cryptography.js","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"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"}
|