@phantom/embedded-provider-core 0.1.10 → 1.0.0-beta.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/dist/index.d.mts +48 -1
- package/dist/index.d.ts +48 -1
- package/dist/index.js +175 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +174 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -7
package/dist/index.d.mts
CHANGED
|
@@ -2,6 +2,7 @@ import { StamperWithKeyManagement } from '@phantom/sdk-types';
|
|
|
2
2
|
import { AddressType } from '@phantom/client';
|
|
3
3
|
import { NetworkId } from '@phantom/constants';
|
|
4
4
|
import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
|
|
5
|
+
import { ISolanaChain, IEthereumChain, EthTransactionRequest } from '@phantom/chains';
|
|
5
6
|
|
|
6
7
|
interface Keypair {
|
|
7
8
|
publicKey: string;
|
|
@@ -154,6 +155,8 @@ declare class EmbeddedProvider {
|
|
|
154
155
|
private walletId;
|
|
155
156
|
private addresses;
|
|
156
157
|
private jwtAuth;
|
|
158
|
+
readonly solana: ISolanaChain;
|
|
159
|
+
readonly ethereum: IEthereumChain;
|
|
157
160
|
private eventListeners;
|
|
158
161
|
constructor(config: EmbeddedProviderConfig, platform: PlatformAdapter, logger: DebugLogger);
|
|
159
162
|
on(event: EmbeddedProviderEvent, callback: EventCallback): void;
|
|
@@ -189,6 +192,50 @@ declare function generateSessionId(): string;
|
|
|
189
192
|
|
|
190
193
|
declare function retryWithBackoff<T>(operation: () => Promise<T>, operationName: string, logger: DebugLogger, maxRetries?: number, baseDelay?: number): Promise<T>;
|
|
191
194
|
|
|
195
|
+
/**
|
|
196
|
+
* Embedded Solana chain implementation for React Native and web embedded providers
|
|
197
|
+
*/
|
|
198
|
+
declare class EmbeddedSolanaChain implements ISolanaChain {
|
|
199
|
+
private provider;
|
|
200
|
+
private currentNetworkId;
|
|
201
|
+
constructor(provider: EmbeddedProvider);
|
|
202
|
+
private ensureConnected;
|
|
203
|
+
signMessage(message: string): Promise<ParsedSignatureResult>;
|
|
204
|
+
signTransaction<T>(_transaction: T): Promise<T>;
|
|
205
|
+
signAndSendTransaction<T>(transaction: T): Promise<ParsedTransactionResult>;
|
|
206
|
+
connect(_options?: {
|
|
207
|
+
onlyIfTrusted?: boolean;
|
|
208
|
+
}): Promise<{
|
|
209
|
+
publicKey: string;
|
|
210
|
+
}>;
|
|
211
|
+
disconnect(): Promise<void>;
|
|
212
|
+
switchNetwork(network: 'mainnet' | 'devnet'): Promise<void>;
|
|
213
|
+
getPublicKey(): Promise<string | null>;
|
|
214
|
+
isConnected(): boolean;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Embedded Ethereum chain implementation for React Native and web embedded providers
|
|
219
|
+
*/
|
|
220
|
+
declare class EmbeddedEthereumChain implements IEthereumChain {
|
|
221
|
+
private provider;
|
|
222
|
+
private currentNetworkId;
|
|
223
|
+
constructor(provider: EmbeddedProvider);
|
|
224
|
+
private ensureConnected;
|
|
225
|
+
request<T = any>(args: {
|
|
226
|
+
method: string;
|
|
227
|
+
params?: unknown[];
|
|
228
|
+
}): Promise<T>;
|
|
229
|
+
signPersonalMessage(message: string, address: string): Promise<ParsedSignatureResult>;
|
|
230
|
+
signTypedData(typedData: any, address: string): Promise<ParsedSignatureResult>;
|
|
231
|
+
sendTransaction(transaction: EthTransactionRequest): Promise<ParsedTransactionResult>;
|
|
232
|
+
switchChain(chainId: number): Promise<void>;
|
|
233
|
+
getChainId(): Promise<number>;
|
|
234
|
+
getAccounts(): Promise<string[]>;
|
|
235
|
+
isConnected(): boolean;
|
|
236
|
+
private handleEmbeddedRequest;
|
|
237
|
+
}
|
|
238
|
+
|
|
192
239
|
/**
|
|
193
240
|
* Constants for authenticator lifecycle management
|
|
194
241
|
*/
|
|
@@ -205,4 +252,4 @@ declare const AUTHENTICATOR_EXPIRATION_TIME_MS: number;
|
|
|
205
252
|
*/
|
|
206
253
|
declare const AUTHENTICATOR_RENEWAL_WINDOW_MS: number;
|
|
207
254
|
|
|
208
|
-
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
|
255
|
+
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { StamperWithKeyManagement } from '@phantom/sdk-types';
|
|
|
2
2
|
import { AddressType } from '@phantom/client';
|
|
3
3
|
import { NetworkId } from '@phantom/constants';
|
|
4
4
|
import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
|
|
5
|
+
import { ISolanaChain, IEthereumChain, EthTransactionRequest } from '@phantom/chains';
|
|
5
6
|
|
|
6
7
|
interface Keypair {
|
|
7
8
|
publicKey: string;
|
|
@@ -154,6 +155,8 @@ declare class EmbeddedProvider {
|
|
|
154
155
|
private walletId;
|
|
155
156
|
private addresses;
|
|
156
157
|
private jwtAuth;
|
|
158
|
+
readonly solana: ISolanaChain;
|
|
159
|
+
readonly ethereum: IEthereumChain;
|
|
157
160
|
private eventListeners;
|
|
158
161
|
constructor(config: EmbeddedProviderConfig, platform: PlatformAdapter, logger: DebugLogger);
|
|
159
162
|
on(event: EmbeddedProviderEvent, callback: EventCallback): void;
|
|
@@ -189,6 +192,50 @@ declare function generateSessionId(): string;
|
|
|
189
192
|
|
|
190
193
|
declare function retryWithBackoff<T>(operation: () => Promise<T>, operationName: string, logger: DebugLogger, maxRetries?: number, baseDelay?: number): Promise<T>;
|
|
191
194
|
|
|
195
|
+
/**
|
|
196
|
+
* Embedded Solana chain implementation for React Native and web embedded providers
|
|
197
|
+
*/
|
|
198
|
+
declare class EmbeddedSolanaChain implements ISolanaChain {
|
|
199
|
+
private provider;
|
|
200
|
+
private currentNetworkId;
|
|
201
|
+
constructor(provider: EmbeddedProvider);
|
|
202
|
+
private ensureConnected;
|
|
203
|
+
signMessage(message: string): Promise<ParsedSignatureResult>;
|
|
204
|
+
signTransaction<T>(_transaction: T): Promise<T>;
|
|
205
|
+
signAndSendTransaction<T>(transaction: T): Promise<ParsedTransactionResult>;
|
|
206
|
+
connect(_options?: {
|
|
207
|
+
onlyIfTrusted?: boolean;
|
|
208
|
+
}): Promise<{
|
|
209
|
+
publicKey: string;
|
|
210
|
+
}>;
|
|
211
|
+
disconnect(): Promise<void>;
|
|
212
|
+
switchNetwork(network: 'mainnet' | 'devnet'): Promise<void>;
|
|
213
|
+
getPublicKey(): Promise<string | null>;
|
|
214
|
+
isConnected(): boolean;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Embedded Ethereum chain implementation for React Native and web embedded providers
|
|
219
|
+
*/
|
|
220
|
+
declare class EmbeddedEthereumChain implements IEthereumChain {
|
|
221
|
+
private provider;
|
|
222
|
+
private currentNetworkId;
|
|
223
|
+
constructor(provider: EmbeddedProvider);
|
|
224
|
+
private ensureConnected;
|
|
225
|
+
request<T = any>(args: {
|
|
226
|
+
method: string;
|
|
227
|
+
params?: unknown[];
|
|
228
|
+
}): Promise<T>;
|
|
229
|
+
signPersonalMessage(message: string, address: string): Promise<ParsedSignatureResult>;
|
|
230
|
+
signTypedData(typedData: any, address: string): Promise<ParsedSignatureResult>;
|
|
231
|
+
sendTransaction(transaction: EthTransactionRequest): Promise<ParsedTransactionResult>;
|
|
232
|
+
switchChain(chainId: number): Promise<void>;
|
|
233
|
+
getChainId(): Promise<number>;
|
|
234
|
+
getAccounts(): Promise<string[]>;
|
|
235
|
+
isConnected(): boolean;
|
|
236
|
+
private handleEmbeddedRequest;
|
|
237
|
+
}
|
|
238
|
+
|
|
192
239
|
/**
|
|
193
240
|
* Constants for authenticator lifecycle management
|
|
194
241
|
*/
|
|
@@ -205,4 +252,4 @@ declare const AUTHENTICATOR_EXPIRATION_TIME_MS: number;
|
|
|
205
252
|
*/
|
|
206
253
|
declare const AUTHENTICATOR_RENEWAL_WINDOW_MS: number;
|
|
207
254
|
|
|
208
|
-
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
|
255
|
+
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
package/dist/index.js
CHANGED
|
@@ -32,7 +32,9 @@ var src_exports = {};
|
|
|
32
32
|
__export(src_exports, {
|
|
33
33
|
AUTHENTICATOR_EXPIRATION_TIME_MS: () => AUTHENTICATOR_EXPIRATION_TIME_MS,
|
|
34
34
|
AUTHENTICATOR_RENEWAL_WINDOW_MS: () => AUTHENTICATOR_RENEWAL_WINDOW_MS,
|
|
35
|
+
EmbeddedEthereumChain: () => EmbeddedEthereumChain,
|
|
35
36
|
EmbeddedProvider: () => EmbeddedProvider,
|
|
37
|
+
EmbeddedSolanaChain: () => EmbeddedSolanaChain,
|
|
36
38
|
JWTAuth: () => JWTAuth,
|
|
37
39
|
generateSessionId: () => generateSessionId,
|
|
38
40
|
retryWithBackoff: () => retryWithBackoff
|
|
@@ -43,7 +45,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
43
45
|
var import_client = require("@phantom/client");
|
|
44
46
|
var import_base64url = require("@phantom/base64url");
|
|
45
47
|
var import_bs58 = __toESM(require("bs58"));
|
|
46
|
-
var
|
|
48
|
+
var import_parsers3 = require("@phantom/parsers");
|
|
47
49
|
|
|
48
50
|
// src/constants.ts
|
|
49
51
|
var AUTHENTICATOR_EXPIRATION_TIME_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
@@ -165,6 +167,170 @@ async function retryWithBackoff(operation, operationName, logger, maxRetries = 3
|
|
|
165
167
|
throw lastError;
|
|
166
168
|
}
|
|
167
169
|
|
|
170
|
+
// src/chains/SolanaChain.ts
|
|
171
|
+
var import_constants = require("@phantom/constants");
|
|
172
|
+
var import_parsers = require("@phantom/parsers");
|
|
173
|
+
var EmbeddedSolanaChain = class {
|
|
174
|
+
constructor(provider) {
|
|
175
|
+
this.provider = provider;
|
|
176
|
+
this.currentNetworkId = import_constants.NetworkId.SOLANA_MAINNET;
|
|
177
|
+
}
|
|
178
|
+
ensureConnected() {
|
|
179
|
+
if (!this.provider.isConnected()) {
|
|
180
|
+
throw new Error("Solana chain not available. Ensure SDK is connected.");
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async signMessage(message) {
|
|
184
|
+
this.ensureConnected();
|
|
185
|
+
const result = await this.provider.signMessage({
|
|
186
|
+
message,
|
|
187
|
+
networkId: this.currentNetworkId
|
|
188
|
+
});
|
|
189
|
+
return (0, import_parsers.parseSignMessageResponse)(result.signature, this.currentNetworkId);
|
|
190
|
+
}
|
|
191
|
+
signTransaction(_transaction) {
|
|
192
|
+
this.ensureConnected();
|
|
193
|
+
throw new Error("signTransaction not yet implemented for embedded provider");
|
|
194
|
+
}
|
|
195
|
+
async signAndSendTransaction(transaction) {
|
|
196
|
+
this.ensureConnected();
|
|
197
|
+
const result = await this.provider.signAndSendTransaction({
|
|
198
|
+
transaction,
|
|
199
|
+
networkId: this.currentNetworkId
|
|
200
|
+
});
|
|
201
|
+
return (0, import_parsers.parseTransactionResponse)(result.rawTransaction, this.currentNetworkId, result.hash);
|
|
202
|
+
}
|
|
203
|
+
connect(_options) {
|
|
204
|
+
const addresses = this.provider.getAddresses();
|
|
205
|
+
const solanaAddr = addresses.find((a) => a.addressType === "Solana");
|
|
206
|
+
if (!solanaAddr)
|
|
207
|
+
throw new Error("No Solana address found");
|
|
208
|
+
return Promise.resolve({ publicKey: solanaAddr.address });
|
|
209
|
+
}
|
|
210
|
+
async disconnect() {
|
|
211
|
+
return this.provider.disconnect();
|
|
212
|
+
}
|
|
213
|
+
switchNetwork(network) {
|
|
214
|
+
this.currentNetworkId = network === "mainnet" ? import_constants.NetworkId.SOLANA_MAINNET : import_constants.NetworkId.SOLANA_DEVNET;
|
|
215
|
+
return Promise.resolve();
|
|
216
|
+
}
|
|
217
|
+
getPublicKey() {
|
|
218
|
+
if (!this.provider.isConnected())
|
|
219
|
+
return Promise.resolve(null);
|
|
220
|
+
const addresses = this.provider.getAddresses();
|
|
221
|
+
const solanaAddr = addresses.find((a) => a.addressType === "Solana");
|
|
222
|
+
return Promise.resolve(solanaAddr?.address || null);
|
|
223
|
+
}
|
|
224
|
+
isConnected() {
|
|
225
|
+
return this.provider.isConnected();
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
// src/chains/EthereumChain.ts
|
|
230
|
+
var import_constants2 = require("@phantom/constants");
|
|
231
|
+
var import_parsers2 = require("@phantom/parsers");
|
|
232
|
+
var EmbeddedEthereumChain = class {
|
|
233
|
+
constructor(provider) {
|
|
234
|
+
this.provider = provider;
|
|
235
|
+
this.currentNetworkId = import_constants2.NetworkId.ETHEREUM_MAINNET;
|
|
236
|
+
}
|
|
237
|
+
ensureConnected() {
|
|
238
|
+
if (!this.provider.isConnected()) {
|
|
239
|
+
throw new Error("Ethereum chain not available. Ensure SDK is connected.");
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
async request(args) {
|
|
243
|
+
this.ensureConnected();
|
|
244
|
+
return this.handleEmbeddedRequest(args);
|
|
245
|
+
}
|
|
246
|
+
async signPersonalMessage(message, address) {
|
|
247
|
+
const signature = await this.request({
|
|
248
|
+
method: "personal_sign",
|
|
249
|
+
params: [message, address]
|
|
250
|
+
});
|
|
251
|
+
return (0, import_parsers2.parseSignMessageResponse)(signature, this.currentNetworkId);
|
|
252
|
+
}
|
|
253
|
+
async signTypedData(typedData, address) {
|
|
254
|
+
const signature = await this.request({
|
|
255
|
+
method: "eth_signTypedData_v4",
|
|
256
|
+
params: [address, JSON.stringify(typedData)]
|
|
257
|
+
});
|
|
258
|
+
return (0, import_parsers2.parseSignMessageResponse)(signature, this.currentNetworkId);
|
|
259
|
+
}
|
|
260
|
+
async sendTransaction(transaction) {
|
|
261
|
+
const result = await this.provider.signAndSendTransaction({
|
|
262
|
+
transaction,
|
|
263
|
+
networkId: this.currentNetworkId
|
|
264
|
+
});
|
|
265
|
+
return (0, import_parsers2.parseTransactionResponse)(result.rawTransaction, this.currentNetworkId, result.hash);
|
|
266
|
+
}
|
|
267
|
+
switchChain(chainId) {
|
|
268
|
+
const networkId = (0, import_constants2.chainIdToNetworkId)(chainId);
|
|
269
|
+
if (!networkId) {
|
|
270
|
+
return Promise.reject(new Error(`Unsupported chainId: ${chainId}`));
|
|
271
|
+
}
|
|
272
|
+
this.currentNetworkId = networkId;
|
|
273
|
+
return Promise.resolve();
|
|
274
|
+
}
|
|
275
|
+
getChainId() {
|
|
276
|
+
const chainId = (0, import_constants2.networkIdToChainId)(this.currentNetworkId);
|
|
277
|
+
return Promise.resolve(chainId || 1);
|
|
278
|
+
}
|
|
279
|
+
async getAccounts() {
|
|
280
|
+
return this.request({ method: "eth_accounts" });
|
|
281
|
+
}
|
|
282
|
+
isConnected() {
|
|
283
|
+
return this.provider.isConnected();
|
|
284
|
+
}
|
|
285
|
+
async handleEmbeddedRequest(args) {
|
|
286
|
+
switch (args.method) {
|
|
287
|
+
case "personal_sign": {
|
|
288
|
+
const [message, _address] = args.params;
|
|
289
|
+
const result = await this.provider.signMessage({
|
|
290
|
+
message,
|
|
291
|
+
networkId: this.currentNetworkId
|
|
292
|
+
});
|
|
293
|
+
return (0, import_parsers2.parseSignMessageResponse)(result.signature, this.currentNetworkId).signature;
|
|
294
|
+
}
|
|
295
|
+
case "eth_signTypedData_v4": {
|
|
296
|
+
const [_typedDataAddress, typedDataStr] = args.params;
|
|
297
|
+
const _typedData = JSON.parse(typedDataStr);
|
|
298
|
+
const typedDataResult = await this.provider.signMessage({
|
|
299
|
+
message: typedDataStr,
|
|
300
|
+
// Pass the stringified typed data as message
|
|
301
|
+
networkId: this.currentNetworkId
|
|
302
|
+
});
|
|
303
|
+
return (0, import_parsers2.parseSignMessageResponse)(typedDataResult.signature, this.currentNetworkId).signature;
|
|
304
|
+
}
|
|
305
|
+
case "eth_sendTransaction": {
|
|
306
|
+
const [transaction] = args.params;
|
|
307
|
+
const networkIdFromTx = transaction.chainId ? (0, import_constants2.chainIdToNetworkId)(typeof transaction.chainId === "number" ? transaction.chainId : parseInt(transaction.chainId, 16)) : null;
|
|
308
|
+
const sendResult = await this.provider.signAndSendTransaction({
|
|
309
|
+
transaction,
|
|
310
|
+
networkId: networkIdFromTx || this.currentNetworkId
|
|
311
|
+
});
|
|
312
|
+
return (0, import_parsers2.parseTransactionResponse)(sendResult.rawTransaction, this.currentNetworkId, sendResult.hash).hash;
|
|
313
|
+
}
|
|
314
|
+
case "eth_accounts": {
|
|
315
|
+
const addresses = this.provider.getAddresses();
|
|
316
|
+
const ethAddr = addresses.find((a) => a.addressType === "Ethereum");
|
|
317
|
+
return ethAddr ? [ethAddr.address] : [];
|
|
318
|
+
}
|
|
319
|
+
case "eth_chainId": {
|
|
320
|
+
return `0x${((0, import_constants2.networkIdToChainId)(this.currentNetworkId) || 1).toString(16)}`;
|
|
321
|
+
}
|
|
322
|
+
case "wallet_switchEthereumChain": {
|
|
323
|
+
const [{ chainId }] = args.params;
|
|
324
|
+
const numericChainId = parseInt(chainId, 16);
|
|
325
|
+
await this.switchChain(numericChainId);
|
|
326
|
+
return void 0;
|
|
327
|
+
}
|
|
328
|
+
default:
|
|
329
|
+
throw new Error(`Embedded provider doesn't support method: ${args.method}`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
|
|
168
334
|
// src/embedded-provider.ts
|
|
169
335
|
var EmbeddedProvider = class {
|
|
170
336
|
constructor(config, platform, logger) {
|
|
@@ -182,6 +348,8 @@ var EmbeddedProvider = class {
|
|
|
182
348
|
this.stamper = platform.stamper;
|
|
183
349
|
this.jwtAuth = new JWTAuth();
|
|
184
350
|
config.solanaProvider;
|
|
351
|
+
this.solana = new EmbeddedSolanaChain(this);
|
|
352
|
+
this.ethereum = new EmbeddedEthereumChain(this);
|
|
185
353
|
this.logger.info("EMBEDDED_PROVIDER", "EmbeddedProvider initialized");
|
|
186
354
|
}
|
|
187
355
|
/*
|
|
@@ -575,7 +743,7 @@ var EmbeddedProvider = class {
|
|
|
575
743
|
walletId: this.walletId,
|
|
576
744
|
message: params.message
|
|
577
745
|
});
|
|
578
|
-
const parsedMessage = (0,
|
|
746
|
+
const parsedMessage = (0, import_parsers3.parseMessage)(params.message);
|
|
579
747
|
const session = await this.storage.getSession();
|
|
580
748
|
const derivationIndex = session?.accountDerivationIndex ?? 0;
|
|
581
749
|
const rawResponse = await this.client.signMessage({
|
|
@@ -588,7 +756,7 @@ var EmbeddedProvider = class {
|
|
|
588
756
|
walletId: this.walletId,
|
|
589
757
|
message: params.message
|
|
590
758
|
});
|
|
591
|
-
return (0,
|
|
759
|
+
return (0, import_parsers3.parseSignMessageResponse)(rawResponse, params.networkId);
|
|
592
760
|
}
|
|
593
761
|
async signAndSendTransaction(params) {
|
|
594
762
|
if (!this.client || !this.walletId) {
|
|
@@ -599,7 +767,7 @@ var EmbeddedProvider = class {
|
|
|
599
767
|
walletId: this.walletId,
|
|
600
768
|
networkId: params.networkId
|
|
601
769
|
});
|
|
602
|
-
const parsedTransaction = await (0,
|
|
770
|
+
const parsedTransaction = await (0, import_parsers3.parseTransactionToBase64Url)(params.transaction, params.networkId);
|
|
603
771
|
const session = await this.storage.getSession();
|
|
604
772
|
const derivationIndex = session?.accountDerivationIndex ?? 0;
|
|
605
773
|
this.logger.log("EMBEDDED_PROVIDER", "Parsed transaction for signing", {
|
|
@@ -619,7 +787,7 @@ var EmbeddedProvider = class {
|
|
|
619
787
|
hash: rawResponse.hash,
|
|
620
788
|
rawTransaction: rawResponse.rawTransaction
|
|
621
789
|
});
|
|
622
|
-
return await (0,
|
|
790
|
+
return await (0, import_parsers3.parseTransactionResponse)(rawResponse.rawTransaction, params.networkId, rawResponse.hash);
|
|
623
791
|
}
|
|
624
792
|
getAddresses() {
|
|
625
793
|
return this.addresses;
|
|
@@ -940,7 +1108,9 @@ var EmbeddedProvider = class {
|
|
|
940
1108
|
0 && (module.exports = {
|
|
941
1109
|
AUTHENTICATOR_EXPIRATION_TIME_MS,
|
|
942
1110
|
AUTHENTICATOR_RENEWAL_WINDOW_MS,
|
|
1111
|
+
EmbeddedEthereumChain,
|
|
943
1112
|
EmbeddedProvider,
|
|
1113
|
+
EmbeddedSolanaChain,
|
|
944
1114
|
JWTAuth,
|
|
945
1115
|
generateSessionId,
|
|
946
1116
|
retryWithBackoff
|