@explorins/pers-signer 1.0.16 → 1.0.18

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.
@@ -566,6 +566,30 @@ PersService.currentTenantId = null;
566
566
  PersService.useStaging = false;
567
567
  PersService.TENANT_CACHE_TTL = 24 * 60 * 60 * 1000; // 24 hours - tenant configs are essentially static
568
568
 
569
+ /**
570
+ * Transaction statuses that allow signing
571
+ */
572
+ const SIGNABLE_STATUSES = [browser.TransactionStatus.PENDING_SIGNATURE, browser.TransactionStatus.CREATED];
573
+
574
+ /**
575
+ * Error codes for transaction signing operations
576
+ */
577
+ exports.TransactionSigningErrorCode = void 0;
578
+ (function (TransactionSigningErrorCode) {
579
+ TransactionSigningErrorCode["INVALID_TOKENS"] = "INVALID_TOKENS";
580
+ TransactionSigningErrorCode["TRANSACTION_NOT_FOUND"] = "TRANSACTION_NOT_FOUND";
581
+ TransactionSigningErrorCode["TRANSACTION_NOT_PENDING"] = "TRANSACTION_NOT_PENDING";
582
+ TransactionSigningErrorCode["WALLET_NOT_AVAILABLE"] = "WALLET_NOT_AVAILABLE";
583
+ TransactionSigningErrorCode["WEBAUTHN_OPERATION_IN_PROGRESS"] = "WEBAUTHN_OPERATION_IN_PROGRESS";
584
+ TransactionSigningErrorCode["SIGNING_CANCELLED"] = "SIGNING_CANCELLED";
585
+ TransactionSigningErrorCode["PERS_AUTH_FAILED"] = "PERS_AUTH_FAILED";
586
+ TransactionSigningErrorCode["AUTH_FAILED"] = "AUTH_FAILED";
587
+ TransactionSigningErrorCode["TRANSACTION_NOT_READY"] = "TRANSACTION_NOT_READY";
588
+ TransactionSigningErrorCode["SUBMISSION_FAILED"] = "SUBMISSION_FAILED";
589
+ TransactionSigningErrorCode["SERVER_ERROR"] = "SERVER_ERROR";
590
+ TransactionSigningErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
591
+ })(exports.TransactionSigningErrorCode || (exports.TransactionSigningErrorCode = {}));
592
+
569
593
  // Adapter function to convert backend signature response to legacy format
570
594
  const adaptSignatureResponse = (newResponse) => {
571
595
  if (!newResponse.signature) {
@@ -891,25 +915,6 @@ class SigningService {
891
915
  }
892
916
  }
893
917
 
894
- /**
895
- * Error codes for transaction signing operations
896
- */
897
- exports.TransactionSigningErrorCode = void 0;
898
- (function (TransactionSigningErrorCode) {
899
- TransactionSigningErrorCode["INVALID_TOKENS"] = "INVALID_TOKENS";
900
- TransactionSigningErrorCode["TRANSACTION_NOT_FOUND"] = "TRANSACTION_NOT_FOUND";
901
- TransactionSigningErrorCode["TRANSACTION_NOT_PENDING"] = "TRANSACTION_NOT_PENDING";
902
- TransactionSigningErrorCode["WALLET_NOT_AVAILABLE"] = "WALLET_NOT_AVAILABLE";
903
- TransactionSigningErrorCode["WEBAUTHN_OPERATION_IN_PROGRESS"] = "WEBAUTHN_OPERATION_IN_PROGRESS";
904
- TransactionSigningErrorCode["SIGNING_CANCELLED"] = "SIGNING_CANCELLED";
905
- TransactionSigningErrorCode["PERS_AUTH_FAILED"] = "PERS_AUTH_FAILED";
906
- TransactionSigningErrorCode["AUTH_FAILED"] = "AUTH_FAILED";
907
- TransactionSigningErrorCode["TRANSACTION_NOT_READY"] = "TRANSACTION_NOT_READY";
908
- TransactionSigningErrorCode["SUBMISSION_FAILED"] = "SUBMISSION_FAILED";
909
- TransactionSigningErrorCode["SERVER_ERROR"] = "SERVER_ERROR";
910
- TransactionSigningErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
911
- })(exports.TransactionSigningErrorCode || (exports.TransactionSigningErrorCode = {}));
912
-
913
918
  /**
914
919
  * Handles all error-related operations for transaction signing
915
920
  */
@@ -1109,11 +1114,6 @@ class WebAuthnCoordinator {
1109
1114
  }
1110
1115
  }
1111
1116
 
