@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 +6 -9
- package/dist/index.d.ts +6 -9
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -8
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:
|
|
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
|
|
216
|
-
signAndSendTransaction
|
|
212
|
+
signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
|
|
213
|
+
signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
|
|
217
214
|
signature: string;
|
|
218
215
|
}>;
|
|
219
|
-
signAllTransactions
|
|
220
|
-
signAndSendAllTransactions
|
|
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:
|
|
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
|
|
216
|
-
signAndSendTransaction
|
|
212
|
+
signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
|
|
213
|
+
signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
|
|
217
214
|
signature: string;
|
|
218
215
|
}>;
|
|
219
|
-
signAllTransactions
|
|
220
|
-
signAndSendAllTransactions
|
|
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
|
-
|
|
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
|
|
219
|
-
|
|
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.
|
|
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-${
|
|
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-${
|
|
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,
|