@phantom/server-sdk 1.0.0-beta.16 → 1.0.0-beta.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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { AddressType, NetworkId, PhantomClient, Organization, GetWalletsResult, CreateWalletResult } from '@phantom/client';
2
2
  export { CreateWalletResult, DerivationPath, GetWalletsResult, NetworkConfig, PhantomClient, SignedTransaction, SignedTransactionResult, Transaction, Wallet, deriveSubmissionConfig, generateKeyPair, getDerivationPathForNetwork, getNetworkConfig, getNetworkDescription, getNetworkIdsByChain, getSupportedNetworkIds, supportsTransactionSubmission } from '@phantom/client';
3
3
  import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
4
- export { ParsedMessage, ParsedSignatureResult, ParsedTransaction, ParsedTransactionResult, parseMessage, parseSignMessageResponse, parseTransactionResponse, parseTransactionToBase64Url } from '@phantom/parsers';
4
+ export { ParsedSignatureResult, ParsedTransaction, ParsedTransactionResult, parseSignMessageResponse, parseToKmsTransaction, parseTransactionResponse } from '@phantom/parsers';
5
5
  export { NetworkId } from '@phantom/constants';
6
6
  export { ApiKeyStamper } from '@phantom/api-key-stamper';
7
7
 
@@ -42,6 +42,7 @@ declare class ServerSDK {
42
42
  constructor(config: ServerSDKConfig);
43
43
  /**
44
44
  * Sign a message - supports plain text and automatically converts to base64url
45
+ * Routes to appropriate signing method based on network type
45
46
  * @param params - Message parameters with plain text message
46
47
  * @returns Promise<ParsedSignatureResult> - Parsed signature with explorer URL
47
48
  */
package/dist/index.js CHANGED
@@ -42,10 +42,9 @@ __export(src_exports, {
42
42
  getNetworkDescription: () => import_client2.getNetworkDescription,
43
43
  getNetworkIdsByChain: () => import_client2.getNetworkIdsByChain,
44
44
  getSupportedNetworkIds: () => import_client2.getSupportedNetworkIds,
45
- parseMessage: () => import_parsers2.parseMessage,
46
45
  parseSignMessageResponse: () => import_parsers2.parseSignMessageResponse,
46
+ parseToKmsTransaction: () => import_parsers2.parseToKmsTransaction,
47
47
  parseTransactionResponse: () => import_parsers2.parseTransactionResponse,
48
- parseTransactionToBase64Url: () => import_parsers2.parseTransactionToBase64Url,
49
48
  supportsTransactionSubmission: () => import_client2.supportsTransactionSubmission
50
49
  });
51
50
  module.exports = __toCommonJS(src_exports);
@@ -59,7 +58,7 @@ var import_bs58 = __toESM(require("bs58"));
59
58
  // package.json
60
59
  var package_default = {
61
60
  name: "@phantom/server-sdk",
62
- version: "1.0.0-beta.16",
61
+ version: "1.0.0-beta.18",
63
62
  description: "Server SDK for Phantom Wallet",
64
63
  main: "dist/index.js",
65
64
  module: "dist/index.mjs",
@@ -154,18 +153,19 @@ var ServerSDK = class {
154
153
  }
155
154
  /**
156
155
  * Sign a message - supports plain text and automatically converts to base64url
156
+ * Routes to appropriate signing method based on network type
157
157
  * @param params - Message parameters with plain text message
158
158
  * @returns Promise<ParsedSignatureResult> - Parsed signature with explorer URL
159
159
  */
160
160
  async signMessage(params) {
161
- const parsedMessage = (0, import_parsers.parseMessage)(params.message);
161
+ const base64UrlMessage = (0, import_base64url.stringToBase64url)(params.message);
162
162
  const signMessageParams = {
163
163
  walletId: params.walletId,
164
- message: parsedMessage.base64url,
164
+ message: base64UrlMessage,
165
165
  networkId: params.networkId,
166
166
  derivationIndex: params.derivationIndex
167
167
  };
168
- const rawResponse = await this.client.signMessage(signMessageParams);
168
+ const rawResponse = (0, import_utils.isEthereumChain)(params.networkId) ? await this.client.ethereumSignMessage(signMessageParams) : await this.client.signRawPayload(signMessageParams);
169
169
  return (0, import_parsers.parseSignMessageResponse)(rawResponse, params.networkId);
170
170
  }
171
171
  /**
@@ -174,15 +174,18 @@ var ServerSDK = class {
174
174
  * @returns Promise<ParsedTransactionResult> - Parsed transaction result without hash
175
175
  */
176
176
  async signTransaction(params) {
177
- const parsedTransaction = await (0, import_parsers.parseTransactionToBase64Url)(params.transaction, params.networkId);
178
- const signTransactionParams = {
177
+ const parsedTransaction = await (0, import_parsers.parseToKmsTransaction)(params.transaction, params.networkId);
178
+ const transactionPayload = parsedTransaction.parsed;
179
+ if (!transactionPayload) {
180
+ throw new Error("Failed to parse transaction: no valid encoding found");
181
+ }
182
+ const rawResponse = await this.client.signTransaction({
179
183
  walletId: params.walletId,
180
- transaction: parsedTransaction.base64url,
184
+ transaction: transactionPayload,
181
185
  networkId: params.networkId,
182
186
  derivationIndex: params.derivationIndex,
183
187
  account: params.account
184
- };
185
- const rawResponse = await this.client.signTransaction(signTransactionParams);
188
+ });
186
189
  return await (0, import_parsers.parseTransactionResponse)(rawResponse.rawTransaction, params.networkId);
187
190
  }
188
191
  /**
@@ -191,15 +194,18 @@ var ServerSDK = class {
191
194
  * @returns Promise<ParsedTransactionResult> - Parsed transaction result with hash and explorer URL
192
195
  */
193
196
  async signAndSendTransaction(params) {
194
- const parsedTransaction = await (0, import_parsers.parseTransactionToBase64Url)(params.transaction, params.networkId);
195
- const signAndSendParams = {
197
+ const parsedTransaction = await (0, import_parsers.parseToKmsTransaction)(params.transaction, params.networkId);
198
+ const transactionPayload = parsedTransaction.parsed;
199
+ if (!transactionPayload) {
200
+ throw new Error("Failed to parse transaction: no valid encoding found");
201
+ }
202
+ const rawResponse = await this.client.signAndSendTransaction({
196
203
  walletId: params.walletId,
197
- transaction: parsedTransaction.base64url,
204
+ transaction: transactionPayload,
198
205
  networkId: params.networkId,
199
206
  derivationIndex: params.derivationIndex,
200
207
  account: params.account
201
- };
202
- const rawResponse = await this.client.signAndSendTransaction(signAndSendParams);
208
+ });
203
209
  return await (0, import_parsers.parseTransactionResponse)(rawResponse.rawTransaction, params.networkId, rawResponse.hash);
204
210
  }
205
211
  createOrganization(name, keyPair) {
@@ -254,9 +260,8 @@ var ServerSDK = class {
254
260
  getNetworkDescription,
255
261
  getNetworkIdsByChain,
256
262
  getSupportedNetworkIds,
257
- parseMessage,
258
263
  parseSignMessageResponse,
264
+ parseToKmsTransaction,
259
265
  parseTransactionResponse,
260
- parseTransactionToBase64Url,
261
266
  supportsTransactionSubmission
262
267
  });
package/dist/index.mjs CHANGED
@@ -2,19 +2,19 @@
2
2
  import {
3
3
  PhantomClient
4
4
  } from "@phantom/client";
5
- import { randomUUID, getSecureTimestampSync } from "@phantom/utils";
5
+ import { randomUUID, getSecureTimestampSync, isEthereumChain } from "@phantom/utils";
6
6
  import {
7
7
  ANALYTICS_HEADERS,
8
8
  DEFAULT_WALLET_API_URL
9
9
  } from "@phantom/constants";
10
10
  import { ApiKeyStamper } from "@phantom/api-key-stamper";
11
- import { base64urlEncode } from "@phantom/base64url";
11
+ import { base64urlEncode, stringToBase64url } from "@phantom/base64url";
12
12
  import bs58 from "bs58";
13
13
 
14
14
  // package.json
15
15
  var package_default = {
16
16
  name: "@phantom/server-sdk",
17
- version: "1.0.0-beta.16",
17
+ version: "1.0.0-beta.18",
18
18
  description: "Server SDK for Phantom Wallet",
19
19
  main: "dist/index.js",
20
20
  module: "dist/index.mjs",
@@ -69,8 +69,7 @@ var package_default = {
69
69
 
70
70
  // src/index.ts
71
71
  import {
72
- parseMessage,
73
- parseTransactionToBase64Url,
72
+ parseToKmsTransaction,
74
73
  parseSignMessageResponse,
75
74
  parseTransactionResponse
76
75
  } from "@phantom/parsers";
@@ -89,8 +88,7 @@ import {
89
88
  import { NetworkId } from "@phantom/constants";
90
89
  import { ApiKeyStamper as ApiKeyStamper2 } from "@phantom/api-key-stamper";
91
90
  import {
92
- parseMessage as parseMessage2,
93
- parseTransactionToBase64Url as parseTransactionToBase64Url2,
91
+ parseToKmsTransaction as parseToKmsTransaction2,
94
92
  parseSignMessageResponse as parseSignMessageResponse2,
95
93
  parseTransactionResponse as parseTransactionResponse2
96
94
  } from "@phantom/parsers";
@@ -130,18 +128,19 @@ var ServerSDK = class {
130
128
  }
131
129
  /**
132
130
  * Sign a message - supports plain text and automatically converts to base64url
131
+ * Routes to appropriate signing method based on network type
133
132
  * @param params - Message parameters with plain text message
134
133
  * @returns Promise<ParsedSignatureResult> - Parsed signature with explorer URL
135
134
  */
136
135
  async signMessage(params) {
137
- const parsedMessage = parseMessage(params.message);
136
+ const base64UrlMessage = stringToBase64url(params.message);
138
137
  const signMessageParams = {
139
138
  walletId: params.walletId,
140
- message: parsedMessage.base64url,
139
+ message: base64UrlMessage,
141
140
  networkId: params.networkId,
142
141
  derivationIndex: params.derivationIndex
143
142
  };
144
- const rawResponse = await this.client.signMessage(signMessageParams);
143
+ const rawResponse = isEthereumChain(params.networkId) ? await this.client.ethereumSignMessage(signMessageParams) : await this.client.signRawPayload(signMessageParams);
145
144
  return parseSignMessageResponse(rawResponse, params.networkId);
146
145
  }
147
146
  /**
@@ -150,15 +149,18 @@ var ServerSDK = class {
150
149
  * @returns Promise<ParsedTransactionResult> - Parsed transaction result without hash
151
150
  */
152
151
  async signTransaction(params) {
153
- const parsedTransaction = await parseTransactionToBase64Url(params.transaction, params.networkId);
154
- const signTransactionParams = {
152
+ const parsedTransaction = await parseToKmsTransaction(params.transaction, params.networkId);
153
+ const transactionPayload = parsedTransaction.parsed;
154
+ if (!transactionPayload) {
155
+ throw new Error("Failed to parse transaction: no valid encoding found");
156
+ }
157
+ const rawResponse = await this.client.signTransaction({
155
158
  walletId: params.walletId,
156
- transaction: parsedTransaction.base64url,
159
+ transaction: transactionPayload,
157
160
  networkId: params.networkId,
158
161
  derivationIndex: params.derivationIndex,
159
162
  account: params.account
160
- };
161
- const rawResponse = await this.client.signTransaction(signTransactionParams);
163
+ });
162
164
  return await parseTransactionResponse(rawResponse.rawTransaction, params.networkId);
163
165
  }
164
166
  /**
@@ -167,15 +169,18 @@ var ServerSDK = class {
167
169
  * @returns Promise<ParsedTransactionResult> - Parsed transaction result with hash and explorer URL
168
170
  */
169
171
  async signAndSendTransaction(params) {
170
- const parsedTransaction = await parseTransactionToBase64Url(params.transaction, params.networkId);
171
- const signAndSendParams = {
172
+ const parsedTransaction = await parseToKmsTransaction(params.transaction, params.networkId);
173
+ const transactionPayload = parsedTransaction.parsed;
174
+ if (!transactionPayload) {
175
+ throw new Error("Failed to parse transaction: no valid encoding found");
176
+ }
177
+ const rawResponse = await this.client.signAndSendTransaction({
172
178
  walletId: params.walletId,
173
- transaction: parsedTransaction.base64url,
179
+ transaction: transactionPayload,
174
180
  networkId: params.networkId,
175
181
  derivationIndex: params.derivationIndex,
176
182
  account: params.account
177
- };
178
- const rawResponse = await this.client.signAndSendTransaction(signAndSendParams);
183
+ });
179
184
  return await parseTransactionResponse(rawResponse.rawTransaction, params.networkId, rawResponse.hash);
180
185
  }
181
186
  createOrganization(name, keyPair) {
@@ -229,9 +234,8 @@ export {
229
234
  getNetworkDescription,
230
235
  getNetworkIdsByChain,
231
236
  getSupportedNetworkIds,
232
- parseMessage2 as parseMessage,
233
237
  parseSignMessageResponse2 as parseSignMessageResponse,
238
+ parseToKmsTransaction2 as parseToKmsTransaction,
234
239
  parseTransactionResponse2 as parseTransactionResponse,
235
- parseTransactionToBase64Url2 as parseTransactionToBase64Url,
236
240
  supportsTransactionSubmission
237
241
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phantom/server-sdk",
3
- "version": "1.0.0-beta.16",
3
+ "version": "1.0.0-beta.18",
4
4
  "description": "Server SDK for Phantom Wallet",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -39,7 +39,7 @@
39
39
  "dependencies": {
40
40
  "@phantom/api-key-stamper": "^1.0.0-beta.7",
41
41
  "@phantom/base64url": "^1.0.0-beta.7",
42
- "@phantom/client": "^1.0.0-beta.16",
42
+ "@phantom/client": "^1.0.0-beta.18",
43
43
  "@phantom/constants": "^1.0.0-beta.7",
44
44
  "@phantom/parsers": "^1.0.0-beta.7",
45
45
  "@phantom/utils": "^1.0.0-beta.4",