@getpara/core-sdk 1.0.2 → 1.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.
Files changed (65) hide show
  1. package/dist/cjs/ParaCore.js +125 -223
  2. package/dist/cjs/constants.js +20 -0
  3. package/dist/cjs/cryptography/utils.js +2 -2
  4. package/dist/cjs/external/userManagementClient.js +14 -14
  5. package/dist/cjs/index.js +28 -12
  6. package/dist/cjs/types/config.js +22 -0
  7. package/dist/cjs/types/index.js +11 -2
  8. package/dist/cjs/types/onRamps.js +10 -0
  9. package/dist/cjs/types/recovery.js +12 -0
  10. package/dist/cjs/types/wallet.js +9 -0
  11. package/dist/cjs/utils/events.js +9 -0
  12. package/dist/cjs/utils/{formattingUtils.js → formatting.js} +11 -1
  13. package/dist/cjs/utils/index.js +22 -0
  14. package/dist/cjs/utils/onRamps.js +36 -0
  15. package/dist/cjs/utils/url.js +74 -0
  16. package/dist/cjs/utils/wallet.js +74 -0
  17. package/dist/esm/ParaCore.js +74 -165
  18. package/dist/esm/constants.js +17 -0
  19. package/dist/esm/cryptography/utils.js +1 -1
  20. package/dist/esm/external/userManagementClient.js +1 -1
  21. package/dist/esm/index.js +12 -8
  22. package/dist/esm/types/config.js +19 -0
  23. package/dist/esm/types/index.js +6 -2
  24. package/dist/esm/types/onRamps.js +7 -0
  25. package/dist/esm/types/recovery.js +9 -0
  26. package/dist/esm/types/wallet.js +6 -0
  27. package/dist/esm/utils/events.js +5 -0
  28. package/dist/esm/utils/{formattingUtils.js → formatting.js} +8 -0
  29. package/dist/esm/utils/index.js +6 -0
  30. package/dist/esm/utils/onRamps.js +30 -0
  31. package/dist/esm/utils/url.js +66 -0
  32. package/dist/esm/utils/wallet.js +64 -0
  33. package/dist/types/ParaCore.d.ts +4 -167
  34. package/dist/types/PlatformUtils.d.ts +1 -3
  35. package/dist/types/constants.d.ts +17 -0
  36. package/dist/types/cryptography/utils.d.ts +1 -1
  37. package/dist/types/external/userManagementClient.d.ts +1 -1
  38. package/dist/types/index.d.ts +12 -10
  39. package/dist/types/shares/recovery.d.ts +1 -1
  40. package/dist/types/shares/shareDistribution.d.ts +1 -1
  41. package/dist/types/types/config.d.ts +162 -0
  42. package/dist/types/types/events.d.ts +10 -10
  43. package/dist/types/types/index.d.ts +6 -2
  44. package/dist/types/types/onRamps.d.ts +10 -0
  45. package/dist/types/types/recovery.d.ts +7 -0
  46. package/dist/types/types/wallet.d.ts +39 -0
  47. package/dist/types/utils/events.d.ts +2 -0
  48. package/dist/types/utils/{formattingUtils.d.ts → formatting.d.ts} +3 -1
  49. package/dist/types/utils/index.d.ts +6 -0
  50. package/dist/types/utils/onRamps.d.ts +12 -0
  51. package/dist/types/utils/url.d.ts +15 -0
  52. package/dist/types/utils/wallet.d.ts +10 -0
  53. package/package.json +3 -3
  54. package/dist/cjs/definitions.js +0 -153
  55. package/dist/cjs/types/walletTypes.js +0 -2
  56. package/dist/esm/definitions.js +0 -140
  57. package/dist/esm/types/walletTypes.js +0 -1
  58. package/dist/types/definitions.d.ts +0 -86
  59. package/dist/types/types/walletTypes.d.ts +0 -11
  60. /package/dist/cjs/types/{popupTypes.js → popup.js} +0 -0
  61. /package/dist/cjs/utils/{pollingUtils.js → polling.js} +0 -0
  62. /package/dist/esm/types/{popupTypes.js → popup.js} +0 -0
  63. /package/dist/esm/utils/{pollingUtils.js → polling.js} +0 -0
  64. /package/dist/types/types/{popupTypes.d.ts → popup.d.ts} +0 -0
  65. /package/dist/types/utils/{pollingUtils.d.ts → polling.d.ts} +0 -0
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SHORT_POLLING_INTERVAL_MS = exports.POLLING_INTERVAL_MS = exports.SESSION_STORAGE_LOGIN_ENCRYPTION_KEY_PAIR = exports.LOCAL_STORAGE_SESSION_COOKIE = exports.LOCAL_STORAGE_CURRENT_EXTERNAL_WALLET_ADDRESSES = exports.LOCAL_STORAGE_CURRENT_WALLET_IDS = exports.LOCAL_STORAGE_EXTERNAL_WALLETS = exports.LOCAL_STORAGE_WALLETS = exports.LOCAL_STORAGE_ED25519_WALLETS = exports.LOCAL_STORAGE_USER_ID = exports.LOCAL_STORAGE_TELEGRAM_USER_ID = exports.LOCAL_STORAGE_FARCASTER_USERNAME = exports.LOCAL_STORAGE_COUNTRY_CODE = exports.LOCAL_STORAGE_PHONE = exports.LOCAL_STORAGE_EMAIL = exports.PREFIX = exports.PARA_CORE_VERSION = void 0;
4
+ exports.PARA_CORE_VERSION = '1.1.0';
5
+ exports.PREFIX = '@CAPSULE/';
6
+ exports.LOCAL_STORAGE_EMAIL = `${exports.PREFIX}e-mail`;
7
+ exports.LOCAL_STORAGE_PHONE = `${exports.PREFIX}phone`;
8
+ exports.LOCAL_STORAGE_COUNTRY_CODE = `${exports.PREFIX}countryCode`;
9
+ exports.LOCAL_STORAGE_FARCASTER_USERNAME = `${exports.PREFIX}farcasterUsername`;
10
+ exports.LOCAL_STORAGE_TELEGRAM_USER_ID = `${exports.PREFIX}telegramUserId`;
11
+ exports.LOCAL_STORAGE_USER_ID = `${exports.PREFIX}userId`;
12
+ exports.LOCAL_STORAGE_ED25519_WALLETS = `${exports.PREFIX}ed25519Wallets`;
13
+ exports.LOCAL_STORAGE_WALLETS = `${exports.PREFIX}wallets`;
14
+ exports.LOCAL_STORAGE_EXTERNAL_WALLETS = `${exports.PREFIX}externalWallets`;
15
+ exports.LOCAL_STORAGE_CURRENT_WALLET_IDS = `${exports.PREFIX}currentWalletIds`;
16
+ exports.LOCAL_STORAGE_CURRENT_EXTERNAL_WALLET_ADDRESSES = `${exports.PREFIX}currentExternalWalletAddresses`;
17
+ exports.LOCAL_STORAGE_SESSION_COOKIE = `${exports.PREFIX}sessionCookie`;
18
+ exports.SESSION_STORAGE_LOGIN_ENCRYPTION_KEY_PAIR = `${exports.PREFIX}loginEncryptionKeyPair`;
19
+ exports.POLLING_INTERVAL_MS = 2000;
20
+ exports.SHORT_POLLING_INTERVAL_MS = 1000;
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.decryptPrivateKeyWithPassword = exports.encryptPrivateKeyWithPassword = exports.hashPasswordWithSalt = exports.encryptWithDerivedPublicKey = exports.decryptPrivateKeyAndDecryptShare = exports.getDerivedPrivateKeyAndDecrypt = exports.decryptWithPrivateKey = exports.decryptWithKeyPair = exports.symmetricKeyEncryptMessage = exports.getPublicKeyFromSignature = exports.getAsymmetricKeyPair = exports.decryptPrivateKey = exports.encryptPrivateKey = exports.decodePrivateKeyPemHex = exports.encodePrivateKeyToPemHex = exports.publicKeyHexToPem = exports.publicKeyFromHex = exports.getPublicKeyHex = exports.getSHA256HashHex = void 0;
16
16
  const base64url_1 = __importDefault(require("base64url"));
