@solana/connector 0.2.1 → 0.2.2
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/{chunk-HPQ5T32K.mjs → chunk-3623Z2QL.mjs} +4 -4
- package/dist/{chunk-HPQ5T32K.mjs.map → chunk-3623Z2QL.mjs.map} +1 -1
- package/dist/{chunk-UCISIAOG.mjs → chunk-A7WQ3K75.mjs} +3 -3
- package/dist/{chunk-UCISIAOG.mjs.map → chunk-A7WQ3K75.mjs.map} +1 -1
- package/dist/{chunk-SITQ4JWM.js → chunk-BF67LVVM.js} +17 -21
- package/dist/chunk-BF67LVVM.js.map +1 -0
- package/dist/{chunk-MDR4Y37Z.mjs → chunk-DFHJYZKZ.mjs} +5 -4
- package/dist/chunk-DFHJYZKZ.mjs.map +1 -0
- package/dist/chunk-E3DAIOYS.mjs +22 -0
- package/dist/chunk-E3DAIOYS.mjs.map +1 -0
- package/dist/chunk-FG7HTQTV.mjs +7 -0
- package/dist/chunk-FG7HTQTV.mjs.map +1 -0
- package/dist/{chunk-BJAVJQLK.js → chunk-I2XX5FUG.js} +6 -6
- package/dist/{chunk-BJAVJQLK.js.map → chunk-I2XX5FUG.js.map} +1 -1
- package/dist/chunk-L5FWMNWO.js +9 -0
- package/dist/chunk-L5FWMNWO.js.map +1 -0
- package/dist/{chunk-HN5AJF7F.js → chunk-NLPEO5GT.js} +5 -5
- package/dist/{chunk-HN5AJF7F.js.map → chunk-NLPEO5GT.js.map} +1 -1
- package/dist/chunk-QST7XLMB.js +26 -0
- package/dist/chunk-QST7XLMB.js.map +1 -0
- package/dist/{chunk-ZZTY3O4N.mjs → chunk-SJCQ3KZE.mjs} +4 -7
- package/dist/chunk-SJCQ3KZE.mjs.map +1 -0
- package/dist/{chunk-IDTUFDNB.mjs → chunk-SQ2JEA2M.mjs} +58 -11
- package/dist/chunk-SQ2JEA2M.mjs.map +1 -0
- package/dist/{chunk-BZ2VBJCZ.js → chunk-TRSJSU33.js} +141 -94
- package/dist/chunk-TRSJSU33.js.map +1 -0
- package/dist/{chunk-4Z2F6ERB.js → chunk-VVLY6QPI.js} +49 -48
- package/dist/chunk-VVLY6QPI.js.map +1 -0
- package/dist/compat.js +2 -2
- package/dist/compat.mjs +1 -1
- package/dist/fireblocks-FLKRTJU3.js +67 -0
- package/dist/fireblocks-FLKRTJU3.js.map +1 -0
- package/dist/fireblocks-KCJV3GEK.mjs +65 -0
- package/dist/fireblocks-KCJV3GEK.mjs.map +1 -0
- package/dist/headless.d.mts +6 -11
- package/dist/headless.d.ts +6 -11
- package/dist/headless.js +147 -147
- package/dist/headless.mjs +4 -4
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +188 -188
- package/dist/index.mjs +5 -5
- package/dist/privy-6LYDE24Z.mjs +64 -0
- package/dist/privy-6LYDE24Z.mjs.map +1 -0
- package/dist/privy-ID4YFTKR.js +66 -0
- package/dist/privy-ID4YFTKR.js.map +1 -0
- package/dist/protocol-G-z1lRqo.d.mts +166 -0
- package/dist/protocol-G-z1lRqo.d.ts +166 -0
- package/dist/react.d.mts +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +49 -49
- package/dist/react.mjs +2 -2
- package/dist/remote.d.mts +46 -0
- package/dist/remote.d.ts +46 -0
- package/dist/remote.js +212 -0
- package/dist/remote.js.map +1 -0
- package/dist/remote.mjs +198 -0
- package/dist/remote.mjs.map +1 -0
- package/dist/server.d.mts +141 -0
- package/dist/server.d.ts +141 -0
- package/dist/server.js +189 -0
- package/dist/server.js.map +1 -0
- package/dist/server.mjs +187 -0
- package/dist/server.mjs.map +1 -0
- package/dist/{standard-shim-tmnQelaJ.d.ts → standard-shim-Cg6fmjK_.d.ts} +10 -0
- package/dist/{standard-shim-CGB88PPO.d.mts → standard-shim-Cz4UNS7t.d.mts} +10 -0
- package/dist/{walletconnect-447EY3OJ.js → walletconnect-F2M3PAAN.js} +8 -8
- package/dist/{walletconnect-447EY3OJ.js.map → walletconnect-F2M3PAAN.js.map} +1 -1
- package/dist/walletconnect-Z6LPGALR.mjs +3 -0
- package/dist/{walletconnect-U455PO4I.mjs.map → walletconnect-Z6LPGALR.mjs.map} +1 -1
- package/package.json +27 -2
- package/dist/chunk-4Z2F6ERB.js.map +0 -1
- package/dist/chunk-BZ2VBJCZ.js.map +0 -1
- package/dist/chunk-IDTUFDNB.mjs.map +0 -1
- package/dist/chunk-MDR4Y37Z.mjs.map +0 -1
- package/dist/chunk-SITQ4JWM.js.map +0 -1
- package/dist/chunk-ZZTY3O4N.mjs.map +0 -1
- package/dist/walletconnect-U455PO4I.mjs +0 -3
package/dist/compat.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk4KD6HQQG_js = require('./chunk-4KD6HQQG.js');
|
|
4
|
-
var
|
|
4
|
+
var chunkBF67LVVM_js = require('./chunk-BF67LVVM.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
|
|
7
|
-
var logger =
|
|
7
|
+
var logger = chunkBF67LVVM_js.createLogger("WalletAdapterCompat");
|
|
8
8
|
function createWalletAdapterCompat(signer, options) {
|
|
9
9
|
let { disconnect, transformTransaction, onError } = options, handleError = (error, operation) => {
|
|
10
10
|
onError ? onError(error, operation) : logger.error("Wallet adapter compat error", { operation, error });
|
package/dist/compat.mjs
CHANGED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/server/providers/fireblocks.ts
|
|
4
|
+
async function loadFireblocksSigner(config) {
|
|
5
|
+
let FireblocksSigner;
|
|
6
|
+
try {
|
|
7
|
+
FireblocksSigner = (await import('@solana/keychain-fireblocks')).FireblocksSigner;
|
|
8
|
+
} catch {
|
|
9
|
+
throw new Error(
|
|
10
|
+
"@solana/keychain-fireblocks is not installed. Install it with: npm install @solana/keychain-fireblocks"
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
if (!FireblocksSigner)
|
|
14
|
+
throw new Error("@solana/keychain-fireblocks does not export FireblocksSigner");
|
|
15
|
+
let signer = new FireblocksSigner({
|
|
16
|
+
apiKey: config.apiKey,
|
|
17
|
+
privateKeyPem: config.privateKeyPem,
|
|
18
|
+
vaultAccountId: config.vaultAccountId,
|
|
19
|
+
assetId: config.assetId,
|
|
20
|
+
apiBaseUrl: config.apiBaseUrl
|
|
21
|
+
});
|
|
22
|
+
return await signer.init(), {
|
|
23
|
+
get address() {
|
|
24
|
+
return signer.address;
|
|
25
|
+
},
|
|
26
|
+
async signTransaction(transactionBytes) {
|
|
27
|
+
return await signWithFireblocks(signer, transactionBytes);
|
|
28
|
+
},
|
|
29
|
+
async signAllTransactions(transactions) {
|
|
30
|
+
let results = [];
|
|
31
|
+
for (let txBytes of transactions) {
|
|
32
|
+
let signed = await signWithFireblocks(signer, txBytes);
|
|
33
|
+
results.push(signed);
|
|
34
|
+
}
|
|
35
|
+
return results;
|
|
36
|
+
},
|
|
37
|
+
async signMessage(message) {
|
|
38
|
+
let signableMessage = {
|
|
39
|
+
content: message,
|
|
40
|
+
signatures: {}
|
|
41
|
+
}, signature = (await signer.signMessages([signableMessage]))[0][signer.address];
|
|
42
|
+
if (!signature)
|
|
43
|
+
throw new Error("No signature returned from Fireblocks");
|
|
44
|
+
return signature;
|
|
45
|
+
},
|
|
46
|
+
async isAvailable() {
|
|
47
|
+
return signer.isAvailable();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function signWithFireblocks(signer, transactionBytes) {
|
|
52
|
+
let { getTransactionDecoder, getTransactionEncoder } = await import('@solana/transactions'), transaction = getTransactionDecoder().decode(transactionBytes), signature = (await signer.signTransactions([transaction]))[0][signer.address];
|
|
53
|
+
if (!signature)
|
|
54
|
+
throw new Error("No signature returned from Fireblocks");
|
|
55
|
+
let encoder = getTransactionEncoder(), signedTx = {
|
|
56
|
+
...transaction,
|
|
57
|
+
signatures: {
|
|
58
|
+
...transaction.signatures,
|
|
59
|
+
[signer.address]: signature
|
|
60
|
+
}
|
|
61
|
+
}, encoded = encoder.encode(signedTx);
|
|
62
|
+
return new Uint8Array(encoded);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
exports.loadFireblocksSigner = loadFireblocksSigner;
|
|
66
|
+
//# sourceMappingURL=fireblocks-FLKRTJU3.js.map
|
|
67
|
+
//# sourceMappingURL=fireblocks-FLKRTJU3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/providers/fireblocks.ts"],"names":[],"mappings":";;;AA2BA,eAAsB,qBAAqB,MAAA,EAAyD;AAGhG,EAAA,IAAI,gBAAA;AAEJ,EAAA,IAAI;AAEA,IAAA,gBAAA,GAAA,CADgB,MAAM,OAAO,6BAA6B,CAAA,EAChC,gBAAA;AAAA,EAC9B,CAAA,CAAA,MAAgB;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACN;AAAA,KAEJ;AAAA,EACJ;AAEA,EAAA,IAAI,CAAC,gBAAA;AACD,IAAA,MAAM,IAAI,MAAM,8DAA8D,CAAA;AAIlF,EAAA,IAAM,MAAA,GAAS,IAAI,gBAAA,CAAiB;AAAA,IAChC,QAAQ,MAAA,CAAO,MAAA;AAAA,IACf,eAAe,MAAA,CAAO,aAAA;AAAA,IACtB,gBAAgB,MAAA,CAAO,cAAA;AAAA,IACvB,SAAS,MAAA,CAAO,OAAA;AAAA,IAChB,YAAY,MAAA,CAAO;AAAA,GACtB,CAAA;AAGD,EAAA,OAAA,MAAM,MAAA,CAAO,MAAK,EAGX;AAAA,IACH,IAAI,OAAA,GAAU;AACV,MAAA,OAAO,MAAA,CAAO,OAAA;AAAA,IAClB,CAAA;AAAA,IAEA,MAAM,gBAAgB,gBAAA,EAAmD;AAQrE,MAAA,OADe,MAAM,kBAAA,CAAmB,MAAA,EAAQ,gBAAgB,CAAA;AAAA,IAEpE,CAAA;AAAA,IAEA,MAAM,oBAAoB,YAAA,EAAmD;AAEzE,MAAA,IAAM,UAAwB,EAAC;AAC/B,MAAA,KAAA,IAAW,WAAW,YAAA,EAAc;AAChC,QAAA,IAAM,MAAA,GAAS,MAAM,kBAAA,CAAmB,MAAA,EAAQ,OAAO,CAAA;AACvD,QAAA,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,MACvB;AACA,MAAA,OAAO,OAAA;AAAA,IACX,CAAA;AAAA,IAEA,MAAM,YAAY,OAAA,EAA0C;AAGxD,MAAA,IAAM,eAAA,GAAkB;AAAA,QACpB,OAAA,EAAS,OAAA;AAAA,QACT,YAAY;AAAC,OACjB,EAMM,SAAA,GAAA,CAJU,MAAM,MAAA,CAAO,YAAA,CAAa,CAAC,eAA6C,CAAC,CAAA,EAGjE,CAAC,CAAA,CACC,MAAA,CAAO,OAAO,CAAA;AAExC,MAAA,IAAI,CAAC,SAAA;AACD,QAAA,MAAM,IAAI,MAAM,uCAAuC,CAAA;AAG3D,MAAA,OAAO,SAAA;AAAA,IACX,CAAA;AAAA,IAEA,MAAM,WAAA,GAAgC;AAClC,MAAA,OAAO,OAAO,WAAA,EAAY;AAAA,IAC9B;AAAA,GACJ;AACJ;AAKA,eAAe,kBAAA,CAAmB,QAA8B,gBAAA,EAAmD;AAE/G,EAAA,IAAM,EAAE,qBAAA,EAAuB,qBAAA,EAAsB,GAAI,MAAM,OAAO,sBAAsB,CAAA,EAItF,WAAA,GADU,qBAAA,EAAsB,CACV,MAAA,CAAO,gBAAgB,CAAA,EAO7C,SAAA,GAAA,CAJU,MAAM,MAAA,CAAO,gBAAA,CAAiB,CAAC,WAAsB,CAAC,CAAA,EAG9C,CAAC,CAAA,CACC,MAAA,CAAO,OAAO,CAAA;AAExC,EAAA,IAAI,CAAC,SAAA;AACD,IAAA,MAAM,IAAI,MAAM,uCAAuC,CAAA;AAI3D,EAAA,IAAM,OAAA,GAAU,qBAAA,EAAsB,EAChC,QAAA,GAAW;AAAA,IACb,GAAG,WAAA;AAAA,IACH,UAAA,EAAY;AAAA,MACR,GAAG,WAAA,CAAY,UAAA;AAAA,MACf,CAAC,MAAA,CAAO,OAAO,GAAG;AAAA;AACtB,GACJ,EAEM,OAAA,GAAU,OAAA,CAAQ,MAAA,CAAO,QAAgD,CAAA;AAC/E,EAAA,OAAO,IAAI,WAAW,OAAO,CAAA;AACjC","file":"fireblocks-FLKRTJU3.js","sourcesContent":["/**\n * @solana/connector/server - Fireblocks Provider\n *\n * Dynamically loads @solana/keychain and adapts the Fireblocks signer to the RemoteSigner interface.\n * This file is only imported server-side when Fireblocks is configured.\n */\n\nimport type { RemoteSigner, FireblocksProviderConfig } from '../route-handlers';\nimport type { SignableMessage } from '@solana/signers';\n\ninterface KeychainSignerLike {\n address: string;\n isAvailable: () => Promise<boolean>;\n signMessages: (messages: SignableMessage[]) => Promise<Record<string, Uint8Array>[]>;\n signTransactions: (transactions: unknown[]) => Promise<Record<string, Uint8Array>[]>;\n}\n\ninterface FireblocksSignerLike extends KeychainSignerLike {\n init: () => Promise<void>;\n}\n\n/**\n * Load and initialize a Fireblocks signer\n *\n * @param config - Fireblocks provider configuration\n * @returns RemoteSigner implementation backed by Fireblocks\n */\nexport async function loadFireblocksSigner(config: FireblocksProviderConfig): Promise<RemoteSigner> {\n // Dynamically import @solana/keychain\n // This keeps the dependency optional and only loaded when needed\n let FireblocksSigner: (new (args: unknown) => FireblocksSignerLike) | undefined;\n\n try {\n const module = (await import('@solana/keychain-fireblocks')) as unknown as { FireblocksSigner?: unknown };\n FireblocksSigner = module.FireblocksSigner as (new (args: unknown) => FireblocksSignerLike) | undefined;\n } catch (error) {\n throw new Error(\n '@solana/keychain-fireblocks is not installed. ' +\n 'Install it with: npm install @solana/keychain-fireblocks',\n );\n }\n\n if (!FireblocksSigner) {\n throw new Error('@solana/keychain-fireblocks does not export FireblocksSigner');\n }\n\n // Create and initialize the Fireblocks signer\n const signer = new FireblocksSigner({\n apiKey: config.apiKey,\n privateKeyPem: config.privateKeyPem,\n vaultAccountId: config.vaultAccountId,\n assetId: config.assetId,\n apiBaseUrl: config.apiBaseUrl,\n });\n\n // Initialize to fetch the public key\n await signer.init();\n\n // Adapt to RemoteSigner interface\n return {\n get address() {\n return signer.address;\n },\n\n async signTransaction(transactionBytes: Uint8Array): Promise<Uint8Array> {\n // Fireblocks signer expects Kit transactions, but we have raw bytes\n // We need to decode, sign, and re-encode\n // For now, use the raw signing approach\n\n // The keychain signer's signTransactions expects Transaction objects\n // We'll use a workaround: create a minimal transaction-like object\n const result = await signWithFireblocks(signer, transactionBytes);\n return result;\n },\n\n async signAllTransactions(transactions: Uint8Array[]): Promise<Uint8Array[]> {\n // Sign each transaction sequentially\n const results: Uint8Array[] = [];\n for (const txBytes of transactions) {\n const signed = await signWithFireblocks(signer, txBytes);\n results.push(signed);\n }\n return results;\n },\n\n async signMessage(message: Uint8Array): Promise<Uint8Array> {\n // Use the signer's signMessages method\n // Create a SignableMessage\n const signableMessage = {\n content: message,\n signatures: {} as Record<string, Uint8Array>,\n };\n\n const results = await signer.signMessages([signableMessage as unknown as SignableMessage]);\n\n // Extract the signature from the first result\n const sigDict = results[0];\n const signature = sigDict[signer.address];\n\n if (!signature) {\n throw new Error('No signature returned from Fireblocks');\n }\n\n return signature;\n },\n\n async isAvailable(): Promise<boolean> {\n return signer.isAvailable();\n },\n };\n}\n\n/**\n * Sign transaction bytes using the Fireblocks signer\n */\nasync function signWithFireblocks(signer: FireblocksSignerLike, transactionBytes: Uint8Array): Promise<Uint8Array> {\n // Import transaction utilities\n const { getTransactionDecoder, getTransactionEncoder } = await import('@solana/transactions');\n\n // Decode the transaction\n const decoder = getTransactionDecoder();\n const transaction = decoder.decode(transactionBytes);\n\n // Sign the transaction\n const results = await signer.signTransactions([transaction as unknown]);\n\n // Get the signature\n const sigDict = results[0];\n const signature = sigDict[signer.address];\n\n if (!signature) {\n throw new Error('No signature returned from Fireblocks');\n }\n\n // Re-encode the transaction with the signature\n const encoder = getTransactionEncoder();\n const signedTx = {\n ...transaction,\n signatures: {\n ...transaction.signatures,\n [signer.address]: signature,\n },\n };\n\n const encoded = encoder.encode(signedTx as Parameters<typeof encoder.encode>[0]);\n return new Uint8Array(encoded);\n}\n"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// src/server/providers/fireblocks.ts
|
|
2
|
+
async function loadFireblocksSigner(config) {
|
|
3
|
+
let FireblocksSigner;
|
|
4
|
+
try {
|
|
5
|
+
FireblocksSigner = (await import('@solana/keychain-fireblocks')).FireblocksSigner;
|
|
6
|
+
} catch {
|
|
7
|
+
throw new Error(
|
|
8
|
+
"@solana/keychain-fireblocks is not installed. Install it with: npm install @solana/keychain-fireblocks"
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
if (!FireblocksSigner)
|
|
12
|
+
throw new Error("@solana/keychain-fireblocks does not export FireblocksSigner");
|
|
13
|
+
let signer = new FireblocksSigner({
|
|
14
|
+
apiKey: config.apiKey,
|
|
15
|
+
privateKeyPem: config.privateKeyPem,
|
|
16
|
+
vaultAccountId: config.vaultAccountId,
|
|
17
|
+
assetId: config.assetId,
|
|
18
|
+
apiBaseUrl: config.apiBaseUrl
|
|
19
|
+
});
|
|
20
|
+
return await signer.init(), {
|
|
21
|
+
get address() {
|
|
22
|
+
return signer.address;
|
|
23
|
+
},
|
|
24
|
+
async signTransaction(transactionBytes) {
|
|
25
|
+
return await signWithFireblocks(signer, transactionBytes);
|
|
26
|
+
},
|
|
27
|
+
async signAllTransactions(transactions) {
|
|
28
|
+
let results = [];
|
|
29
|
+
for (let txBytes of transactions) {
|
|
30
|
+
let signed = await signWithFireblocks(signer, txBytes);
|
|
31
|
+
results.push(signed);
|
|
32
|
+
}
|
|
33
|
+
return results;
|
|
34
|
+
},
|
|
35
|
+
async signMessage(message) {
|
|
36
|
+
let signableMessage = {
|
|
37
|
+
content: message,
|
|
38
|
+
signatures: {}
|
|
39
|
+
}, signature = (await signer.signMessages([signableMessage]))[0][signer.address];
|
|
40
|
+
if (!signature)
|
|
41
|
+
throw new Error("No signature returned from Fireblocks");
|
|
42
|
+
return signature;
|
|
43
|
+
},
|
|
44
|
+
async isAvailable() {
|
|
45
|
+
return signer.isAvailable();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async function signWithFireblocks(signer, transactionBytes) {
|
|
50
|
+
let { getTransactionDecoder, getTransactionEncoder } = await import('@solana/transactions'), transaction = getTransactionDecoder().decode(transactionBytes), signature = (await signer.signTransactions([transaction]))[0][signer.address];
|
|
51
|
+
if (!signature)
|
|
52
|
+
throw new Error("No signature returned from Fireblocks");
|
|
53
|
+
let encoder = getTransactionEncoder(), signedTx = {
|
|
54
|
+
...transaction,
|
|
55
|
+
signatures: {
|
|
56
|
+
...transaction.signatures,
|
|
57
|
+
[signer.address]: signature
|
|
58
|
+
}
|
|
59
|
+
}, encoded = encoder.encode(signedTx);
|
|
60
|
+
return new Uint8Array(encoded);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { loadFireblocksSigner };
|
|
64
|
+
//# sourceMappingURL=fireblocks-KCJV3GEK.mjs.map
|
|
65
|
+
//# sourceMappingURL=fireblocks-KCJV3GEK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/providers/fireblocks.ts"],"names":[],"mappings":";AA2BA,eAAsB,qBAAqB,MAAA,EAAyD;AAGhG,EAAA,IAAI,gBAAA;AAEJ,EAAA,IAAI;AAEA,IAAA,gBAAA,GAAA,CADgB,MAAM,OAAO,6BAA6B,CAAA,EAChC,gBAAA;AAAA,EAC9B,CAAA,CAAA,MAAgB;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACN;AAAA,KAEJ;AAAA,EACJ;AAEA,EAAA,IAAI,CAAC,gBAAA;AACD,IAAA,MAAM,IAAI,MAAM,8DAA8D,CAAA;AAIlF,EAAA,IAAM,MAAA,GAAS,IAAI,gBAAA,CAAiB;AAAA,IAChC,QAAQ,MAAA,CAAO,MAAA;AAAA,IACf,eAAe,MAAA,CAAO,aAAA;AAAA,IACtB,gBAAgB,MAAA,CAAO,cAAA;AAAA,IACvB,SAAS,MAAA,CAAO,OAAA;AAAA,IAChB,YAAY,MAAA,CAAO;AAAA,GACtB,CAAA;AAGD,EAAA,OAAA,MAAM,MAAA,CAAO,MAAK,EAGX;AAAA,IACH,IAAI,OAAA,GAAU;AACV,MAAA,OAAO,MAAA,CAAO,OAAA;AAAA,IAClB,CAAA;AAAA,IAEA,MAAM,gBAAgB,gBAAA,EAAmD;AAQrE,MAAA,OADe,MAAM,kBAAA,CAAmB,MAAA,EAAQ,gBAAgB,CAAA;AAAA,IAEpE,CAAA;AAAA,IAEA,MAAM,oBAAoB,YAAA,EAAmD;AAEzE,MAAA,IAAM,UAAwB,EAAC;AAC/B,MAAA,KAAA,IAAW,WAAW,YAAA,EAAc;AAChC,QAAA,IAAM,MAAA,GAAS,MAAM,kBAAA,CAAmB,MAAA,EAAQ,OAAO,CAAA;AACvD,QAAA,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,MACvB;AACA,MAAA,OAAO,OAAA;AAAA,IACX,CAAA;AAAA,IAEA,MAAM,YAAY,OAAA,EAA0C;AAGxD,MAAA,IAAM,eAAA,GAAkB;AAAA,QACpB,OAAA,EAAS,OAAA;AAAA,QACT,YAAY;AAAC,OACjB,EAMM,SAAA,GAAA,CAJU,MAAM,MAAA,CAAO,YAAA,CAAa,CAAC,eAA6C,CAAC,CAAA,EAGjE,CAAC,CAAA,CACC,MAAA,CAAO,OAAO,CAAA;AAExC,MAAA,IAAI,CAAC,SAAA;AACD,QAAA,MAAM,IAAI,MAAM,uCAAuC,CAAA;AAG3D,MAAA,OAAO,SAAA;AAAA,IACX,CAAA;AAAA,IAEA,MAAM,WAAA,GAAgC;AAClC,MAAA,OAAO,OAAO,WAAA,EAAY;AAAA,IAC9B;AAAA,GACJ;AACJ;AAKA,eAAe,kBAAA,CAAmB,QAA8B,gBAAA,EAAmD;AAE/G,EAAA,IAAM,EAAE,qBAAA,EAAuB,qBAAA,EAAsB,GAAI,MAAM,OAAO,sBAAsB,CAAA,EAItF,WAAA,GADU,qBAAA,EAAsB,CACV,MAAA,CAAO,gBAAgB,CAAA,EAO7C,SAAA,GAAA,CAJU,MAAM,MAAA,CAAO,gBAAA,CAAiB,CAAC,WAAsB,CAAC,CAAA,EAG9C,CAAC,CAAA,CACC,MAAA,CAAO,OAAO,CAAA;AAExC,EAAA,IAAI,CAAC,SAAA;AACD,IAAA,MAAM,IAAI,MAAM,uCAAuC,CAAA;AAI3D,EAAA,IAAM,OAAA,GAAU,qBAAA,EAAsB,EAChC,QAAA,GAAW;AAAA,IACb,GAAG,WAAA;AAAA,IACH,UAAA,EAAY;AAAA,MACR,GAAG,WAAA,CAAY,UAAA;AAAA,MACf,CAAC,MAAA,CAAO,OAAO,GAAG;AAAA;AACtB,GACJ,EAEM,OAAA,GAAU,OAAA,CAAQ,MAAA,CAAO,QAAgD,CAAA;AAC/E,EAAA,OAAO,IAAI,WAAW,OAAO,CAAA;AACjC","file":"fireblocks-KCJV3GEK.mjs","sourcesContent":["/**\n * @solana/connector/server - Fireblocks Provider\n *\n * Dynamically loads @solana/keychain and adapts the Fireblocks signer to the RemoteSigner interface.\n * This file is only imported server-side when Fireblocks is configured.\n */\n\nimport type { RemoteSigner, FireblocksProviderConfig } from '../route-handlers';\nimport type { SignableMessage } from '@solana/signers';\n\ninterface KeychainSignerLike {\n address: string;\n isAvailable: () => Promise<boolean>;\n signMessages: (messages: SignableMessage[]) => Promise<Record<string, Uint8Array>[]>;\n signTransactions: (transactions: unknown[]) => Promise<Record<string, Uint8Array>[]>;\n}\n\ninterface FireblocksSignerLike extends KeychainSignerLike {\n init: () => Promise<void>;\n}\n\n/**\n * Load and initialize a Fireblocks signer\n *\n * @param config - Fireblocks provider configuration\n * @returns RemoteSigner implementation backed by Fireblocks\n */\nexport async function loadFireblocksSigner(config: FireblocksProviderConfig): Promise<RemoteSigner> {\n // Dynamically import @solana/keychain\n // This keeps the dependency optional and only loaded when needed\n let FireblocksSigner: (new (args: unknown) => FireblocksSignerLike) | undefined;\n\n try {\n const module = (await import('@solana/keychain-fireblocks')) as unknown as { FireblocksSigner?: unknown };\n FireblocksSigner = module.FireblocksSigner as (new (args: unknown) => FireblocksSignerLike) | undefined;\n } catch (error) {\n throw new Error(\n '@solana/keychain-fireblocks is not installed. ' +\n 'Install it with: npm install @solana/keychain-fireblocks',\n );\n }\n\n if (!FireblocksSigner) {\n throw new Error('@solana/keychain-fireblocks does not export FireblocksSigner');\n }\n\n // Create and initialize the Fireblocks signer\n const signer = new FireblocksSigner({\n apiKey: config.apiKey,\n privateKeyPem: config.privateKeyPem,\n vaultAccountId: config.vaultAccountId,\n assetId: config.assetId,\n apiBaseUrl: config.apiBaseUrl,\n });\n\n // Initialize to fetch the public key\n await signer.init();\n\n // Adapt to RemoteSigner interface\n return {\n get address() {\n return signer.address;\n },\n\n async signTransaction(transactionBytes: Uint8Array): Promise<Uint8Array> {\n // Fireblocks signer expects Kit transactions, but we have raw bytes\n // We need to decode, sign, and re-encode\n // For now, use the raw signing approach\n\n // The keychain signer's signTransactions expects Transaction objects\n // We'll use a workaround: create a minimal transaction-like object\n const result = await signWithFireblocks(signer, transactionBytes);\n return result;\n },\n\n async signAllTransactions(transactions: Uint8Array[]): Promise<Uint8Array[]> {\n // Sign each transaction sequentially\n const results: Uint8Array[] = [];\n for (const txBytes of transactions) {\n const signed = await signWithFireblocks(signer, txBytes);\n results.push(signed);\n }\n return results;\n },\n\n async signMessage(message: Uint8Array): Promise<Uint8Array> {\n // Use the signer's signMessages method\n // Create a SignableMessage\n const signableMessage = {\n content: message,\n signatures: {} as Record<string, Uint8Array>,\n };\n\n const results = await signer.signMessages([signableMessage as unknown as SignableMessage]);\n\n // Extract the signature from the first result\n const sigDict = results[0];\n const signature = sigDict[signer.address];\n\n if (!signature) {\n throw new Error('No signature returned from Fireblocks');\n }\n\n return signature;\n },\n\n async isAvailable(): Promise<boolean> {\n return signer.isAvailable();\n },\n };\n}\n\n/**\n * Sign transaction bytes using the Fireblocks signer\n */\nasync function signWithFireblocks(signer: FireblocksSignerLike, transactionBytes: Uint8Array): Promise<Uint8Array> {\n // Import transaction utilities\n const { getTransactionDecoder, getTransactionEncoder } = await import('@solana/transactions');\n\n // Decode the transaction\n const decoder = getTransactionDecoder();\n const transaction = decoder.decode(transactionBytes);\n\n // Sign the transaction\n const results = await signer.signTransactions([transaction as unknown]);\n\n // Get the signature\n const sigDict = results[0];\n const signature = sigDict[signer.address];\n\n if (!signature) {\n throw new Error('No signature returned from Fireblocks');\n }\n\n // Re-encode the transaction with the signature\n const encoder = getTransactionEncoder();\n const signedTx = {\n ...transaction,\n signatures: {\n ...transaction.signatures,\n [signer.address]: signature,\n },\n };\n\n const encoded = encoder.encode(signedTx as Parameters<typeof encoder.encode>[0]);\n return new Uint8Array(encoded);\n}\n"]}
|
package/dist/headless.d.mts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { t as ClusterType, ad as StorageOptions, ac as StorageAdapter, ae as EnhancedStorageAccountOptions, af as EnhancedStorageClusterOptions, ag as EnhancedStorageWalletOptions, ah as EnhancedStorageWalletStateOptions, ai as PersistedWalletState, _ as WalletConnectConfig, a0 as WalletConnectTransport } from './standard-shim-
|
|
2
|
-
export { a2 as AccountAddress, A as AccountInfo, as as ClipboardErrorType, at as ClipboardResult, a5 as CoinGeckoConfig, n as ConnectOptions, v as ConnectorClient, d as ConnectorConfig, a7 as ConnectorDebugMetrics, a8 as ConnectorDebugState, aa as ConnectorEvent, ab as ConnectorEventListener, a6 as ConnectorHealth, e as ConnectorState, au as CopyOptions, Z as CreateSolanaClientArgs, D as DefaultConfigOptions, E as ExtendedConnectorConfig, I as INITIAL_WALLET_STATUS, a9 as Listener, M as MobileWalletAdapterConfig, X as ModifiedClusterUrl, R as RegisterMwaConfig, m as SessionAccount, Y as SolanaClient, V as SolanaClusterMoniker, $ as WalletConnectMetadata, ao as WalletConnectSignAllTransactionsParams, ap as WalletConnectSignAllTransactionsResult, aq as WalletConnectSignAndSendTransactionParams, ar as WalletConnectSignAndSendTransactionResult, ak as WalletConnectSignMessageParams, al as WalletConnectSignMessageResult, am as WalletConnectSignTransactionParams, an as WalletConnectSignTransactionResult, aj as WalletConnectSolanaAccount, G as WalletConnector, i as WalletConnectorId, j as WalletConnectorMetadata, Q as WalletError, N as WalletErrorType, W as WalletInfo, a1 as WalletName, k as WalletSession, h as WalletStandardAccount, f as WalletStandardWallet, l as WalletStatus, K as WalletStatusConnected, J as WalletStatusConnecting, H as WalletStatusDisconnected, L as WalletStatusError, ax as copyAddressToClipboard, ay as copySignatureToClipboard, aw as copyToClipboard, o as createConnectorId, U as createSolanaClient, P as createWalletError, aC as getAddressUrl, aE as getBlockUrl, aM as getChainIdForWalletStandard, aL as getClusterChainId, aA as getClusterExplorerUrl, aJ as getClusterName, az as getClusterRpcUrl, aK as getClusterType, g as getDefaultConfig, b as getDefaultMobileConfig, T as getPublicSolanaRpcUrl, aD as getTokenUrl, aB as getTransactionUrl, y as getWalletNameFromConnectorId, w as getWalletsRegistry, a4 as isAccountAddress, av as isClipboardAvailable, q as isConnected, r as isConnecting, aG as isDevnetCluster, s as isDisconnected, aI as isLocalCluster, aF as isMainnetCluster, z as isStatusError, aH as isTestnetCluster, p as isWalletConnectorId, O as isWalletError, a3 as isWalletName, B as isWalletStatusError, x as ready, F as toLegacyWalletState } from './standard-shim-
|
|
1
|
+
import { t as ClusterType, ad as StorageOptions, ac as StorageAdapter, ae as EnhancedStorageAccountOptions, af as EnhancedStorageClusterOptions, ag as EnhancedStorageWalletOptions, ah as EnhancedStorageWalletStateOptions, ai as PersistedWalletState, _ as WalletConnectConfig, a0 as WalletConnectTransport } from './standard-shim-Cz4UNS7t.mjs';
|
|
2
|
+
export { a2 as AccountAddress, A as AccountInfo, as as ClipboardErrorType, at as ClipboardResult, a5 as CoinGeckoConfig, n as ConnectOptions, v as ConnectorClient, d as ConnectorConfig, a7 as ConnectorDebugMetrics, a8 as ConnectorDebugState, aa as ConnectorEvent, ab as ConnectorEventListener, a6 as ConnectorHealth, e as ConnectorState, au as CopyOptions, Z as CreateSolanaClientArgs, D as DefaultConfigOptions, E as ExtendedConnectorConfig, I as INITIAL_WALLET_STATUS, a9 as Listener, M as MobileWalletAdapterConfig, X as ModifiedClusterUrl, R as RegisterMwaConfig, m as SessionAccount, Y as SolanaClient, V as SolanaClusterMoniker, $ as WalletConnectMetadata, ao as WalletConnectSignAllTransactionsParams, ap as WalletConnectSignAllTransactionsResult, aq as WalletConnectSignAndSendTransactionParams, ar as WalletConnectSignAndSendTransactionResult, ak as WalletConnectSignMessageParams, al as WalletConnectSignMessageResult, am as WalletConnectSignTransactionParams, an as WalletConnectSignTransactionResult, aj as WalletConnectSolanaAccount, G as WalletConnector, i as WalletConnectorId, j as WalletConnectorMetadata, Q as WalletError, N as WalletErrorType, W as WalletInfo, a1 as WalletName, k as WalletSession, h as WalletStandardAccount, f as WalletStandardWallet, l as WalletStatus, K as WalletStatusConnected, J as WalletStatusConnecting, H as WalletStatusDisconnected, L as WalletStatusError, ax as copyAddressToClipboard, ay as copySignatureToClipboard, aw as copyToClipboard, o as createConnectorId, U as createSolanaClient, P as createWalletError, aC as getAddressUrl, aE as getBlockUrl, aM as getChainIdForWalletStandard, aL as getClusterChainId, aA as getClusterExplorerUrl, aJ as getClusterName, az as getClusterRpcUrl, aK as getClusterType, g as getDefaultConfig, b as getDefaultMobileConfig, T as getPublicSolanaRpcUrl, aD as getTokenUrl, aB as getTransactionUrl, y as getWalletNameFromConnectorId, w as getWalletsRegistry, a4 as isAccountAddress, av as isClipboardAvailable, q as isConnected, r as isConnecting, aG as isDevnetCluster, s as isDisconnected, aI as isLocalCluster, aF as isMainnetCluster, z as isStatusError, aH as isTestnetCluster, p as isWalletConnectorId, O as isWalletError, a3 as isWalletName, B as isWalletStatusError, x as ready, F as toLegacyWalletState } from './standard-shim-Cz4UNS7t.mjs';
|
|
3
|
+
import * as _wallet_standard_base from '@wallet-standard/base';
|
|
4
|
+
import { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
5
|
+
export { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
3
6
|
import { z } from 'zod/v4';
|
|
4
7
|
import { a as TransactionSigner } from './transaction-signer-7NaYmP5w.mjs';
|
|
5
8
|
export { d as ConfigurationError, p as ConfigurationErrorCode, b as ConnectionError, n as ConnectionErrorCode, C as ConnectorError, E as Errors, N as NetworkError, q as NetworkErrorCode, u as SignedTransaction, S as SolanaTransaction, w as TransactionActivity, x as TransactionActivityStatus, e as TransactionError, r as TransactionErrorCode, z as TransactionMetadata, y as TransactionMethod, v as TransactionSignerCapabilities, s as TransactionSignerConfig, T as TransactionSignerError, V as ValidationError, o as ValidationErrorCode, c as createTransactionSigner, m as getUserFriendlyMessage, j as isConfigurationError, g as isConnectionError, f as isConnectorError, k as isNetworkError, l as isTransactionError, i as isTransactionSignerError, h as isValidationError, t as toConnectorError } from './transaction-signer-7NaYmP5w.mjs';
|
|
@@ -15,20 +18,11 @@ import { SignatureBytes } from '@solana/keys';
|
|
|
15
18
|
export { SignatureBytes } from '@solana/keys';
|
|
16
19
|
import { Transaction } from '@solana/transactions';
|
|
17
20
|
export { Transaction } from '@solana/transactions';
|
|
18
|
-
import { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
19
|
-
export { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
20
21
|
import 'react/jsx-runtime';
|
|
21
22
|
import 'react';
|
|
22
23
|
import '@solana-mobile/wallet-standard-mobile';
|
|
23
24
|
import '@solana/transaction-messages';
|
|
24
25
|
|
|
25
|
-
/**
|
|
26
|
-
* @solana/connector - Configuration Schemas
|
|
27
|
-
*
|
|
28
|
-
* Zod schemas for runtime validation of configuration options.
|
|
29
|
-
* These schemas provide type-safe validation with helpful error messages.
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
26
|
declare const defaultConfigOptionsSchema: z.ZodObject<{
|
|
33
27
|
appName: z.ZodString;
|
|
34
28
|
appUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -100,6 +94,7 @@ declare const defaultConfigOptionsSchema: z.ZodObject<{
|
|
|
100
94
|
onSessionDisconnected: z.ZodOptional<z.ZodCustom<() => void, () => void>>;
|
|
101
95
|
relayUrl: z.ZodOptional<z.ZodString>;
|
|
102
96
|
}, z.core.$strip>]>>;
|
|
97
|
+
additionalWallets: z.ZodOptional<z.ZodArray<z.ZodCustom<_wallet_standard_base.Wallet, _wallet_standard_base.Wallet>>>;
|
|
103
98
|
onError: z.ZodOptional<z.ZodCustom<(...args: unknown[]) => unknown, (...args: unknown[]) => unknown>>;
|
|
104
99
|
}, z.core.$strip>;
|
|
105
100
|
type DefaultConfigOptionsInput = z.input<typeof defaultConfigOptionsSchema>;
|
package/dist/headless.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { t as ClusterType, ad as StorageOptions, ac as StorageAdapter, ae as EnhancedStorageAccountOptions, af as EnhancedStorageClusterOptions, ag as EnhancedStorageWalletOptions, ah as EnhancedStorageWalletStateOptions, ai as PersistedWalletState, _ as WalletConnectConfig, a0 as WalletConnectTransport } from './standard-shim-
|
|
2
|
-
export { a2 as AccountAddress, A as AccountInfo, as as ClipboardErrorType, at as ClipboardResult, a5 as CoinGeckoConfig, n as ConnectOptions, v as ConnectorClient, d as ConnectorConfig, a7 as ConnectorDebugMetrics, a8 as ConnectorDebugState, aa as ConnectorEvent, ab as ConnectorEventListener, a6 as ConnectorHealth, e as ConnectorState, au as CopyOptions, Z as CreateSolanaClientArgs, D as DefaultConfigOptions, E as ExtendedConnectorConfig, I as INITIAL_WALLET_STATUS, a9 as Listener, M as MobileWalletAdapterConfig, X as ModifiedClusterUrl, R as RegisterMwaConfig, m as SessionAccount, Y as SolanaClient, V as SolanaClusterMoniker, $ as WalletConnectMetadata, ao as WalletConnectSignAllTransactionsParams, ap as WalletConnectSignAllTransactionsResult, aq as WalletConnectSignAndSendTransactionParams, ar as WalletConnectSignAndSendTransactionResult, ak as WalletConnectSignMessageParams, al as WalletConnectSignMessageResult, am as WalletConnectSignTransactionParams, an as WalletConnectSignTransactionResult, aj as WalletConnectSolanaAccount, G as WalletConnector, i as WalletConnectorId, j as WalletConnectorMetadata, Q as WalletError, N as WalletErrorType, W as WalletInfo, a1 as WalletName, k as WalletSession, h as WalletStandardAccount, f as WalletStandardWallet, l as WalletStatus, K as WalletStatusConnected, J as WalletStatusConnecting, H as WalletStatusDisconnected, L as WalletStatusError, ax as copyAddressToClipboard, ay as copySignatureToClipboard, aw as copyToClipboard, o as createConnectorId, U as createSolanaClient, P as createWalletError, aC as getAddressUrl, aE as getBlockUrl, aM as getChainIdForWalletStandard, aL as getClusterChainId, aA as getClusterExplorerUrl, aJ as getClusterName, az as getClusterRpcUrl, aK as getClusterType, g as getDefaultConfig, b as getDefaultMobileConfig, T as getPublicSolanaRpcUrl, aD as getTokenUrl, aB as getTransactionUrl, y as getWalletNameFromConnectorId, w as getWalletsRegistry, a4 as isAccountAddress, av as isClipboardAvailable, q as isConnected, r as isConnecting, aG as isDevnetCluster, s as isDisconnected, aI as isLocalCluster, aF as isMainnetCluster, z as isStatusError, aH as isTestnetCluster, p as isWalletConnectorId, O as isWalletError, a3 as isWalletName, B as isWalletStatusError, x as ready, F as toLegacyWalletState } from './standard-shim-
|
|
1
|
+
import { t as ClusterType, ad as StorageOptions, ac as StorageAdapter, ae as EnhancedStorageAccountOptions, af as EnhancedStorageClusterOptions, ag as EnhancedStorageWalletOptions, ah as EnhancedStorageWalletStateOptions, ai as PersistedWalletState, _ as WalletConnectConfig, a0 as WalletConnectTransport } from './standard-shim-Cg6fmjK_.js';
|
|
2
|
+
export { a2 as AccountAddress, A as AccountInfo, as as ClipboardErrorType, at as ClipboardResult, a5 as CoinGeckoConfig, n as ConnectOptions, v as ConnectorClient, d as ConnectorConfig, a7 as ConnectorDebugMetrics, a8 as ConnectorDebugState, aa as ConnectorEvent, ab as ConnectorEventListener, a6 as ConnectorHealth, e as ConnectorState, au as CopyOptions, Z as CreateSolanaClientArgs, D as DefaultConfigOptions, E as ExtendedConnectorConfig, I as INITIAL_WALLET_STATUS, a9 as Listener, M as MobileWalletAdapterConfig, X as ModifiedClusterUrl, R as RegisterMwaConfig, m as SessionAccount, Y as SolanaClient, V as SolanaClusterMoniker, $ as WalletConnectMetadata, ao as WalletConnectSignAllTransactionsParams, ap as WalletConnectSignAllTransactionsResult, aq as WalletConnectSignAndSendTransactionParams, ar as WalletConnectSignAndSendTransactionResult, ak as WalletConnectSignMessageParams, al as WalletConnectSignMessageResult, am as WalletConnectSignTransactionParams, an as WalletConnectSignTransactionResult, aj as WalletConnectSolanaAccount, G as WalletConnector, i as WalletConnectorId, j as WalletConnectorMetadata, Q as WalletError, N as WalletErrorType, W as WalletInfo, a1 as WalletName, k as WalletSession, h as WalletStandardAccount, f as WalletStandardWallet, l as WalletStatus, K as WalletStatusConnected, J as WalletStatusConnecting, H as WalletStatusDisconnected, L as WalletStatusError, ax as copyAddressToClipboard, ay as copySignatureToClipboard, aw as copyToClipboard, o as createConnectorId, U as createSolanaClient, P as createWalletError, aC as getAddressUrl, aE as getBlockUrl, aM as getChainIdForWalletStandard, aL as getClusterChainId, aA as getClusterExplorerUrl, aJ as getClusterName, az as getClusterRpcUrl, aK as getClusterType, g as getDefaultConfig, b as getDefaultMobileConfig, T as getPublicSolanaRpcUrl, aD as getTokenUrl, aB as getTransactionUrl, y as getWalletNameFromConnectorId, w as getWalletsRegistry, a4 as isAccountAddress, av as isClipboardAvailable, q as isConnected, r as isConnecting, aG as isDevnetCluster, s as isDisconnected, aI as isLocalCluster, aF as isMainnetCluster, z as isStatusError, aH as isTestnetCluster, p as isWalletConnectorId, O as isWalletError, a3 as isWalletName, B as isWalletStatusError, x as ready, F as toLegacyWalletState } from './standard-shim-Cg6fmjK_.js';
|
|
3
|
+
import * as _wallet_standard_base from '@wallet-standard/base';
|
|
4
|
+
import { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
5
|
+
export { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
3
6
|
import { z } from 'zod/v4';
|
|
4
7
|
import { a as TransactionSigner } from './transaction-signer-7NaYmP5w.js';
|
|
5
8
|
export { d as ConfigurationError, p as ConfigurationErrorCode, b as ConnectionError, n as ConnectionErrorCode, C as ConnectorError, E as Errors, N as NetworkError, q as NetworkErrorCode, u as SignedTransaction, S as SolanaTransaction, w as TransactionActivity, x as TransactionActivityStatus, e as TransactionError, r as TransactionErrorCode, z as TransactionMetadata, y as TransactionMethod, v as TransactionSignerCapabilities, s as TransactionSignerConfig, T as TransactionSignerError, V as ValidationError, o as ValidationErrorCode, c as createTransactionSigner, m as getUserFriendlyMessage, j as isConfigurationError, g as isConnectionError, f as isConnectorError, k as isNetworkError, l as isTransactionError, i as isTransactionSignerError, h as isValidationError, t as toConnectorError } from './transaction-signer-7NaYmP5w.js';
|
|
@@ -15,20 +18,11 @@ import { SignatureBytes } from '@solana/keys';
|
|
|
15
18
|
export { SignatureBytes } from '@solana/keys';
|
|
16
19
|
import { Transaction } from '@solana/transactions';
|
|
17
20
|
export { Transaction } from '@solana/transactions';
|
|
18
|
-
import { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
19
|
-
export { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
20
21
|
import 'react/jsx-runtime';
|
|
21
22
|
import 'react';
|
|
22
23
|
import '@solana-mobile/wallet-standard-mobile';
|
|
23
24
|
import '@solana/transaction-messages';
|
|
24
25
|
|
|
25
|
-
/**
|
|
26
|
-
* @solana/connector - Configuration Schemas
|
|
27
|
-
*
|
|
28
|
-
* Zod schemas for runtime validation of configuration options.
|
|
29
|
-
* These schemas provide type-safe validation with helpful error messages.
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
26
|
declare const defaultConfigOptionsSchema: z.ZodObject<{
|
|
33
27
|
appName: z.ZodString;
|
|
34
28
|
appUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -100,6 +94,7 @@ declare const defaultConfigOptionsSchema: z.ZodObject<{
|
|
|
100
94
|
onSessionDisconnected: z.ZodOptional<z.ZodCustom<() => void, () => void>>;
|
|
101
95
|
relayUrl: z.ZodOptional<z.ZodString>;
|
|
102
96
|
}, z.core.$strip>]>>;
|
|
97
|
+
additionalWallets: z.ZodOptional<z.ZodArray<z.ZodCustom<_wallet_standard_base.Wallet, _wallet_standard_base.Wallet>>>;
|
|
103
98
|
onError: z.ZodOptional<z.ZodCustom<(...args: unknown[]) => unknown, (...args: unknown[]) => unknown>>;
|
|
104
99
|
}, z.core.$strip>;
|
|
105
100
|
type DefaultConfigOptionsInput = z.input<typeof defaultConfigOptionsSchema>;
|