@phantom/embedded-provider-core 1.0.0-beta.3 → 1.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { StamperWithKeyManagement } from '@phantom/sdk-types';
1
+ import { StamperWithKeyManagement, Transaction, VersionedTransaction } from '@phantom/sdk-types';
2
2
  import { ClientSideSdkHeaders, NetworkId } from '@phantom/constants';
3
3
  import { AddressType } from '@phantom/client';
4
4
  import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
@@ -66,7 +66,6 @@ interface AuthResult {
66
66
  }
67
67
  interface PhantomConnectOptions {
68
68
  organizationId: string;
69
- parentOrganizationId: string;
70
69
  appId: string;
71
70
  provider?: "google" | "apple";
72
71
  redirectUrl?: string;
@@ -77,7 +76,6 @@ interface PhantomConnectOptions {
77
76
  interface JWTAuthOptions {
78
77
  appId: string;
79
78
  organizationId: string;
80
- parentOrganizationId: string;
81
79
  jwtToken: string;
82
80
  customAuthData?: Record<string, any>;
83
81
  }
@@ -134,13 +132,12 @@ interface AuthOptions {
134
132
  interface EmbeddedProviderConfig {
135
133
  apiBaseUrl: string;
136
134
  appId: string;
137
- organizationId: string;
138
135
  authOptions: {
139
136
  authUrl: string;
140
137
  redirectUrl: string;
141
138
  };
142
139
  embeddedWalletType: "app-wallet" | "user-wallet" | (string & Record<never, never>);
143
- addressTypes: [AddressType, ...AddressType[]];
140
+ addressTypes: AddressType[];
144
141
  }
145
142
 
146
143
  type EmbeddedProviderEvent = "connect" | "connect_start" | "connect_error" | "disconnect" | "error";
@@ -212,12 +209,12 @@ declare class EmbeddedSolanaChain implements ISolanaChain {
212
209
  signature: Uint8Array;
213
210
  publicKey: string;
214
211
  }>;
215
- signTransaction<T>(transaction: T): Promise<T>;
216
- signAndSendTransaction<T>(transaction: T): Promise<{
212
+ signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
213
+ signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
217
214
  signature: string;
218
215
  }>;
219
- signAllTransactions<T>(transactions: T[]): Promise<T[]>;
220
- signAndSendAllTransactions<T>(transactions: T[]): Promise<{
216
+ signAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<(Transaction | VersionedTransaction)[]>;
217
+ signAndSendAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<{
221
218
  signatures: string[];
222
219
  }>;
223
220
  connect(_options?: {
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { StamperWithKeyManagement } from '@phantom/sdk-types';
1
+ import { StamperWithKeyManagement, Transaction, VersionedTransaction } from '@phantom/sdk-types';
2
2
  import { ClientSideSdkHeaders, NetworkId } from '@phantom/constants';
3
3
  import { AddressType } from '@phantom/client';
4
4
  import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
@@ -66,7 +66,6 @@ interface AuthResult {
66
66
  }
67
67
  interface PhantomConnectOptions {
68
68
  organizationId: string;
69
- parentOrganizationId: string;
70
69
  appId: string;
71
70
  provider?: "google" | "apple";
72
71
  redirectUrl?: string;
@@ -77,7 +76,6 @@ interface PhantomConnectOptions {
77
76
  interface JWTAuthOptions {
78
77
  appId: string;
79
78
  organizationId: string;
80
- parentOrganizationId: string;
81
79
  jwtToken: string;
82
80
  customAuthData?: Record<string, any>;
83
81
  }
@@ -134,13 +132,12 @@ interface AuthOptions {
134
132
  interface EmbeddedProviderConfig {
135
133
  apiBaseUrl: string;
136
134
  appId: string;
137
- organizationId: string;
138
135
  authOptions: {
139
136
  authUrl: string;
140
137
  redirectUrl: string;
141
138
  };
142
139
  embeddedWalletType: "app-wallet" | "user-wallet" | (string & Record<never, never>);
143
- addressTypes: [AddressType, ...AddressType[]];
140
+ addressTypes: AddressType[];
144
141
  }
145
142
 
146
143
  type EmbeddedProviderEvent = "connect" | "connect_start" | "connect_error" | "disconnect" | "error";
@@ -212,12 +209,12 @@ declare class EmbeddedSolanaChain implements ISolanaChain {
212
209
  signature: Uint8Array;
213
210
  publicKey: string;
214
211
  }>;
215
- signTransaction<T>(transaction: T): Promise<T>;
216
- signAndSendTransaction<T>(transaction: T): Promise<{
212
+ signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
213
+ signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
217
214
  signature: string;
218
215
  }>;
219
- signAllTransactions<T>(transactions: T[]): Promise<T[]>;
220
- signAndSendAllTransactions<T>(transactions: T[]): Promise<{
216
+ signAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<(Transaction | VersionedTransaction)[]>;
217
+ signAndSendAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<{
221
218
  signatures: string[];
222
219
  }>;
223
220
  connect(_options?: {
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ module.exports = __toCommonJS(src_exports);
43
43
 
44
44
  // src/embedded-provider.ts
45
45
  var import_client = require("@phantom/client");
46
+ var import_utils = require("@phantom/utils");
46
47
  var import_base64url2 = require("@phantom/base64url");
47
48
  var import_bs582 = __toESM(require("bs58"));
48
49
  var import_parsers2 = require("@phantom/parsers");
@@ -70,8 +71,7 @@ var JWTAuth = class {
70
71
  "X-PHANTOM-APPID": options.appId
71
72
  },
72
73
  body: JSON.stringify({
73
- organizationId: options.organizationId,
74
- parentOrganizationId: options.parentOrganizationId,
74
+ appId: options.appId,
75
75
  customAuthData: options.customAuthData
76
76
  })
77
77
  });
@@ -215,8 +215,12 @@ var EmbeddedSolanaChain = class {
215
215
  transaction,
216
216
  networkId: this.currentNetworkId
217
217
  });
218
- const signatureResult = (0, import_parsers.parseSolanaTransactionSignature)(result.rawTransaction);
219
- return signatureResult.signature;
218
+ const signedResult = (0, import_parsers.parseSolanaSignedTransaction)(result.rawTransaction);
219
+ if (signedResult.transaction && !signedResult.fallback) {
220
+ return signedResult.transaction;
221
+ } else {
222
+ throw new Error("Failed to parse signed transaction");
223
+ }
220
224
  }
221
225
  async signAndSendTransaction(transaction) {
222
226
  this.ensureConnected();
@@ -793,7 +797,7 @@ var EmbeddedProvider = class {
793
797
  );
794
798
  const platformName = this.platform.name || "unknown";
795
799
  const shortPubKey = stamperInfo.publicKey.slice(0, 8);
796
- const organizationName = `${this.config.organizationId}-${platformName}-${shortPubKey}`;
800
+ const organizationName = `${this.config.appId.substring(0, 8)}-${platformName}-${shortPubKey}`;
797
801
  this.logger.log("EMBEDDED_PROVIDER", "Creating organization", {
798
802
  organizationName,
799
803
  publicKey: stamperInfo.publicKey,
@@ -801,7 +805,7 @@ var EmbeddedProvider = class {
801
805
  });
802
806
  const base64urlPublicKey = (0, import_base64url2.base64urlEncode)(import_bs582.default.decode(stamperInfo.publicKey));
803
807
  const expiresInMs = AUTHENTICATOR_EXPIRATION_TIME_MS;
804
- const username = `user-${shortPubKey}`;
808
+ const username = `user-${(0, import_utils.randomUUID)()}`;
805
809
  const { organizationId } = await tempClient.createOrganization(organizationName, [
806
810
  {
807
811
  username,
@@ -1029,7 +1033,6 @@ var EmbeddedProvider = class {
1029
1033
  } else {
1030
1034
  this.logger.info("EMBEDDED_PROVIDER", "Starting redirect-based authentication flow", {
1031
1035
  organizationId,
1032
- parentOrganizationId: this.config.organizationId,
1033
1036
  provider: authOptions?.provider
1034
1037
  });
1035
1038
  return await this.handleRedirectAuth(organizationId, stamperInfo, authOptions, username);
@@ -1088,7 +1091,6 @@ var EmbeddedProvider = class {
1088
1091
  const authResult = await this.jwtAuth.authenticate({
1089
1092
  organizationId,
1090
1093
  appId: this.config.appId,
1091
- parentOrganizationId: this.config.organizationId,
1092
1094
  jwtToken: authOptions.jwtToken,
1093
1095
  customAuthData: authOptions.customAuthData
1094
1096
  });
@@ -1146,7 +1148,7 @@ var EmbeddedProvider = class {
1146
1148
  authenticatorCreatedAt: now,
1147
1149
  authenticatorExpiresAt: now + AUTHENTICATOR_EXPIRATION_TIME_MS,
1148
1150
  lastRenewalAttempt: void 0,
1149
- username: username || `user-${stamperInfo.keyId.substring(0, 8)}`
1151
+ username: username || `user-${(0, import_utils.randomUUID)()}`
1150
1152
  };
1151
1153
  this.logger.log("EMBEDDED_PROVIDER", "Saving temporary session before redirect", {
1152
1154
  sessionId: tempSession.sessionId,
@@ -1156,7 +1158,6 @@ var EmbeddedProvider = class {
1156
1158
  await this.storage.saveSession(tempSession);
1157
1159
  this.logger.info("EMBEDDED_PROVIDER", "Starting Phantom Connect redirect", {
1158
1160
  organizationId,
1159
- parentOrganizationId: this.config.organizationId,
1160
1161
  appId: this.config.appId,
1161
1162
  provider: authOptions?.provider,
1162
1163
  authUrl: this.config.authOptions.authUrl
@@ -1164,7 +1165,6 @@ var EmbeddedProvider = class {
1164
1165
  const authResult = await this.authProvider.authenticate({
1165
1166
  organizationId,
1166
1167
  appId: this.config.appId,
1167
- parentOrganizationId: this.config.organizationId,
1168
1168
  provider: authOptions?.provider,
1169
1169
  redirectUrl: this.config.authOptions.redirectUrl,
1170
1170
  customAuthData: authOptions?.customAuthData,