17
17
  const node_forge_1 = __importDefault(require("node-forge"));
18
- const definitions_js_1 = require("../definitions.js");
18
+ const index_js_1 = require("../utils/index.js");
19
19
  const rsa = node_forge_1.default.pki.rsa;
20
20
  const RSA_ENCRYPTION_SCHEME = 'RSA-OAEP';
21
21
  // ivs can be constant only because every key is only ever used to encrypt one message
@@ -96,7 +96,7 @@ function getAsymmetricKeyPair(ctx, seedValue) {
96
96
  // only using 1 web worker as more makes the call non-deterministic
97
97
  // -1 uses optimal amount of web workers
98
98
  options.workers = seedValue ? 1 : -1;
99
- const workerRes = yield fetch(`${(0, definitions_js_1.getPortalBaseURL)(ctx)}/static/js/prime.worker.min.js`);
99
+ const workerRes = yield fetch(`${(0, index_js_1.getPortalBaseURL)(ctx)}/static/js/prime.worker.min.js`);
100
100
  const workerBlob = new Blob([yield workerRes.text()], { type: 'application/javascript' });
101
101
  options.workerScript = URL.createObjectURL(workerBlob);
102
102
  }
@@ -5,16 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.initClient = exports.getBaseMPCNetworkUrl = exports.getBaseUrl = exports.getBaseOAuthUrl = void 0;
7
7
  const user_management_client_1 = __importDefault(require("@getpara/user-management-client"));