1112
- /**
1113
- * Transaction statuses that allow signing
1114
- */
1115
- const SIGNABLE_STATUSES = [browser.TransactionStatus.PENDING_SIGNATURE, browser.TransactionStatus.CREATED];
1116
-
1117
1117
  /**
1118
1118
  * Service for orchestrating transaction signing operations
1119
1119
  * Handles the complete flow from transaction preparation to submission
@@ -1570,11 +1570,13 @@ class AuthenticationService {
1570
1570
  throw new Error('Registration completed but no response received');
1571
1571
  }
1572
1572
  }
1573
- return {
1574
- identifier,
1573
+ const user = {
1574
+ identifier: identifier,
1575
1575
  signerAuthToken: signerToken,
1576
- persAccessToken
1576
+ persAccessToken: persAccessToken,
1577
+ expiresAt: Date.now() + 300000 // 5 minutes
1577
1578
  };
1579
+ return user;
1578
1580
  }
1579
1581
  catch (error) {
1580
1582
  console.error(`[PersSignerSDK] Combined authentication failed for ${identifier}:`, error);
@@ -1739,7 +1741,7 @@ class PersSignerSDK {
1739
1741
  /**
1740
1742
  * Initialize the PERS Signer SDK
1741
1743
  *
1742
- * @param {PersSignerConfig} config - SDK configuration object
1744
+ * @param {ExtendedPersSignerConfig} config - SDK configuration object
1743
1745
  * @throws {Error} If required configuration is missing
1744
1746
  */
1745
1747
  constructor(config) {
@@ -1784,25 +1786,17 @@ class PersSignerSDK {
1784
1786
  throw new Error('Invalid or expired JWT token');
1785
1787
  }
1786
1788
  const identifier = payload.identifierEmail || payload.email || payload.userId;
1787
- const tenantId = payload.tenantId || this.config.tenantId || '';
1788
1789
  if (!identifier) {
1789
1790
  throw new Error('JWT token missing user identifier (identifierEmail, email, or userId)');
1790
1791
  }
1791
1792
  // Check cache first
1792
1793
  const cachedUser = UserCache.get(identifier);
1793
- if (cachedUser && cachedUser.tenantId === tenantId && Date.now() < cachedUser.expiresAt) {
1794
+ if (cachedUser && Date.now() < cachedUser.expiresAt) {
1794
1795
  return cachedUser;
1795
1796
  }
1796
1797
  try {
1797
1798
  // Authenticate and cache
1798
- const authResult = await this.authenticationService.combinedAuthentication(identifier, jwtToken);
1799
- const user = {
1800
- identifier: authResult.identifier,
1801
- signerAuthToken: authResult.signerAuthToken,
1802
- persAccessToken: authResult.persAccessToken,
1803
- tenantId,
1804
- expiresAt: Date.now() + 300000 // 5 minutes
1805
- };
1799
+ const user = await this.authenticationService.combinedAuthentication(identifier, jwtToken);
1806
1800
  UserCache.set(identifier, user);
1807
1801
  return user;
1808
1802
  }
@@ -1842,6 +1836,9 @@ class PersSignerSDK {
1842
1836
  if (!payload?.transactionId) {
1843
1837
  throw new Error('JWT token missing transactionId in payload');
1844
1838
  }
1839
+ if (!payload.tenantId) {
1840
+ throw new Error('JWT token missing tenantId in payload');
1841
+ }
1845
1842
  const authTokens = {
1846
1843
  signerAuthToken: user.signerAuthToken,
1847
1844
  persAccessToken: user.persAccessToken
@@ -1850,7 +1847,7 @@ class PersSignerSDK {
1850
1847
  const persSigningData = await this.transactionSigningService.getPersSigningData({
1851
1848
  transactionId: payload.transactionId,
1852
1849
  authTokens,
1853
- tenantId: user.tenantId
1850
+ tenantId: payload.tenantId
1854
1851
  });
1855
1852
  const result = await this.signTransaction(persSigningData, jwtToken);
1856
1853
  if (!result.success) {
@@ -1892,6 +1889,9 @@ class PersSignerSDK {
1892
1889
  if (!payload?.transactionId) {
1893
1890
  throw new Error('JWT token missing transactionId in payload');
1894
1891
  }
1892
+ if (!payload.tenantId) {
1893
+ throw new Error('JWT token missing tenantId in payload');
1894
+ }
1895
1895
  const authTokens = {
1896
1896
  signerAuthToken: user.signerAuthToken,
1897
1897
  persAccessToken: user.persAccessToken
@@ -1899,7 +1899,7 @@ class PersSignerSDK {
1899
1899
  try {
1900
1900
  const result = await this.transactionSigningService.signTransaction({
1901
1901
  transactionId: payload.transactionId,
1902
- tenantId: user.tenantId,
1902
+ tenantId: payload.tenantId,
1903
1903
  authTokens,
1904
1904
  ethersProviderUrl: this.config.ethersProviderUrl || ''
1905
1905
  }, signingData);
@@ -11642,6 +11642,14 @@ var WebAuthnProvider_browser = /*#__PURE__*/Object.freeze({
11642
11642
  getBrowserWebAuthnProvider: getBrowserWebAuthnProvider
11643
11643
  });
11644
11644
 
11645
+ Object.defineProperty(exports, "TRANSACTION_FORMATS", {
11646
+ enumerable: true,
11647
+ get: function () { return browser.TRANSACTION_FORMATS; }
11648
+ });
11649
+ Object.defineProperty(exports, "TRANSACTION_FORMAT_DESCRIPTIONS", {
11650
+ enumerable: true,
11651
+ get: function () { return browser.TRANSACTION_FORMAT_DESCRIPTIONS; }
11652
+ });
11645
11653
  Object.defineProperty(exports, "TransactionStatus", {
11646
11654
  enumerable: true,
11647
11655
  get: function () { return browser.TransactionStatus; }