@dynamic-labs-sdk/solana 0.14.0 → 0.15.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/{addSolanaWalletStandardExtension-Bv39eDZc.cjs.js → addSolanaWalletStandardExtension-Bf8r6-4V.cjs.js} +6 -4
- package/dist/addSolanaWalletStandardExtension-Bf8r6-4V.cjs.js.map +1 -0
- package/dist/{addSolanaWalletStandardExtension-B7GpGFx3.esm.js → addSolanaWalletStandardExtension-BngOUdym.esm.js} +4 -2
- package/dist/addSolanaWalletStandardExtension-BngOUdym.esm.js.map +1 -0
- package/dist/{addWaasSolanaExtension-ofYQDYyc.esm.js → addWaasSolanaExtension-BYxLx6fj.esm.js} +6 -29
- package/dist/addWaasSolanaExtension-BYxLx6fj.esm.js.map +1 -0
- package/dist/{addWaasSolanaExtension-BaxzWnYL.cjs.js → addWaasSolanaExtension-CSzXRhvr.cjs.js} +10 -39
- package/dist/addWaasSolanaExtension-CSzXRhvr.cjs.js.map +1 -0
- package/dist/checkoutTransaction.types.d.ts +6 -0
- package/dist/checkoutTransaction.types.d.ts.map +1 -0
- package/dist/exports/index.d.ts +2 -1
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/index.cjs.js +43 -61
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +27 -46
- package/dist/index.esm.js.map +1 -1
- package/dist/isSolanaGasSponsorshipEnabled/index.d.ts +2 -0
- package/dist/isSolanaGasSponsorshipEnabled/index.d.ts.map +1 -0
- package/dist/isSolanaGasSponsorshipEnabled/isSolanaGasSponsorshipEnabled.d.ts +8 -0
- package/dist/isSolanaGasSponsorshipEnabled/isSolanaGasSponsorshipEnabled.d.ts.map +1 -0
- package/dist/phantomRedirect/addPhantomRedirectSolanaExtension/addPhantomRedirectSolanaExtension.d.ts.map +1 -1
- package/dist/phantomRedirect/createPhantomRedirectWalletProvider/createPhantomRedirectWalletProvider.d.ts.map +1 -1
- package/dist/phantomRedirect/detectPhantomRedirect/detectPhantomRedirect.d.ts.map +1 -1
- package/dist/phantomRedirect/utils/getPhantomCluster/getPhantomCluster.d.ts.map +1 -1
- package/dist/solanaTransferAmount-C1cnaJBQ.esm.js +221 -0
- package/dist/solanaTransferAmount-C1cnaJBQ.esm.js.map +1 -0
- package/dist/solanaTransferAmount-sL92hrfS.cjs.js +287 -0
- package/dist/solanaTransferAmount-sL92hrfS.cjs.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/solanaExecuteCheckoutTransaction/index.d.ts +2 -0
- package/dist/utils/solanaExecuteCheckoutTransaction/index.d.ts.map +1 -0
- package/dist/utils/solanaExecuteCheckoutTransaction/solanaExecuteCheckoutTransaction.d.ts +19 -0
- package/dist/utils/solanaExecuteCheckoutTransaction/solanaExecuteCheckoutTransaction.d.ts.map +1 -0
- package/dist/utils/solanaTransferAmount/index.d.ts +2 -0
- package/dist/utils/solanaTransferAmount/index.d.ts.map +1 -0
- package/dist/utils/solanaTransferAmount/solanaTransferAmount.d.ts +14 -0
- package/dist/utils/solanaTransferAmount/solanaTransferAmount.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.d.ts.map +1 -1
- package/dist/waas.cjs.js +4 -4
- package/dist/waas.cjs.js.map +1 -1
- package/dist/waas.esm.js +2 -2
- package/dist/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.d.ts.map +1 -1
- package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/createWalletProviderFromSolanaStandardWallet.d.ts.map +1 -1
- package/dist/walletStandard.cjs.js +3 -3
- package/dist/walletStandard.cjs.js.map +1 -1
- package/dist/walletStandard.esm.js +2 -2
- package/package.json +6 -5
- package/dist/addSolanaWalletStandardExtension-B7GpGFx3.esm.js.map +0 -1
- package/dist/addSolanaWalletStandardExtension-Bv39eDZc.cjs.js.map +0 -1
- package/dist/addWaasSolanaExtension-BaxzWnYL.cjs.js.map +0 -1
- package/dist/addWaasSolanaExtension-ofYQDYyc.esm.js.map +0 -1
- package/dist/isVersionedTransaction-CecentWi.esm.js +0 -48
- package/dist/isVersionedTransaction-CecentWi.esm.js.map +0 -1
- package/dist/isVersionedTransaction-DW-V1tUS.cjs.js +0 -72
- package/dist/isVersionedTransaction-DW-V1tUS.cjs.js.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_addSolanaWalletStandardExtension = require('./addSolanaWalletStandardExtension-
|
|
2
|
-
const
|
|
3
|
-
const require_addWaasSolanaExtension = require('./addWaasSolanaExtension-
|
|
1
|
+
const require_addSolanaWalletStandardExtension = require('./addSolanaWalletStandardExtension-Bf8r6-4V.cjs.js');
|
|
2
|
+
const require_solanaTransferAmount = require('./solanaTransferAmount-sL92hrfS.cjs.js');
|
|
3
|
+
const require_addWaasSolanaExtension = require('./addWaasSolanaExtension-CSzXRhvr.cjs.js');
|
|
4
4
|
let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
|
|
5
5
|
let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
|
|
6
6
|
let _solana_web3_js = require("@solana/web3.js");
|
|
@@ -28,22 +28,6 @@ const addSolanaExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaul
|
|
|
28
28
|
require_addWaasSolanaExtension.addWaasSolanaExtension(client);
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
//#endregion
|
|
32
|
-
//#region src/errors/NotSolanaProviderError/NotSolanaProviderError.ts
|
|
33
|
-
var NotSolanaProviderError = class extends _dynamic_labs_sdk_client.BaseError {
|
|
34
|
-
providerKey;
|
|
35
|
-
constructor(params) {
|
|
36
|
-
super({
|
|
37
|
-
cause: null,
|
|
38
|
-
code: "not_solana_provider_error",
|
|
39
|
-
docsUrl: null,
|
|
40
|
-
name: "NotSolanaProviderError",
|
|
41
|
-
shortMessage: "Provider is not a Solana wallet provider"
|
|
42
|
-
});
|
|
43
|
-
this.providerKey = params.providerKey;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
31
|
//#endregion
|
|
48
32
|
//#region src/isSolanaNetworkProvider/isSolanaNetworkProvider.ts
|
|
49
33
|
/**
|
|
@@ -54,16 +38,6 @@ var NotSolanaProviderError = class extends _dynamic_labs_sdk_client.BaseError {
|
|
|
54
38
|
*/
|
|
55
39
|
const isSolanaNetworkProvider = (networkProvider) => networkProvider.chain === "SOL";
|
|
56
40
|
|
|
57
|
-
//#endregion
|
|
58
|
-
//#region src/isSolanaWalletAccount/isSolanaWalletAccount.ts
|
|
59
|
-
/**
|
|
60
|
-
* Type guard function to check if a wallet account is a Solana wallet account.
|
|
61
|
-
*
|
|
62
|
-
* @param walletAccount - The wallet account to check.
|
|
63
|
-
* @returns True if the wallet account is a Solana wallet account, false otherwise.
|
|
64
|
-
*/
|
|
65
|
-
const isSolanaWalletAccount = (walletAccount) => walletAccount.chain === "SOL";
|
|
66
|
-
|
|
67
41
|
//#endregion
|
|
68
42
|
//#region src/utils/calculateSolanaTransactionFee/calculateSolanaTransactionFee.ts
|
|
69
43
|
const MAX_RETRIES = 5;
|
|
@@ -87,7 +61,7 @@ const sleep = (ms) => new Promise((resolve) => {
|
|
|
87
61
|
const calculateSolanaTransactionFee = async ({ transaction, networkData, nativeTokenPriceUsd }) => {
|
|
88
62
|
try {
|
|
89
63
|
const connection = new _solana_web3_js.Connection(networkData.rpcUrls.http[0]);
|
|
90
|
-
if (
|
|
64
|
+
if (require_solanaTransferAmount.isVersionedTransaction(transaction)) {
|
|
91
65
|
if (!transaction.message.recentBlockhash) {
|
|
92
66
|
const { blockhash } = await connection.getLatestBlockhash();
|
|
93
67
|
transaction.message.recentBlockhash = blockhash;
|
|
@@ -96,7 +70,7 @@ const calculateSolanaTransactionFee = async ({ transaction, networkData, nativeT
|
|
|
96
70
|
const { blockhash } = await connection.getLatestBlockhash();
|
|
97
71
|
transaction.recentBlockhash = blockhash;
|
|
98
72
|
}
|
|
99
|
-
const message =
|
|
73
|
+
const message = require_solanaTransferAmount.isVersionedTransaction(transaction) ? transaction.message : transaction.compileMessage();
|
|
100
74
|
let lastError;
|
|
101
75
|
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) try {
|
|
102
76
|
const feeResponse = await connection.getFeeForMessage(message);
|
|
@@ -162,18 +136,18 @@ const calculateSolanaTransactionFee = async ({ transaction, networkData, nativeT
|
|
|
162
136
|
* @throws {FeeEstimationFailedError} If includeFees is true and fee calculation fails.
|
|
163
137
|
*/
|
|
164
138
|
const simulateSolanaTransaction = async ({ walletAccount, transaction, includeFees = false }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
|
|
165
|
-
if (!isSolanaWalletAccount(walletAccount)) throw new _dynamic_labs_sdk_client.InvalidParamError("Wallet account must be a Solana wallet account");
|
|
139
|
+
if (!require_solanaTransferAmount.isSolanaWalletAccount(walletAccount)) throw new _dynamic_labs_sdk_client.InvalidParamError("Wallet account must be a Solana wallet account");
|
|
166
140
|
const { networkData } = await (0, _dynamic_labs_sdk_client.getActiveNetworkData)({ walletAccount }, client);
|
|
167
141
|
if (!networkData) throw new _dynamic_labs_sdk_client.InvalidParamError("Network data not found for wallet account");
|
|
168
142
|
try {
|
|
169
|
-
const transactionBytes =
|
|
143
|
+
const transactionBytes = require_solanaTransferAmount.isVersionedTransaction(transaction) ? transaction.serialize() : transaction.serialize({
|
|
170
144
|
requireAllSignatures: false,
|
|
171
145
|
verifySignatures: false
|
|
172
146
|
});
|
|
173
147
|
const serialized = bs58.default.encode(transactionBytes);
|
|
174
148
|
console.log("[SIMULATE SOLANA TX] Serialization details:", {
|
|
175
149
|
accountAddress: walletAccount.address,
|
|
176
|
-
isVersioned:
|
|
150
|
+
isVersioned: require_solanaTransferAmount.isVersionedTransaction(transaction),
|
|
177
151
|
serializedBase58: serialized,
|
|
178
152
|
serializedLength: serialized.length,
|
|
179
153
|
transactionLength: transactionBytes.length
|
|
@@ -194,7 +168,7 @@ const simulateSolanaTransaction = async ({ walletAccount, transaction, includeFe
|
|
|
194
168
|
let feeData;
|
|
195
169
|
if (includeFees) {
|
|
196
170
|
const walletPublicKey = new _solana_web3_js.PublicKey(walletAccount.address);
|
|
197
|
-
const feePayer =
|
|
171
|
+
const feePayer = require_solanaTransferAmount.isVersionedTransaction(transaction) ? transaction.message.staticAccountKeys[0] : transaction.feePayer;
|
|
198
172
|
if (feePayer && !feePayer.equals(walletPublicKey)) feeData = {
|
|
199
173
|
humanReadableAmount: "0",
|
|
200
174
|
nativeAmount: 0n,
|
|
@@ -690,6 +664,14 @@ const generateNaClKeyPair = () => {
|
|
|
690
664
|
//#endregion
|
|
691
665
|
//#region src/phantomRedirect/utils/getPhantomCluster/getPhantomCluster.ts
|
|
692
666
|
/**
|
|
667
|
+
* Normalizes a cluster string to the value expected by Phantom's deep link protocol.
|
|
668
|
+
* Our API returns "mainnet" but Phantom expects "mainnet-beta".
|
|
669
|
+
*/
|
|
670
|
+
const normalizeCluster = (cluster) => {
|
|
671
|
+
if (cluster === "mainnet") return "mainnet-beta";
|
|
672
|
+
return cluster;
|
|
673
|
+
};
|
|
674
|
+
/**
|
|
693
675
|
* Returns the Solana cluster name expected by Phantom's deep link protocol
|
|
694
676
|
* (e.g. "mainnet-beta", "devnet", "testnet").
|
|
695
677
|
*
|
|
@@ -704,9 +686,9 @@ const generateNaClKeyPair = () => {
|
|
|
704
686
|
const getPhantomCluster = async ({ dynamicClient, walletAccount }) => {
|
|
705
687
|
if (walletAccount) {
|
|
706
688
|
const { networkData } = await (0, _dynamic_labs_sdk_client.getActiveNetworkData)({ walletAccount }, dynamicClient);
|
|
707
|
-
return networkData?.cluster
|
|
689
|
+
return normalizeCluster(networkData?.cluster);
|
|
708
690
|
}
|
|
709
|
-
return (0, _dynamic_labs_sdk_client_core.getNetworkProviders)(dynamicClient).find((p) => p.chain === "SOL")?.cluster
|
|
691
|
+
return normalizeCluster((0, _dynamic_labs_sdk_client_core.getNetworkProviders)(dynamicClient).find((p) => p.chain === "SOL")?.cluster);
|
|
710
692
|
};
|
|
711
693
|
|
|
712
694
|
//#endregion
|
|
@@ -778,7 +760,7 @@ const createPhantomRedirectWalletProvider = ({ baseRedirectUrl, dynamicClient })
|
|
|
778
760
|
const groupKey = (0, _dynamic_labs_sdk_client_core.formatWalletProviderGroupKey)("Phantom");
|
|
779
761
|
const metadata = {
|
|
780
762
|
displayName: "Phantom",
|
|
781
|
-
icon: "
|
|
763
|
+
icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiB2aWV3Qm94PSIwIDAgMTA4IDEwOCIgZmlsbD0ibm9uZSI+CjxyZWN0IHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiByeD0iMjYiIGZpbGw9IiNBQjlGRjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ni41MjY3IDY5LjkyMjlDNDIuMDA1NCA3Ni44NTA5IDM0LjQyOTIgODUuNjE4MiAyNC4zNDggODUuNjE4MkMxOS41ODI0IDg1LjYxODIgMTUgODMuNjU2MyAxNSA3NS4xMzQyQzE1IDUzLjQzMDUgNDQuNjMyNiAxOS44MzI3IDcyLjEyNjggMTkuODMyN0M4Ny43NjggMTkuODMyNyA5NCAzMC42ODQ2IDk0IDQzLjAwNzlDOTQgNTguODI1OCA4My43MzU1IDc2LjkxMjIgNzMuNTMyMSA3Ni45MTIyQzcwLjI5MzkgNzYuOTEyMiA2OC43MDUzIDc1LjEzNDIgNjguNzA1MyA3Mi4zMTRDNjguNzA1MyA3MS41NzgzIDY4LjgyNzUgNzAuNzgxMiA2OS4wNzE5IDY5LjkyMjlDNjUuNTg5MyA3NS44Njk5IDU4Ljg2ODUgODEuMzg3OCA1Mi41NzU0IDgxLjM4NzhDNDcuOTkzIDgxLjM4NzggNDUuNjcxMyA3OC41MDYzIDQ1LjY3MTMgNzQuNDU5OEM0NS42NzEzIDcyLjk4ODQgNDUuOTc2OCA3MS40NTU2IDQ2LjUyNjcgNjkuOTIyOVpNODMuNjc2MSA0Mi41Nzk0QzgzLjY3NjEgNDYuMTcwNCA4MS41NTc1IDQ3Ljk2NTggNzkuMTg3NSA0Ny45NjU4Qzc2Ljc4MTYgNDcuOTY1OCA3NC42OTg5IDQ2LjE3MDQgNzQuNjk4OSA0Mi41Nzk0Qzc0LjY5ODkgMzguOTg4NSA3Ni43ODE2IDM3LjE5MzEgNzkuMTg3NSAzNy4xOTMxQzgxLjU1NzUgMzcuMTkzMSA4My42NzYxIDM4Ljk4ODUgODMuNjc2MSA0Mi41Nzk0Wk03MC4yMTAzIDQyLjU3OTVDNzAuMjEwMyA0Ni4xNzA0IDY4LjA5MTYgNDcuOTY1OCA2NS43MjE2IDQ3Ljk2NThDNjMuMzE1NyA0Ny45NjU4IDYxLjIzMyA0Ni4xNzA0IDYxLjIzMyA0Mi41Nzk1QzYxLjIzMyAzOC45ODg1IDYzLjMxNTcgMzcuMTkzMSA2NS43MjE2IDM3LjE5MzFDNjguMDkxNiAzNy4xOTMxIDcwLjIxMDMgMzguOTg4NSA3MC4yMTAzIDQyLjU3OTVaIiBmaWxsPSIjRkZGREY4Ii8+Cjwvc3ZnPg=="
|
|
782
764
|
};
|
|
783
765
|
const getSession = async () => {
|
|
784
766
|
const session = await core.storage.getItem(phantomSessionStorageKeySchema);
|
|
@@ -856,7 +838,10 @@ const createPhantomRedirectWalletProvider = ({ baseRedirectUrl, dynamicClient })
|
|
|
856
838
|
method: "connect",
|
|
857
839
|
redirectUrl
|
|
858
840
|
});
|
|
859
|
-
core.logger.debug("[PHANTOM] connect: opening deeplink", {
|
|
841
|
+
core.logger.debug("[PHANTOM] connect: opening deeplink", {
|
|
842
|
+
deepLinkUrl: deepLinkUrl.toString(),
|
|
843
|
+
redirectUrl
|
|
844
|
+
});
|
|
860
845
|
await core.openDeeplink(deepLinkUrl.toString());
|
|
861
846
|
core.logger.debug("[PHANTOM] connect: deeplink opened, awaiting deferred promise");
|
|
862
847
|
return deferredPromise.promise;
|
|
@@ -1076,7 +1061,7 @@ const createPhantomRedirectWalletProvider = ({ baseRedirectUrl, dynamicClient })
|
|
|
1076
1061
|
});
|
|
1077
1062
|
const { networkData } = await (0, _dynamic_labs_sdk_client.getActiveNetworkData)({ walletAccount }, dynamicClient);
|
|
1078
1063
|
(0, _dynamic_labs_sdk_client_core.assertDefined)(networkData, "Network data is required to broadcast transaction");
|
|
1079
|
-
const connection =
|
|
1064
|
+
const connection = require_solanaTransferAmount.getSolanaConnection({ networkData });
|
|
1080
1065
|
const rawTransaction = signedTransaction.serialize();
|
|
1081
1066
|
return { signature: await connection.sendRawTransaction(rawTransaction, options) };
|
|
1082
1067
|
};
|
|
@@ -1084,6 +1069,7 @@ const createPhantomRedirectWalletProvider = ({ baseRedirectUrl, dynamicClient })
|
|
|
1084
1069
|
chain: "SOL",
|
|
1085
1070
|
connect,
|
|
1086
1071
|
disconnect,
|
|
1072
|
+
executeCheckoutTransaction: (args) => require_solanaTransferAmount.solanaExecuteCheckoutTransaction(args, dynamicClient),
|
|
1087
1073
|
getActiveNetworkId,
|
|
1088
1074
|
getConnectedAddresses,
|
|
1089
1075
|
groupKey,
|
|
@@ -1093,6 +1079,7 @@ const createPhantomRedirectWalletProvider = ({ baseRedirectUrl, dynamicClient })
|
|
|
1093
1079
|
signAndSendTransaction: signAndSendTransaction$1,
|
|
1094
1080
|
signMessage,
|
|
1095
1081
|
signTransaction: signTransaction$1,
|
|
1082
|
+
transferAmount: (args) => require_solanaTransferAmount.solanaTransferAmount(args, dynamicClient),
|
|
1096
1083
|
walletProviderType
|
|
1097
1084
|
};
|
|
1098
1085
|
};
|
|
@@ -1112,7 +1099,7 @@ const createPhantomRedirectWalletProvider = ({ baseRedirectUrl, dynamicClient })
|
|
|
1112
1099
|
*/
|
|
1113
1100
|
const detectPhantomRedirect = async ({ url }, client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
|
|
1114
1101
|
const core = (0, _dynamic_labs_sdk_client_core.getCore)(client);
|
|
1115
|
-
if (!(url.searchParams.has("phantom_encryption_public_key") || url.searchParams.has("errorCode"))) return false;
|
|
1102
|
+
if (!(url.searchParams.has("phantom_encryption_public_key") || url.searchParams.has("errorCode") || url.searchParams.has("nonce") && url.searchParams.has("data"))) return false;
|
|
1116
1103
|
await core.initTrack.waitForAll();
|
|
1117
1104
|
const pendingRequest = await core.storage.getItem(pendingRequestStorageKeySchema);
|
|
1118
1105
|
return Boolean(pendingRequest);
|
|
@@ -1165,15 +1152,15 @@ const PHANTOM_REDIRECT_SOLANA_EXTENSION_KEY = "phantomRedirectSolana";
|
|
|
1165
1152
|
* @param [client] - The Dynamic client. Only required for multiple clients.
|
|
1166
1153
|
*/
|
|
1167
1154
|
const addPhantomRedirectSolanaExtension = async ({ disableAutoRedirectCompletion, onCloseTab, url }, client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
|
|
1168
|
-
if ((0, _dynamic_labs_sdk_client_core.hasExtension)({ extensionKey: PHANTOM_REDIRECT_SOLANA_EXTENSION_KEY }, client))
|
|
1155
|
+
if ((0, _dynamic_labs_sdk_client_core.hasExtension)({ extensionKey: PHANTOM_REDIRECT_SOLANA_EXTENSION_KEY }, client)) {
|
|
1156
|
+
(0, _dynamic_labs_sdk_client_core.getCore)(client).logger.debug("[PHANTOM] addPhantomRedirectSolanaExtension: already registered, skipping");
|
|
1157
|
+
return;
|
|
1158
|
+
}
|
|
1169
1159
|
(0, _dynamic_labs_sdk_client_core.registerExtension)({ extensionKey: PHANTOM_REDIRECT_SOLANA_EXTENSION_KEY }, client);
|
|
1170
|
-
|
|
1160
|
+
require_solanaTransferAmount.registerSolanaNetworkProviderBuilder(client);
|
|
1171
1161
|
const core = (0, _dynamic_labs_sdk_client_core.getCore)(client);
|
|
1172
1162
|
if (!disableAutoRedirectCompletion) {
|
|
1173
|
-
|
|
1174
|
-
const isRedirect = await detectPhantomRedirect({ url }, client);
|
|
1175
|
-
core.logger.debug("[PHANTOM] addPhantomRedirectSolanaExtension: isRedirect", { isRedirect });
|
|
1176
|
-
if (isRedirect) {
|
|
1163
|
+
if (await detectPhantomRedirect({ url }, client)) {
|
|
1177
1164
|
(0, _dynamic_labs_sdk_client.onceEvent)({
|
|
1178
1165
|
event: "phantomRedirectCloseTab",
|
|
1179
1166
|
listener: onCloseTab
|
|
@@ -1197,12 +1184,6 @@ const addPhantomRedirectSolanaExtension = async ({ disableAutoRedirectCompletion
|
|
|
1197
1184
|
});
|
|
1198
1185
|
};
|
|
1199
1186
|
|
|
1200
|
-
//#endregion
|
|
1201
|
-
//#region src/isSolanaWalletProvider/isSolanaWalletProvider.ts
|
|
1202
|
-
const isSolanaWalletProvider = (provider) => {
|
|
1203
|
-
return provider.chain === "SOL";
|
|
1204
|
-
};
|
|
1205
|
-
|
|
1206
1187
|
//#endregion
|
|
1207
1188
|
//#region src/signAllTransactions/signAllTransactions.ts
|
|
1208
1189
|
/**
|
|
@@ -1214,7 +1195,7 @@ const isSolanaWalletProvider = (provider) => {
|
|
|
1214
1195
|
*/
|
|
1215
1196
|
const signAllTransactions = async ({ walletAccount, transactions }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
|
|
1216
1197
|
const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
|
|
1217
|
-
if (!isSolanaWalletProvider(provider)) throw new NotSolanaProviderError({ providerKey: provider.key });
|
|
1198
|
+
if (!require_solanaTransferAmount.isSolanaWalletProvider(provider)) throw new require_solanaTransferAmount.NotSolanaProviderError({ providerKey: provider.key });
|
|
1218
1199
|
return provider.signAllTransactions({
|
|
1219
1200
|
transactions,
|
|
1220
1201
|
walletAccount
|
|
@@ -1236,7 +1217,7 @@ const signAllTransactions = async ({ walletAccount, transactions }, client = (0,
|
|
|
1236
1217
|
*/
|
|
1237
1218
|
const signAndSendSponsoredTransaction = async ({ walletAccount, transaction, options }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
|
|
1238
1219
|
const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
|
|
1239
|
-
if (!isSolanaWalletProvider(provider)) throw new NotSolanaProviderError({ providerKey: provider.key });
|
|
1220
|
+
if (!require_solanaTransferAmount.isSolanaWalletProvider(provider)) throw new require_solanaTransferAmount.NotSolanaProviderError({ providerKey: provider.key });
|
|
1240
1221
|
if (!provider.signAndSendSponsoredTransaction) throw new _dynamic_labs_sdk_client_core.MethodNotImplementedError("signAndSendSponsoredTransaction");
|
|
1241
1222
|
return provider.signAndSendSponsoredTransaction({
|
|
1242
1223
|
options,
|
|
@@ -1256,7 +1237,7 @@ const signAndSendSponsoredTransaction = async ({ walletAccount, transaction, opt
|
|
|
1256
1237
|
*/
|
|
1257
1238
|
const signAndSendTransaction = async ({ walletAccount, transaction, options }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
|
|
1258
1239
|
const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
|
|
1259
|
-
if (!isSolanaWalletProvider(provider)) throw new NotSolanaProviderError({ providerKey: provider.key });
|
|
1240
|
+
if (!require_solanaTransferAmount.isSolanaWalletProvider(provider)) throw new require_solanaTransferAmount.NotSolanaProviderError({ providerKey: provider.key });
|
|
1260
1241
|
return provider.signAndSendTransaction({
|
|
1261
1242
|
options,
|
|
1262
1243
|
transaction,
|
|
@@ -1275,7 +1256,7 @@ const signAndSendTransaction = async ({ walletAccount, transaction, options }, c
|
|
|
1275
1256
|
*/
|
|
1276
1257
|
const signTransaction = async ({ walletAccount, transaction }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
|
|
1277
1258
|
const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
|
|
1278
|
-
if (!isSolanaWalletProvider(provider)) throw new NotSolanaProviderError({ providerKey: provider.key });
|
|
1259
|
+
if (!require_solanaTransferAmount.isSolanaWalletProvider(provider)) throw new require_solanaTransferAmount.NotSolanaProviderError({ providerKey: provider.key });
|
|
1279
1260
|
return provider.signTransaction({
|
|
1280
1261
|
transaction,
|
|
1281
1262
|
walletAccount
|
|
@@ -1284,19 +1265,20 @@ const signTransaction = async ({ walletAccount, transaction }, client = (0, _dyn
|
|
|
1284
1265
|
|
|
1285
1266
|
//#endregion
|
|
1286
1267
|
//#region src/exports/index.ts
|
|
1287
|
-
(0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(
|
|
1268
|
+
(0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_solanaTransferAmount.name, require_solanaTransferAmount.version);
|
|
1288
1269
|
|
|
1289
1270
|
//#endregion
|
|
1290
|
-
exports.NotSolanaProviderError = NotSolanaProviderError;
|
|
1271
|
+
exports.NotSolanaProviderError = require_solanaTransferAmount.NotSolanaProviderError;
|
|
1291
1272
|
exports.SponsorTransactionError = require_addWaasSolanaExtension.SponsorTransactionError;
|
|
1292
1273
|
exports.addPhantomRedirectSolanaExtension = addPhantomRedirectSolanaExtension;
|
|
1293
1274
|
exports.addSolanaExtension = addSolanaExtension;
|
|
1294
1275
|
exports.calculateSolanaTransactionFee = calculateSolanaTransactionFee;
|
|
1295
1276
|
exports.completePhantomRedirect = completePhantomRedirect;
|
|
1296
1277
|
exports.detectPhantomRedirect = detectPhantomRedirect;
|
|
1297
|
-
exports.getSolanaConnection =
|
|
1278
|
+
exports.getSolanaConnection = require_solanaTransferAmount.getSolanaConnection;
|
|
1279
|
+
exports.isSolanaGasSponsorshipEnabled = require_solanaTransferAmount.isSolanaGasSponsorshipEnabled;
|
|
1298
1280
|
exports.isSolanaNetworkProvider = isSolanaNetworkProvider;
|
|
1299
|
-
exports.isSolanaWalletAccount = isSolanaWalletAccount;
|
|
1281
|
+
exports.isSolanaWalletAccount = require_solanaTransferAmount.isSolanaWalletAccount;
|
|
1300
1282
|
exports.signAllTransactions = signAllTransactions;
|
|
1301
1283
|
exports.signAndSendSponsoredTransaction = signAndSendSponsoredTransaction;
|
|
1302
1284
|
exports.signAndSendTransaction = signAndSendTransaction;
|