8
- const definitions_js_1 = require("../definitions.js");
8
+ const index_js_1 = require("../types/index.js");
9
9
  function getBaseOAuthUrl(env) {
10
10
  switch (env) {
11
- case definitions_js_1.Environment.DEV:
11
+ case index_js_1.Environment.DEV:
12
12
  return 'http://localhost:8080/';
13
- case definitions_js_1.Environment.SANDBOX:
13
+ case index_js_1.Environment.SANDBOX:
14
14
  return 'https://api.sandbox.usecapsule.com/';
15
- case definitions_js_1.Environment.BETA:
15
+ case index_js_1.Environment.BETA:
16
16
  return 'https://api.beta.usecapsule.com/';
17
- case definitions_js_1.Environment.PROD:
17
+ case index_js_1.Environment.PROD:
18
18
  return 'https://api.usecapsule.com/';
19
19
  default:
20
20
  throw new Error(`unsupported env: ${env}`);
@@ -23,13 +23,13 @@ function getBaseOAuthUrl(env) {
23
23
  exports.getBaseOAuthUrl = getBaseOAuthUrl;
24
24
  function getBaseUrl(env) {
25
25
  switch (env) {
26
- case definitions_js_1.Environment.DEV:
26
+ case index_js_1.Environment.DEV:
27
27
  return 'http://localhost:8080/';
28
- case definitions_js_1.Environment.SANDBOX:
28
+ case index_js_1.Environment.SANDBOX:
29
29
  return 'https://api.sandbox.getpara.com/';
30
- case definitions_js_1.Environment.BETA:
30
+ case index_js_1.Environment.BETA:
31
31
  return 'https://api.beta.getpara.com/';
32
- case definitions_js_1.Environment.PROD:
32
+ case index_js_1.Environment.PROD:
33
33
  return 'https://api.getpara.com/';
34
34
  default:
35
35
  throw new Error(`unsupported env: ${env}`);
@@ -39,13 +39,13 @@ exports.getBaseUrl = getBaseUrl;
39
39
  function getBaseMPCNetworkUrl(env, useWebsocket) {
40
40
  const prefix = useWebsocket ? 'ws' : 'http';
41
41
  switch (env) {
42
- case definitions_js_1.Environment.DEV:
42
+ case index_js_1.Environment.DEV:
43
43
  return `${prefix}://localhost:3000`;
44
- case definitions_js_1.Environment.SANDBOX:
44
+ case index_js_1.Environment.SANDBOX:
45
45
  return `${prefix}s://mpc-network.sandbox.getpara.com`;
46
- case definitions_js_1.Environment.BETA:
46
+ case index_js_1.Environment.BETA:
47
47
  return `${prefix}s://mpc-network.beta.getpara.com`;
48
- case definitions_js_1.Environment.PROD:
48
+ case index_js_1.Environment.PROD:
49
49
  return `${prefix}s://mpc-network.prod.getpara.com`;
50
50
  default:
51
51
  throw new Error(`unsupported env: ${env}`);
@@ -55,7 +55,7 @@ exports.getBaseMPCNetworkUrl = getBaseMPCNetworkUrl;
55
55
  function initClient({ env, version, apiKey, partnerId, useFetchAdapter = false, retrieveSessionCookie, persistSessionCookie, }) {
56
56
  return new user_management_client_1.default({
57
57
  userManagementHost: getBaseUrl(env),
58
- version: [definitions_js_1.Environment.DEV, definitions_js_1.Environment.SANDBOX].includes(env) ? 'dev' : version,
58
+ version: [index_js_1.Environment.DEV, index_js_1.Environment.SANDBOX].includes(env) ? 'dev' : version,
59
59
  apiKey: apiKey,
60
60
  partnerId,
61
61
  opts: { useFetchAdapter },
package/dist/cjs/index.js CHANGED
@@ -26,30 +26,38 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.paraVersion = exports.isWalletSupported = exports.PregenIdentifierType = exports.STORAGE_PREFIX = exports.transmissionUtilsRetrieve = exports.publicKeyFromHex = exports.decryptPrivateKeyWithPassword = exports.encryptPrivateKeyWithPassword = exports.hashPasswordWithSalt = exports.decryptPrivateKeyAndDecryptShare = exports.decryptPrivateKey = exports.encryptPrivateKey = exports.getSHA256HashHex = exports.getPublicKeyFromSignature = exports.getDerivedPrivateKeyAndDecrypt = exports.encodePrivateKeyToPemHex = exports.encryptWithDerivedPublicKey = exports.getPublicKeyHex = exports.getAsymmetricKeyPair = exports.decryptWithPrivateKey = exports.decryptWithKeyPair = exports.mpcComputationClient = exports.initClient = exports.getBaseUrl = exports.entityToWallet = exports.stringToPhoneNumber = exports.RecoveryStatus = exports.KeyContainer = exports.distributeNewShare = exports.PREGEN_IDENTIFIER_TYPES = exports.NON_ED25519 = exports.OAuthMethod = exports.OnRampPurchaseType = exports.WalletScheme = exports.WalletType = exports.EmailTheme = exports.AuthMethod = void 0;
29
+ exports.paraVersion = exports.transmissionUtilsRetrieve = exports.getPortalBaseURL = exports.toAssetInfoArray = exports.getOnRampNetworks = exports.getOnRampAssets = exports.isWalletSupported = exports.publicKeyFromHex = exports.decryptPrivateKeyWithPassword = exports.encryptPrivateKeyWithPassword = exports.hashPasswordWithSalt = exports.decryptPrivateKeyAndDecryptShare = exports.decryptPrivateKey = exports.encryptPrivateKey = exports.getSHA256HashHex = exports.getPublicKeyFromSignature = exports.getDerivedPrivateKeyAndDecrypt = exports.encodePrivateKeyToPemHex = exports.encryptWithDerivedPublicKey = exports.getPublicKeyHex = exports.getAsymmetricKeyPair = exports.decryptWithPrivateKey = exports.decryptWithKeyPair = exports.mpcComputationClient = exports.initClient = exports.getBaseUrl = exports.KeyContainer = exports.distributeNewShare = exports.STORAGE_PREFIX = exports.entityToWallet = exports.stringToPhoneNumber = exports.getPortalDomain = exports.RecoveryStatus = exports.PregenIdentifierType = exports.PopupType = exports.OnRampMethod = exports.PREGEN_IDENTIFIER_TYPES = exports.NON_ED25519 = exports.OAuthMethod = exports.OnRampPurchaseStatus = exports.OnRampProvider = exports.OnRampPurchaseType = exports.OnRampAsset = exports.WalletScheme = exports.WalletType = exports.Network = exports.EmailTheme = exports.AuthMethod = void 0;
30
30
  const ParaCore_js_1 = require("./ParaCore.js");
31
- Object.defineProperty(exports, "STORAGE_PREFIX", { enumerable: true, get: function () { return ParaCore_js_1.PREFIX; } });
32
- Object.defineProperty(exports, "PregenIdentifierType", { enumerable: true, get: function () { return ParaCore_js_1.PregenIdentifierType; } });
33
- Object.defineProperty(exports, "isWalletSupported", { enumerable: true, get: function () { return ParaCore_js_1.isWalletSupported; } });
34
31
  var user_management_client_1 = require("@getpara/user-management-client");
35
32
  Object.defineProperty(exports, "AuthMethod", { enumerable: true, get: function () { return user_management_client_1.AuthMethod; } });
36
33
  Object.defineProperty(exports, "EmailTheme", { enumerable: true, get: function () { return user_management_client_1.EmailTheme; } });
34
+ Object.defineProperty(exports, "Network", { enumerable: true, get: function () { return user_management_client_1.Network; } });
37
35
  Object.defineProperty(exports, "WalletType", { enumerable: true, get: function () { return user_management_client_1.WalletType; } });
38
36
  Object.defineProperty(exports, "WalletScheme", { enumerable: true, get: function () { return user_management_client_1.WalletScheme; } });
37
+ Object.defineProperty(exports, "OnRampAsset", { enumerable: true, get: function () { return user_management_client_1.OnRampAsset; } });
39
38
  Object.defineProperty(exports, "OnRampPurchaseType", { enumerable: true, get: function () { return user_management_client_1.OnRampPurchaseType; } });
39
+ Object.defineProperty(exports, "OnRampProvider", { enumerable: true, get: function () { return user_management_client_1.OnRampProvider; } });
40
+ Object.defineProperty(exports, "OnRampPurchaseStatus", { enumerable: true, get: function () { return user_management_client_1.OnRampPurchaseStatus; } });
40
41
  Object.defineProperty(exports, "OAuthMethod", { enumerable: true, get: function () { return user_management_client_1.OAuthMethod; } });
41
42
  Object.defineProperty(exports, "NON_ED25519", { enumerable: true, get: function () { return user_management_client_1.NON_ED25519; } });
42
43
  Object.defineProperty(exports, "PREGEN_IDENTIFIER_TYPES", { enumerable: true, get: function () { return user_management_client_1.PREGEN_IDENTIFIER_TYPES; } });
43
- __exportStar(require("./definitions.js"), exports);
44
- __exportStar(require("./types/index.js"), exports);
44
+ var index_js_1 = require("./types/index.js");
45
+ Object.defineProperty(exports, "OnRampMethod", { enumerable: true, get: function () { return index_js_1.OnRampMethod; } });
46
+ Object.defineProperty(exports, "PopupType", { enumerable: true, get: function () { return index_js_1.PopupType; } });
47
+ Object.defineProperty(exports, "PregenIdentifierType", { enumerable: true, get: function () { return index_js_1.PregenIdentifierType; } });
48
+ Object.defineProperty(exports, "RecoveryStatus", { enumerable: true, get: function () { return index_js_1.RecoveryStatus; } });
49
+ __exportStar(require("./types/events.js"), exports);
50
+ __exportStar(require("./types/config.js"), exports);
51
+ var index_js_2 = require("./utils/index.js");
52
+ Object.defineProperty(exports, "getPortalDomain", { enumerable: true, get: function () { return index_js_2.getPortalDomain; } });
53
+ Object.defineProperty(exports, "stringToPhoneNumber", { enumerable: true, get: function () { return index_js_2.stringToPhoneNumber; } });
54
+ Object.defineProperty(exports, "entityToWallet", { enumerable: true, get: function () { return index_js_2.entityToWallet; } });
55
+ var constants_js_1 = require("./constants.js");
56
+ Object.defineProperty(exports, "STORAGE_PREFIX", { enumerable: true, get: function () { return constants_js_1.PREFIX; } });
45
57
  var shareDistribution_js_1 = require("./shares/shareDistribution.js");
46
58
  Object.defineProperty(exports, "distributeNewShare", { enumerable: true, get: function () { return shareDistribution_js_1.distributeNewShare; } });
47
59
  var KeyContainer_js_1 = require("./shares/KeyContainer.js");
48
60
  Object.defineProperty(exports, "KeyContainer", { enumerable: true, get: function () { return KeyContainer_js_1.KeyContainer; } });
49
- var ParaCore_js_2 = require("./ParaCore.js");
50
- Object.defineProperty(exports, "RecoveryStatus", { enumerable: true, get: function () { return ParaCore_js_2.RecoveryStatus; } });
51
- Object.defineProperty(exports, "stringToPhoneNumber", { enumerable: true, get: function () { return ParaCore_js_2.stringToPhoneNumber; } });
52
- Object.defineProperty(exports, "entityToWallet", { enumerable: true, get: function () { return ParaCore_js_2.entityToWallet; } });
53
61
  var userManagementClient_js_1 = require("./external/userManagementClient.js");
54
62
  Object.defineProperty(exports, "getBaseUrl", { enumerable: true, get: function () { return userManagementClient_js_1.getBaseUrl; } });
55
63
  Object.defineProperty(exports, "initClient", { enumerable: true, get: function () { return userManagementClient_js_1.initClient; } });
@@ -72,9 +80,17 @@ Object.defineProperty(exports, "encryptPrivateKeyWithPassword", { enumerable: tr
72
80
  Object.defineProperty(exports, "decryptPrivateKeyWithPassword", { enumerable: true, get: function () { return utils_js_1.decryptPrivateKeyWithPassword; } });
73
81
  Object.defineProperty(exports, "publicKeyFromHex", { enumerable: true, get: function () { return utils_js_1.publicKeyFromHex; } });
74
82
  __exportStar(require("./external/userManagementClient.js"), exports);
75
- __exportStar(require("./utils/pollingUtils.js"), exports);
76
83
  __exportStar(require("./errors.js"), exports);
77
- __exportStar(require("./utils/formattingUtils.js"), exports);
84
+ __exportStar(require("./utils/formatting.js"), exports);
85
+ __exportStar(require("./utils/polling.js"), exports);
86
+ var wallet_js_1 = require("./utils/wallet.js");
87
+ Object.defineProperty(exports, "isWalletSupported", { enumerable: true, get: function () { return wallet_js_1.isWalletSupported; } });
88
+ var onRamps_js_1 = require("./utils/onRamps.js");
89
+ Object.defineProperty(exports, "getOnRampAssets", { enumerable: true, get: function () { return onRamps_js_1.getOnRampAssets; } });
90
+ Object.defineProperty(exports, "getOnRampNetworks", { enumerable: true, get: function () { return onRamps_js_1.getOnRampNetworks; } });
91
+ Object.defineProperty(exports, "toAssetInfoArray", { enumerable: true, get: function () { return onRamps_js_1.toAssetInfoArray; } });
92
+ var url_js_1 = require("./utils/url.js");
93
+ Object.defineProperty(exports, "getPortalBaseURL", { enumerable: true, get: function () { return url_js_1.getPortalBaseURL; } });
78
94
  var transmissionUtils_js_1 = require("./transmission/transmissionUtils.js");
79
95
  Object.defineProperty(exports, "transmissionUtilsRetrieve", { enumerable: true, get: function () { return transmissionUtils_js_1.retrieve; } });
80
96
  exports.paraVersion = ParaCore_js_1.ParaCore.version;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnabledFlow = exports.Environment = void 0;
4
+ const user_management_client_1 = require("@getpara/user-management-client");
5
+ var Environment;
6
+ (function (Environment) {
7
+ // Internal Environments
8
+ Environment["DEV"] = "DEV";
9
+ Environment["SANDBOX"] = "SANDBOX";
10
+ Environment["BETA"] = "BETA";
11
+ Environment["PROD"] = "PROD";
12
+ // Customer-Facing Environments
13
+ // NOTE: these resolve to the corresponding internal environments for convenience
14
+ Environment["DEVELOPMENT"] = "BETA";
15
+ Environment["PRODUCTION"] = "PROD";
16
+ })(Environment || (exports.Environment = Environment = {}));
17
+ var EnabledFlow;
18
+ (function (EnabledFlow) {
19
+ EnabledFlow["BUY"] = "BUY";
20
+ EnabledFlow["RECEIVE"] = "RECEIVE";
21
+ EnabledFlow["WITHDRAW"] = "WITHDRAW";
22
+ })(EnabledFlow || (exports.EnabledFlow = EnabledFlow = {}));
@@ -14,8 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./walletTypes.js"), exports);
17
+ exports.OnRampPurchaseStatus = exports.OnRampProvider = exports.OnRampAsset = exports.Network = void 0;
18
+ __exportStar(require("./config.js"), exports);
19
+ __exportStar(require("./wallet.js"), exports);
18
20
  __exportStar(require("./params.js"), exports);
19
21
  __exportStar(require("./theme.js"), exports);
20
- __exportStar(require("./popupTypes.js"), exports);
22
+ __exportStar(require("./onRamps.js"), exports);
23
+ __exportStar(require("./popup.js"), exports);
24
+ __exportStar(require("./recovery.js"), exports);
21
25
  __exportStar(require("./events.js"), exports);
26
+ var user_management_client_1 = require("@getpara/user-management-client");
27
+ Object.defineProperty(exports, "Network", { enumerable: true, get: function () { return user_management_client_1.Network; } });
28
+ Object.defineProperty(exports, "OnRampAsset", { enumerable: true, get: function () { return user_management_client_1.OnRampAsset; } });
29
+ Object.defineProperty(exports, "OnRampProvider", { enumerable: true, get: function () { return user_management_client_1.OnRampProvider; } });
30
+ Object.defineProperty(exports, "OnRampPurchaseStatus", { enumerable: true, get: function () { return user_management_client_1.OnRampPurchaseStatus; } });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnRampMethod = void 0;
4
+ var OnRampMethod;
5
+ (function (OnRampMethod) {
6
+ OnRampMethod["ACH"] = "ACH";
7
+ OnRampMethod["DEBIT"] = "Debit";
8
+ OnRampMethod["CREDIT"] = "Credit";
9
+ OnRampMethod["APPLE_PAY"] = "Apple Pay";
10
+ })(OnRampMethod || (exports.OnRampMethod = OnRampMethod = {}));
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecoveryStatus = void 0;
4
+ // Make sure to keep this in sync with capsule-org/src/entities/recoveryAttemptEntity.ts
5
+ var RecoveryStatus;
6
+ (function (RecoveryStatus) {
7
+ RecoveryStatus["INITIATED"] = "INITIATED";
8
+ RecoveryStatus["READY"] = "READY";
9
+ RecoveryStatus["EXPIRED"] = "EXPIRED";
10
+ RecoveryStatus["FINISHED"] = "FINISHED";
11
+ RecoveryStatus["CANCELLED"] = "CANCELLED";
12
+ })(RecoveryStatus || (exports.RecoveryStatus = RecoveryStatus = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PregenIdentifierType = void 0;
4
+ /** @deprecated */
5
+ var PregenIdentifierType;
6
+ (function (PregenIdentifierType) {
7
+ PregenIdentifierType["EMAIL"] = "EMAIL";
8
+ PregenIdentifierType["PHONE"] = "PHONE";
9
+ })(PregenIdentifierType || (exports.PregenIdentifierType = PregenIdentifierType = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dispatchEvent = void 0;
4
+ function dispatchEvent(type, data, error) {
5
+ typeof window !== 'undefined' &&
6
+ !!window.dispatchEvent &&
7
+ window.dispatchEvent(new CustomEvent(type, { detail: Object.assign({ data }, (error && { error: new Error(error) })) }));
8
+ }
9
+ exports.dispatchEvent = dispatchEvent;
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.truncateAddress = exports.getCosmosAddress = exports.decimalToHex = exports.hexToDecimal = exports.hexToUint8Array = exports.hexToSignature = exports.hexStringToBase64 = void 0;
6
+ exports.normalizePhoneNumber = exports.stringToPhoneNumber = exports.truncateAddress = exports.getCosmosAddress = exports.decimalToHex = exports.hexToDecimal = exports.hexToUint8Array = exports.hexToSignature = exports.hexStringToBase64 = void 0;
7
7
  const encoding_1 = require("@cosmjs/encoding");
8
8
  const sha256_1 = require("@noble/hashes/sha256");
9
9
  const ripemd160_1 = require("@noble/hashes/ripemd160");
10
10
  const elliptic_1 = __importDefault(require("elliptic"));
11
+ const libphonenumber_js_1 = __importDefault(require("libphonenumber-js"));
11
12
  const secp256k1 = new elliptic_1.default.ec('secp256k1');
12
13
  function hexStringToBase64(hexString) {
13
14
  if (hexString.substring(0, 2) === '0x') {
@@ -69,3 +70,12 @@ function truncateAddress(str, addressType, { prefix = addressType === 'COSMOS' ?
69
70
  return `${str.slice(0, headLength)}...${str.slice(-4)}`;
70
71
  }
71
72
  exports.truncateAddress = truncateAddress;
73
+ function stringToPhoneNumber(str) {
74
+ var _a;
75
+ return (_a = (0, libphonenumber_js_1.default)(str)) === null || _a === void 0 ? void 0 : _a.formatInternational().replace(/[^\d+]/g, '');
76
+ }
77
+ exports.stringToPhoneNumber = stringToPhoneNumber;
78
+ function normalizePhoneNumber(countryCode, number) {
79
+ return stringToPhoneNumber(`${countryCode[0] !== '+' ? '+' : ''}${countryCode}${number}`);
80
+ }
81
+ exports.normalizePhoneNumber = normalizePhoneNumber;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./events.js"), exports);
18
+ __exportStar(require("./formatting.js"), exports);
19
+ __exportStar(require("./onRamps.js"), exports);
20
+ __exportStar(require("./polling.js"), exports);
21
+ __exportStar(require("./url.js"), exports);
22
+ __exportStar(require("./wallet.js"), exports);
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOnRampAssets = exports.getOnRampNetworks = exports.toAssetInfoArray = void 0;
4
+ function toAssetInfoArray(data) {
5
+ const result = [];
6
+ Object.keys(data).forEach(walletType => {
7
+ const networks = data[walletType];
8
+ Object.keys(networks).forEach(network => {
9
+ const assets = networks[network];
10
+ Object.keys(assets).forEach(asset => {
11
+ const providerInfo = assets[asset];
12
+ result.push([walletType, network, asset, providerInfo]);
13
+ });
14
+ });
15
+ });
16
+ return result;
17
+ }
18
+ exports.toAssetInfoArray = toAssetInfoArray;
19
+ function getOnRampNetworks(data, { walletType, allowed } = {}) {
20
+ return [
21
+ ...new Set(toAssetInfoArray(data)
22
+ .filter(([type, network]) => (!walletType || type === walletType) && (!allowed || allowed.includes(network)))
23
+ .map(([_, network]) => network)),
24
+ ];
25
+ }
26
+ exports.getOnRampNetworks = getOnRampNetworks;
27
+ function getOnRampAssets(data, { walletType, network, allowed, } = {}) {
28
+ return [
29
+ ...new Set(toAssetInfoArray(data)
30
+ .filter(([t, n, a]) => (!walletType || t === walletType) &&
31
+ (!network || n === network) &&
32
+ (!Array.isArray(allowed) || allowed.includes(a)))
33
+ .map(([, , asset]) => asset)),
34
+ ];
35
+ }
36
+ exports.getOnRampAssets = getOnRampAssets;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constructUrl = exports.getParaConnectBaseUrl = exports.getParaConnectDomain = exports.getPortalBaseURL = exports.getPortalDomain = void 0;
4
+ const index_js_1 = require("../types/index.js");
5
+ function getPortalDomain(env, isE2E) {
6
+ if (isE2E) {
7
+ return `localhost`;
8
+ }
9
+ switch (env) {
10
+ case index_js_1.Environment.DEV:
11
+ return 'localhost';
12
+ case index_js_1.Environment.SANDBOX:
13
+ return 'app.sandbox.usecapsule.com';
14
+ case index_js_1.Environment.BETA:
15
+ return 'app.beta.usecapsule.com';
16
+ case index_js_1.Environment.PROD:
17
+ return 'app.usecapsule.com';
18
+ default:
19
+ throw new Error(`env: ${env} not supported`);
20
+ }
21
+ }
22
+ exports.getPortalDomain = getPortalDomain;
23
+ function getPortalBaseURL({ env, isE2E }, useLocalIp, isForWasm) {
24
+ if (isE2E) {
25
+ if (isForWasm) {
26
+ return `https://app.sandbox.usecapsule.com`;
27
+ }
28
+ return `http://localhost:3003`;
29
+ }
30
+ const domain = getPortalDomain(env);
31
+ if (env === index_js_1.Environment.DEV) {
32
+ if (useLocalIp) {
33
+ return `http://127.0.0.1:3003`;
34
+ }
35
+ return `http://${domain}:3003`;
36
+ }
37
+ return `https://${domain}`;
38
+ }
39
+ exports.getPortalBaseURL = getPortalBaseURL;
40
+ function getParaConnectDomain(env) {
41
+ switch (env) {
42
+ case index_js_1.Environment.DEV:
43
+ return 'localhost';
44
+ case index_js_1.Environment.SANDBOX:
45
+ return 'connect.sandbox.getpara.com';
46
+ case index_js_1.Environment.BETA:
47
+ return 'connect.beta.getpara.com';
48
+ case index_js_1.Environment.PROD:
49
+ return 'connect.getpara.com';
50
+ default:
51
+ throw new Error(`env: ${env} not supported`);
52
+ }
53
+ }
54
+ exports.getParaConnectDomain = getParaConnectDomain;
55
+ function getParaConnectBaseUrl({ env }, useLocalIp) {
56
+ const domain = getParaConnectDomain(env);
57
+ if (env === index_js_1.Environment.DEV) {
58
+ if (useLocalIp) {
59
+ return `http://127.0.0.1:3008`;
60
+ }
61
+ return `http://${domain}:3008`;
62
+ }
63
+ return `https://${domain}`;
64
+ }
65
+ exports.getParaConnectBaseUrl = getParaConnectBaseUrl;
66
+ function constructUrl({ base, path, params = {}, }) {
67
+ const url = new URL(path, base);
68
+ Object.entries(params).forEach(([key, value]) => {
69
+ if (!!value && value !== 'undefined' && value !== 'null')
70
+ url.searchParams.set(key, value.toString());
71
+ });
72
+ return url.toString();
73
+ }
74
+ exports.constructUrl = constructUrl;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migrateWallet = exports.entityToWallet = exports.getEquivalentTypes = exports.getWalletTypes = exports.getSchemes = exports.isWalletSupported = exports.isPregenIdentifierMatch = exports.WalletSchemeTypeMap = void 0;
4
+ const user_management_client_1 = require("@getpara/user-management-client");
5
+ const formatting_js_1 = require("./formatting.js");
6
+ exports.WalletSchemeTypeMap = {
7
+ [user_management_client_1.WalletScheme.DKLS]: {
8
+ [user_management_client_1.WalletType.EVM]: true,
9
+ [user_management_client_1.WalletType.COSMOS]: true,
10
+ },
11
+ [user_management_client_1.WalletScheme.CGGMP]: {
12
+ [user_management_client_1.WalletType.EVM]: true,
13
+ [user_management_client_1.WalletType.COSMOS]: true,
14
+ },
15
+ [user_management_client_1.WalletScheme.ED25519]: {
16
+ [user_management_client_1.WalletType.SOLANA]: true,
17
+ },
18
+ };
19
+ function isPregenIdentifierMatch(a, b, type) {
20
+ if (!a || !b) {
21
+ return false;
22
+ }
23
+ switch (type) {
24
+ case 'EMAIL':
25
+ return a.toLowerCase() === b.toLowerCase();
26
+ case 'PHONE':
27
+ return (0, formatting_js_1.stringToPhoneNumber)(a) === (0, formatting_js_1.stringToPhoneNumber)(b);
28
+ case 'CUSTOM_ID':
29
+ return a === b;
30
+ default:
31
+ return a.replace(/^@/g, '').toLowerCase() === b.replace(/^@/g, '').toLowerCase();
32
+ }
33
+ }
34
+ exports.isPregenIdentifierMatch = isPregenIdentifierMatch;
35
+ function isWalletSupported(types, wallet) {
36
+ return types.some((walletType) => !!exports.WalletSchemeTypeMap[wallet.scheme][walletType]);
37
+ }
38
+ exports.isWalletSupported = isWalletSupported;
39
+ function getSchemes(types) {
40
+ return Object.keys(exports.WalletSchemeTypeMap).filter(scheme => {
41
+ if (scheme === user_management_client_1.WalletScheme.CGGMP) {
42
+ return false;
43
+ }
44
+ return (Array.isArray(types) ? types : Object.keys(types)).some(type => exports.WalletSchemeTypeMap[scheme][type]);
45
+ });
46
+ }
47
+ exports.getSchemes = getSchemes;
48
+ function getWalletTypes(schemes) {
49
+ return [
50
+ ...new Set(schemes.reduce((acc, scheme) => {
51
+ return [...acc, ...Object.keys(exports.WalletSchemeTypeMap[scheme]).filter(type => exports.WalletSchemeTypeMap[scheme][type])];
52
+ }, [])),
53
+ ];
54
+ }
55
+ exports.getWalletTypes = getWalletTypes;
56
+ function getEquivalentTypes(types) {
57
+ return getWalletTypes(getSchemes((Array.isArray(types) ? types : [types]).map(t => user_management_client_1.WalletType[t])));
58
+ }
59
+ exports.getEquivalentTypes = getEquivalentTypes;
60
+ function entityToWallet(w) {
61
+ return Object.assign(Object.assign({}, w), { scheme: w.scheme, type: w.type, pregenIdentifierType: w.pregenIdentifierType });
62
+ }
63
+ exports.entityToWallet = entityToWallet;
64
+ function migrateWallet(obj) {
65
+ if (['USER', 'PREGEN'].includes(obj.type)) {
66
+ obj.isPregen = obj.type === 'PREGEN';
67
+ obj.type = obj.scheme === user_management_client_1.WalletScheme.ED25519 ? user_management_client_1.WalletType.SOLANA : user_management_client_1.WalletType.EVM;
68
+ }
69
+ if (!!obj.scheme && !obj.type) {
70
+ obj.type = obj.scheme === user_management_client_1.WalletScheme.ED25519 ? user_management_client_1.WalletType.SOLANA : user_management_client_1.WalletType.EVM;
71
+ }
72
+ return obj;
73
+ }
74
+ exports.migrateWallet = migrateWallet;