@dynamic-labs-sdk/solana 0.1.1 → 0.2.3
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/SolanaNetworkProvider.types.d.ts.map +1 -0
- package/dist/SolanaWalletAccount.types.d.ts.map +1 -0
- package/dist/SolanaWalletProvider.types.d.ts.map +1 -0
- package/{src → dist}/addSolanaExtension/addSolanaExtension.d.ts +1 -1
- package/dist/addSolanaExtension/addSolanaExtension.d.ts.map +1 -0
- package/dist/addSolanaExtension/index.d.ts.map +1 -0
- package/dist/addSolanaWalletStandardExtension-BToyMUc9.cjs.js +231 -0
- package/dist/addSolanaWalletStandardExtension-BToyMUc9.cjs.js.map +1 -0
- package/dist/addSolanaWalletStandardExtension-nZhmVofg.esm.js +192 -0
- package/dist/addSolanaWalletStandardExtension-nZhmVofg.esm.js.map +1 -0
- package/dist/addWaasSolanaExtension-CUJHPuv5.esm.js +145 -0
- package/dist/addWaasSolanaExtension-CUJHPuv5.esm.js.map +1 -0
- package/dist/addWaasSolanaExtension-DB0ZNIuG.cjs.js +157 -0
- package/dist/addWaasSolanaExtension-DB0ZNIuG.cjs.js.map +1 -0
- package/dist/errors/NotSolanaProviderError/NotSolanaProviderError.d.ts.map +1 -0
- package/dist/errors/NotSolanaProviderError/index.d.ts.map +1 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/dist/exports/waas.d.ts.map +1 -0
- package/dist/exports/walletStandard.d.ts.map +1 -0
- package/dist/getSolanaConnection/getSolanaConnection.d.ts.map +1 -0
- package/dist/getSolanaConnection/index.d.ts.map +1 -0
- package/dist/index.cjs.js +132 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +125 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/isSolanaNetworkProvider/index.d.ts.map +1 -0
- package/dist/isSolanaNetworkProvider/isSolanaNetworkProvider.d.ts.map +1 -0
- package/dist/isSolanaWalletAccount/index.d.ts.map +1 -0
- package/dist/isSolanaWalletAccount/isSolanaWalletAccount.d.ts.map +1 -0
- package/dist/isSolanaWalletProvider/index.d.ts.map +1 -0
- package/dist/isSolanaWalletProvider/isSolanaWalletProvider.d.ts.map +1 -0
- package/dist/isVersionedTransaction-B-yrMKci.esm.js +48 -0
- package/dist/isVersionedTransaction-B-yrMKci.esm.js.map +1 -0
- package/dist/isVersionedTransaction-BAaz3ONI.cjs.js +72 -0
- package/dist/isVersionedTransaction-BAaz3ONI.cjs.js.map +1 -0
- package/dist/registerSolanaNetworkProviderBuilder/index.d.ts.map +1 -0
- package/dist/registerSolanaNetworkProviderBuilder/registerSolanaNetworkProviderBuilder.d.ts.map +1 -0
- package/dist/signAllTransactions/index.d.ts.map +1 -0
- package/{src → dist}/signAllTransactions/signAllTransactions.d.ts +1 -1
- package/dist/signAllTransactions/signAllTransactions.d.ts.map +1 -0
- package/dist/signAndSendTransaction/index.d.ts.map +1 -0
- package/{src → dist}/signAndSendTransaction/signAndSendTransaction.d.ts +1 -1
- package/dist/signAndSendTransaction/signAndSendTransaction.d.ts.map +1 -0
- package/dist/signTransaction/index.d.ts.map +1 -0
- package/{src → dist}/signTransaction/signTransaction.d.ts +1 -1
- package/dist/signTransaction/signTransaction.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/utils/createEmptyEventEmitter/createEmptyEventEmitter.d.ts.map +1 -0
- package/dist/utils/createEmptyEventEmitter/index.d.ts.map +1 -0
- package/dist/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.d.ts.map +1 -0
- package/dist/utils/createSolanaNetworkProvider/index.d.ts.map +1 -0
- package/dist/utils/fetchSolBalance/fetchSolBalance.d.ts.map +1 -0
- package/dist/utils/fetchSolBalance/index.d.ts.map +1 -0
- package/dist/utils/isVersionedTransaction/index.d.ts.map +1 -0
- package/dist/utils/isVersionedTransaction/isVersionedTransaction.d.ts.map +1 -0
- package/dist/waas/WaasSolanaWalletProvider.types.d.ts.map +1 -0
- package/{src → dist}/waas/addWaasSolanaExtension/addWaasSolanaExtension.d.ts +1 -1
- package/dist/waas/addWaasSolanaExtension/addWaasSolanaExtension.d.ts.map +1 -0
- package/dist/waas/addWaasSolanaExtension/index.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasSolana/index.d.ts.map +1 -0
- package/dist/waas.cjs.js +11 -0
- package/dist/waas.cjs.js.map +1 -0
- package/dist/waas.esm.js +10 -0
- package/dist/waas.esm.js.map +1 -0
- package/{src → dist}/walletStandard/addSolanaWalletStandardExtension/addSolanaWalletStandardExtension.d.ts +1 -1
- package/dist/walletStandard/addSolanaWalletStandardExtension/addSolanaWalletStandardExtension.d.ts.map +1 -0
- package/dist/walletStandard/addSolanaWalletStandardExtension/index.d.ts.map +1 -0
- package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/createWalletProviderFromSolanaStandardWallet.d.ts.map +1 -0
- package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/getActiveNetworkId.d.ts.map +1 -0
- package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/index.d.ts.map +1 -0
- package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/index.d.ts.map +1 -0
- package/dist/walletStandard/utils/getActiveNetworkCluster/getActiveNetworkCluster.d.ts.map +1 -0
- package/dist/walletStandard/utils/getActiveNetworkCluster/index.d.ts.map +1 -0
- package/{src → dist}/walletStandard/utils/getFeaturesForSolanaStandardWallet/getFeaturesForSolanaStandardWallet.d.ts +1 -1
- package/dist/walletStandard/utils/getFeaturesForSolanaStandardWallet/getFeaturesForSolanaStandardWallet.d.ts.map +1 -0
- package/dist/walletStandard/utils/getFeaturesForSolanaStandardWallet/index.d.ts.map +1 -0
- package/dist/walletStandard/utils/hasAllRequiredFeatures/hasAllRequiredFeatures.d.ts.map +1 -0
- package/dist/walletStandard/utils/hasAllRequiredFeatures/index.d.ts.map +1 -0
- package/dist/walletStandard.cjs.js +10 -0
- package/dist/walletStandard.cjs.js.map +1 -0
- package/dist/walletStandard.esm.js +10 -0
- package/dist/walletStandard.esm.js.map +1 -0
- package/package.json +31 -17
- package/CHANGELOG.md +0 -600
- package/addSolanaWalletStandardExtension.cjs.js +0 -268
- package/addSolanaWalletStandardExtension.esm.js +0 -266
- package/addWaasSolanaExtension.cjs.js +0 -163
- package/addWaasSolanaExtension.esm.js +0 -160
- package/index.cjs.d.ts +0 -1
- package/index.cjs.js +0 -131
- package/index.esm.d.ts +0 -1
- package/index.esm.js +0 -123
- package/isVersionedTransaction.cjs.js +0 -64
- package/isVersionedTransaction.esm.js +0 -58
- package/src/SolanaNetworkProvider.types.d.ts.map +0 -1
- package/src/SolanaWalletAccount.types.d.ts.map +0 -1
- package/src/SolanaWalletProvider.types.d.ts.map +0 -1
- package/src/addSolanaExtension/addSolanaExtension.d.ts.map +0 -1
- package/src/addSolanaExtension/index.d.ts.map +0 -1
- package/src/errors/NotSolanaProviderError/NotSolanaProviderError.d.ts.map +0 -1
- package/src/errors/NotSolanaProviderError/index.d.ts.map +0 -1
- package/src/exports/index.d.ts.map +0 -1
- package/src/exports/waas.d.ts.map +0 -1
- package/src/exports/walletStandard.d.ts.map +0 -1
- package/src/getSolanaConnection/getSolanaConnection.d.ts.map +0 -1
- package/src/getSolanaConnection/index.d.ts.map +0 -1
- package/src/isSolanaNetworkProvider/index.d.ts.map +0 -1
- package/src/isSolanaNetworkProvider/isSolanaNetworkProvider.d.ts.map +0 -1
- package/src/isSolanaWalletAccount/index.d.ts.map +0 -1
- package/src/isSolanaWalletAccount/isSolanaWalletAccount.d.ts.map +0 -1
- package/src/isSolanaWalletProvider/index.d.ts.map +0 -1
- package/src/isSolanaWalletProvider/isSolanaWalletProvider.d.ts.map +0 -1
- package/src/registerSolanaNetworkProviderBuilder/index.d.ts.map +0 -1
- package/src/registerSolanaNetworkProviderBuilder/registerSolanaNetworkProviderBuilder.d.ts.map +0 -1
- package/src/signAllTransactions/index.d.ts.map +0 -1
- package/src/signAllTransactions/signAllTransactions.d.ts.map +0 -1
- package/src/signAndSendTransaction/index.d.ts.map +0 -1
- package/src/signAndSendTransaction/signAndSendTransaction.d.ts.map +0 -1
- package/src/signTransaction/index.d.ts.map +0 -1
- package/src/signTransaction/signTransaction.d.ts.map +0 -1
- package/src/utils/createEmptyEventEmitter/createEmptyEventEmitter.d.ts.map +0 -1
- package/src/utils/createEmptyEventEmitter/index.d.ts.map +0 -1
- package/src/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.d.ts.map +0 -1
- package/src/utils/createSolanaNetworkProvider/index.d.ts.map +0 -1
- package/src/utils/fetchSolBalance/fetchSolBalance.d.ts.map +0 -1
- package/src/utils/fetchSolBalance/index.d.ts.map +0 -1
- package/src/utils/isVersionedTransaction/index.d.ts.map +0 -1
- package/src/utils/isVersionedTransaction/isVersionedTransaction.d.ts.map +0 -1
- package/src/waas/WaasSolanaWalletProvider.types.d.ts.map +0 -1
- package/src/waas/addWaasSolanaExtension/addWaasSolanaExtension.d.ts.map +0 -1
- package/src/waas/addWaasSolanaExtension/index.d.ts.map +0 -1
- package/src/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.d.ts.map +0 -1
- package/src/waas/utils/createWalletProviderForWaasSolana/index.d.ts.map +0 -1
- package/src/walletStandard/addSolanaWalletStandardExtension/addSolanaWalletStandardExtension.d.ts.map +0 -1
- package/src/walletStandard/addSolanaWalletStandardExtension/index.d.ts.map +0 -1
- package/src/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/createWalletProviderFromSolanaStandardWallet.d.ts.map +0 -1
- package/src/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/getActiveNetworkId.d.ts.map +0 -1
- package/src/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/index.d.ts.map +0 -1
- package/src/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/index.d.ts.map +0 -1
- package/src/walletStandard/utils/getActiveNetworkCluster/getActiveNetworkCluster.d.ts.map +0 -1
- package/src/walletStandard/utils/getActiveNetworkCluster/index.d.ts.map +0 -1
- package/src/walletStandard/utils/getFeaturesForSolanaStandardWallet/getFeaturesForSolanaStandardWallet.d.ts.map +0 -1
- package/src/walletStandard/utils/getFeaturesForSolanaStandardWallet/index.d.ts.map +0 -1
- package/src/walletStandard/utils/hasAllRequiredFeatures/hasAllRequiredFeatures.d.ts.map +0 -1
- package/src/walletStandard/utils/hasAllRequiredFeatures/index.d.ts.map +0 -1
- package/waas.cjs.d.ts +0 -1
- package/waas.cjs.js +0 -14
- package/waas.esm.d.ts +0 -1
- package/waas.esm.js +0 -10
- package/walletStandard.cjs.d.ts +0 -1
- package/walletStandard.cjs.js +0 -15
- package/walletStandard.esm.d.ts +0 -1
- package/walletStandard.esm.js +0 -11
- /package/{src → dist}/SolanaNetworkProvider.types.d.ts +0 -0
- /package/{src → dist}/SolanaWalletAccount.types.d.ts +0 -0
- /package/{src → dist}/SolanaWalletProvider.types.d.ts +0 -0
- /package/{src → dist}/addSolanaExtension/index.d.ts +0 -0
- /package/{src → dist}/errors/NotSolanaProviderError/NotSolanaProviderError.d.ts +0 -0
- /package/{src → dist}/errors/NotSolanaProviderError/index.d.ts +0 -0
- /package/{src → dist}/exports/index.d.ts +0 -0
- /package/{src → dist}/exports/waas.d.ts +0 -0
- /package/{src → dist}/exports/walletStandard.d.ts +0 -0
- /package/{src → dist}/getSolanaConnection/getSolanaConnection.d.ts +0 -0
- /package/{src → dist}/getSolanaConnection/index.d.ts +0 -0
- /package/{src → dist}/isSolanaNetworkProvider/index.d.ts +0 -0
- /package/{src → dist}/isSolanaNetworkProvider/isSolanaNetworkProvider.d.ts +0 -0
- /package/{src → dist}/isSolanaWalletAccount/index.d.ts +0 -0
- /package/{src → dist}/isSolanaWalletAccount/isSolanaWalletAccount.d.ts +0 -0
- /package/{src → dist}/isSolanaWalletProvider/index.d.ts +0 -0
- /package/{src → dist}/isSolanaWalletProvider/isSolanaWalletProvider.d.ts +0 -0
- /package/{src → dist}/registerSolanaNetworkProviderBuilder/index.d.ts +0 -0
- /package/{src → dist}/registerSolanaNetworkProviderBuilder/registerSolanaNetworkProviderBuilder.d.ts +0 -0
- /package/{src → dist}/signAllTransactions/index.d.ts +0 -0
- /package/{src → dist}/signAndSendTransaction/index.d.ts +0 -0
- /package/{src → dist}/signTransaction/index.d.ts +0 -0
- /package/{src → dist}/utils/createEmptyEventEmitter/createEmptyEventEmitter.d.ts +0 -0
- /package/{src → dist}/utils/createEmptyEventEmitter/index.d.ts +0 -0
- /package/{src → dist}/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.d.ts +0 -0
- /package/{src → dist}/utils/createSolanaNetworkProvider/index.d.ts +0 -0
- /package/{src → dist}/utils/fetchSolBalance/fetchSolBalance.d.ts +0 -0
- /package/{src → dist}/utils/fetchSolBalance/index.d.ts +0 -0
- /package/{src → dist}/utils/isVersionedTransaction/index.d.ts +0 -0
- /package/{src → dist}/utils/isVersionedTransaction/isVersionedTransaction.d.ts +0 -0
- /package/{src → dist}/waas/WaasSolanaWalletProvider.types.d.ts +0 -0
- /package/{src → dist}/waas/addWaasSolanaExtension/index.d.ts +0 -0
- /package/{src → dist}/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.d.ts +0 -0
- /package/{src → dist}/waas/utils/createWalletProviderForWaasSolana/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/addSolanaWalletStandardExtension/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/createWalletProviderFromSolanaStandardWallet.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/getActiveNetworkId.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/getActiveNetworkCluster/getActiveNetworkCluster.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/getActiveNetworkCluster/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/getFeaturesForSolanaStandardWallet/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/hasAllRequiredFeatures/hasAllRequiredFeatures.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/hasAllRequiredFeatures/index.d.ts +0 -0
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var core = require('@dynamic-labs-sdk/client/core');
|
|
4
|
-
var app = require('@wallet-standard/app');
|
|
5
|
-
var isVersionedTransaction = require('./isVersionedTransaction.cjs.js');
|
|
6
|
-
var client = require('@dynamic-labs-sdk/client');
|
|
7
|
-
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
8
|
-
var web3_js = require('@solana/web3.js');
|
|
9
|
-
var bs58 = require('bs58');
|
|
10
|
-
|
|
11
|
-
const getActiveNetworkCluster = async ({ walletAccount }, client$1)=>{
|
|
12
|
-
const { networkData } = await client.getActiveNetworkData({
|
|
13
|
-
walletAccount
|
|
14
|
-
}, client$1);
|
|
15
|
-
if (!(networkData == null ? void 0 : networkData.cluster)) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
return `solana:${networkData.cluster}`;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const getFeaturesForSolanaStandardWallet = (wallet)=>{
|
|
22
|
-
return wallet.features;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const createWalletProviderFromSolanaStandardWallet = ({ dynamicClient, walletStandardWallet })=>{
|
|
26
|
-
const features = getFeaturesForSolanaStandardWallet(walletStandardWallet);
|
|
27
|
-
const walletProviderType = sdkApiCore.WalletProviderEnum.BrowserExtension;
|
|
28
|
-
const key = core.formatWalletProviderKey({
|
|
29
|
-
chain: 'SOL',
|
|
30
|
-
displayName: walletStandardWallet.name,
|
|
31
|
-
walletProviderType
|
|
32
|
-
});
|
|
33
|
-
const connect = async ()=>{
|
|
34
|
-
var _features_standardconnect, _result_accounts;
|
|
35
|
-
const autoConnectedAccounts = walletStandardWallet.accounts;
|
|
36
|
-
// some wallets like Farcaster will auto inject the account into the wallet object
|
|
37
|
-
// instead of returning it from the connect method
|
|
38
|
-
// so we need to check for that first
|
|
39
|
-
if ((autoConnectedAccounts == null ? void 0 : autoConnectedAccounts.length) && autoConnectedAccounts[0].publicKey && autoConnectedAccounts[0].address) {
|
|
40
|
-
return {
|
|
41
|
-
addresses: [
|
|
42
|
-
{
|
|
43
|
-
address: autoConnectedAccounts[0].address,
|
|
44
|
-
publicKey: autoConnectedAccounts[0].publicKey.toString()
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
const connectMethod = (_features_standardconnect = features['standard:connect']) == null ? void 0 : _features_standardconnect.connect;
|
|
50
|
-
core.assertDefined(connectMethod, 'connect method not found in wallet features');
|
|
51
|
-
const result = await connectMethod({
|
|
52
|
-
silent: false
|
|
53
|
-
});
|
|
54
|
-
return {
|
|
55
|
-
addresses: (_result_accounts = result.accounts) == null ? void 0 : _result_accounts.map((account)=>{
|
|
56
|
-
var _account_publicKey;
|
|
57
|
-
return {
|
|
58
|
-
address: account.address,
|
|
59
|
-
publicKey: (_account_publicKey = account.publicKey) == null ? void 0 : _account_publicKey.toString()
|
|
60
|
-
};
|
|
61
|
-
})
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
const disconnect = async ()=>{
|
|
65
|
-
var _features_standarddisconnect;
|
|
66
|
-
const disconnectMethod = (_features_standarddisconnect = features['standard:disconnect']) == null ? void 0 : _features_standarddisconnect.disconnect;
|
|
67
|
-
core.assertDefined(disconnectMethod, 'disconnect method not found in wallet features');
|
|
68
|
-
await disconnectMethod();
|
|
69
|
-
};
|
|
70
|
-
const getActiveNetworkId = async ()=>core.getActiveNetworkIdFromLastKnownRegistry({
|
|
71
|
-
client: dynamicClient,
|
|
72
|
-
walletProviderKey: key
|
|
73
|
-
});
|
|
74
|
-
const getCurrentAccount = async ()=>{
|
|
75
|
-
var _walletStandardWallet_accounts;
|
|
76
|
-
if (!isConnected() && connect) {
|
|
77
|
-
await connect();
|
|
78
|
-
}
|
|
79
|
-
const account = (_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts[0];
|
|
80
|
-
core.assertDefined(account, 'No connected accounts found');
|
|
81
|
-
return account;
|
|
82
|
-
};
|
|
83
|
-
const isConnected = ()=>{
|
|
84
|
-
var _walletStandardWallet_accounts;
|
|
85
|
-
return ((_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts.length) > 0;
|
|
86
|
-
};
|
|
87
|
-
const getConnectedAddresses = async ()=>{
|
|
88
|
-
if (!isConnected() && connect) {
|
|
89
|
-
await connect();
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
addresses: walletStandardWallet.accounts.map((account)=>account.address)
|
|
93
|
-
};
|
|
94
|
-
};
|
|
95
|
-
const signAllTransactions = async ({ transactions, walletAccount })=>{
|
|
96
|
-
var _features_solanasignTransaction;
|
|
97
|
-
const signTransactionMethod = (_features_solanasignTransaction = features['solana:signTransaction']) == null ? void 0 : _features_solanasignTransaction.signTransaction;
|
|
98
|
-
core.assertDefined(signTransactionMethod, 'signTransaction method not found in wallet features');
|
|
99
|
-
await client.assertWalletAccountSigningAvailability({
|
|
100
|
-
walletAccount
|
|
101
|
-
}, dynamicClient);
|
|
102
|
-
const account = await getCurrentAccount();
|
|
103
|
-
const chain = await getActiveNetworkCluster({
|
|
104
|
-
walletAccount
|
|
105
|
-
}, dynamicClient);
|
|
106
|
-
core.assertDefined(chain, 'Could not get active chain for wallet account');
|
|
107
|
-
const transactionsInput = transactions.map((transaction)=>({
|
|
108
|
-
account,
|
|
109
|
-
chain,
|
|
110
|
-
transaction: transaction.serialize({
|
|
111
|
-
requireAllSignatures: false
|
|
112
|
-
})
|
|
113
|
-
}));
|
|
114
|
-
const signTransactionResult = await signTransactionMethod(...transactionsInput);
|
|
115
|
-
const signedTransactions = signTransactionResult.map(({ signedTransaction }, index)=>{
|
|
116
|
-
const inputTransaction = transactions[index];
|
|
117
|
-
if (isVersionedTransaction.isVersionedTransaction(inputTransaction)) {
|
|
118
|
-
return web3_js.VersionedTransaction.deserialize(signedTransaction);
|
|
119
|
-
}
|
|
120
|
-
return web3_js.Transaction.from(signedTransaction);
|
|
121
|
-
});
|
|
122
|
-
return {
|
|
123
|
-
signedTransactions
|
|
124
|
-
};
|
|
125
|
-
};
|
|
126
|
-
const signAndSendTransaction = async ({ transaction, walletAccount })=>{
|
|
127
|
-
var _features_solanasignAndSendTransaction;
|
|
128
|
-
await client.assertWalletAccountSigningAvailability({
|
|
129
|
-
walletAccount
|
|
130
|
-
}, dynamicClient);
|
|
131
|
-
const signAndSendTransactionMethod = (_features_solanasignAndSendTransaction = features['solana:signAndSendTransaction']) == null ? void 0 : _features_solanasignAndSendTransaction.signAndSendTransaction;
|
|
132
|
-
core.assertDefined(signAndSendTransactionMethod, 'signAndSendTransaction method not found in wallet features');
|
|
133
|
-
const account = await getCurrentAccount();
|
|
134
|
-
const chain = await getActiveNetworkCluster({
|
|
135
|
-
walletAccount
|
|
136
|
-
}, dynamicClient);
|
|
137
|
-
core.assertDefined(chain, 'Could not get active chain for wallet account');
|
|
138
|
-
const signedTransactions = await signAndSendTransactionMethod({
|
|
139
|
-
account,
|
|
140
|
-
chain,
|
|
141
|
-
transaction: transaction.serialize({
|
|
142
|
-
requireAllSignatures: false
|
|
143
|
-
})
|
|
144
|
-
});
|
|
145
|
-
const [{ signature }] = signedTransactions;
|
|
146
|
-
return {
|
|
147
|
-
signature: bs58.encode(signature)
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
const signMessage = async ({ message, walletAccount })=>{
|
|
151
|
-
var _features_solanasignMessage;
|
|
152
|
-
const signMessageMethod = (_features_solanasignMessage = features['solana:signMessage']) == null ? void 0 : _features_solanasignMessage.signMessage;
|
|
153
|
-
core.assertDefined(signMessageMethod, 'signMessage method not found in wallet features');
|
|
154
|
-
core.assertDefined(walletAccount, 'Wallet account not found');
|
|
155
|
-
await client.assertWalletAccountSigningAvailability({
|
|
156
|
-
walletAccount
|
|
157
|
-
}, dynamicClient);
|
|
158
|
-
const encodedMessage = new TextEncoder().encode(message);
|
|
159
|
-
const account = await getCurrentAccount();
|
|
160
|
-
const messages = await signMessageMethod({
|
|
161
|
-
account,
|
|
162
|
-
message: encodedMessage
|
|
163
|
-
});
|
|
164
|
-
return {
|
|
165
|
-
signature: core.bufferToBase64(messages[0].signature)
|
|
166
|
-
};
|
|
167
|
-
};
|
|
168
|
-
const signTransaction = async ({ transaction, walletAccount })=>{
|
|
169
|
-
const signedTransactions = await signAllTransactions({
|
|
170
|
-
transactions: [
|
|
171
|
-
transaction
|
|
172
|
-
],
|
|
173
|
-
walletAccount
|
|
174
|
-
});
|
|
175
|
-
return {
|
|
176
|
-
signedTransaction: signedTransactions.signedTransactions[0]
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
const switchActiveNetwork = async ({ networkId })=>core.switchActiveNetworkInLastKnownRegistry({
|
|
180
|
-
client: dynamicClient,
|
|
181
|
-
networkId,
|
|
182
|
-
walletProviderKey: key
|
|
183
|
-
});
|
|
184
|
-
const { getEventEmitter, cleanupEventEmitter } = core.createWalletProviderEventEmitter({
|
|
185
|
-
removeEventListeners: ({ setupReturnValue })=>{
|
|
186
|
-
core.assertDefined(setupReturnValue, 'Setup return value not defined');
|
|
187
|
-
setupReturnValue();
|
|
188
|
-
},
|
|
189
|
-
setupEventListeners: ({ handleAccountsChanged })=>{
|
|
190
|
-
const eventsFeature = features['standard:events'];
|
|
191
|
-
return eventsFeature.on('change', ({ accounts })=>{
|
|
192
|
-
var _accounts_map;
|
|
193
|
-
handleAccountsChanged({
|
|
194
|
-
addresses: (_accounts_map = accounts == null ? void 0 : accounts.map((account)=>account.address)) != null ? _accounts_map : []
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
},
|
|
198
|
-
supportedEvents: [
|
|
199
|
-
'accountsChanged'
|
|
200
|
-
]
|
|
201
|
-
});
|
|
202
|
-
const terminate = async ()=>{
|
|
203
|
-
cleanupEventEmitter();
|
|
204
|
-
};
|
|
205
|
-
const walletProvider = {
|
|
206
|
-
chain: 'SOL',
|
|
207
|
-
connect,
|
|
208
|
-
disconnect,
|
|
209
|
-
get events () {
|
|
210
|
-
return getEventEmitter();
|
|
211
|
-
},
|
|
212
|
-
getActiveNetworkId,
|
|
213
|
-
getConnectedAddresses,
|
|
214
|
-
groupKey: core.formatWalletProviderGroupKey(walletStandardWallet.name),
|
|
215
|
-
key,
|
|
216
|
-
metadata: {
|
|
217
|
-
displayName: walletStandardWallet.name,
|
|
218
|
-
icon: walletStandardWallet.icon
|
|
219
|
-
},
|
|
220
|
-
signAllTransactions,
|
|
221
|
-
signAndSendTransaction,
|
|
222
|
-
signMessage,
|
|
223
|
-
signTransaction,
|
|
224
|
-
switchActiveNetwork,
|
|
225
|
-
terminate,
|
|
226
|
-
walletProviderType
|
|
227
|
-
};
|
|
228
|
-
return walletProvider;
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
const hasAllRequiredFeatures = (wallet)=>{
|
|
232
|
-
var _wallet_features, _wallet_features1, _wallet_features2, _wallet_features3;
|
|
233
|
-
return Boolean(((_wallet_features = wallet.features) == null ? void 0 : _wallet_features['standard:events']) && ((_wallet_features1 = wallet.features) == null ? void 0 : _wallet_features1['standard:connect']) && ((_wallet_features2 = wallet.features) == null ? void 0 : _wallet_features2['solana:signTransaction']) && ((_wallet_features3 = wallet.features) == null ? void 0 : _wallet_features3['solana:signMessage']));
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
const SOLANA_WALLET_STANDARD_EXTENSION_KEY = 'solanaWalletStandard';
|
|
237
|
-
/**
|
|
238
|
-
* Adds the Solana Wallet Standard extension to the Dynamic client.
|
|
239
|
-
*
|
|
240
|
-
* This extension enables integration with wallets that implement the Solana Wallet Standard,
|
|
241
|
-
* automatically detecting and registering compatible wallets for use with the Dynamic SDK.
|
|
242
|
-
*
|
|
243
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
244
|
-
*/ const addSolanaWalletStandardExtension = (client = core.getDefaultClient())=>{
|
|
245
|
-
if (core.hasExtension({
|
|
246
|
-
extensionKey: SOLANA_WALLET_STANDARD_EXTENSION_KEY
|
|
247
|
-
}, client)) {
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
core.registerExtension({
|
|
251
|
-
extensionKey: SOLANA_WALLET_STANDARD_EXTENSION_KEY
|
|
252
|
-
}, client);
|
|
253
|
-
isVersionedTransaction.registerSolanaNetworkProviderBuilder(client);
|
|
254
|
-
const walletProviderRegistry = core.getWalletProviderRegistry(client);
|
|
255
|
-
const walletStandardWallets = app.getWallets().get().filter(hasAllRequiredFeatures);
|
|
256
|
-
walletStandardWallets.forEach((walletStandardWallet)=>{
|
|
257
|
-
const walletProvider = createWalletProviderFromSolanaStandardWallet({
|
|
258
|
-
dynamicClient: client,
|
|
259
|
-
walletStandardWallet
|
|
260
|
-
});
|
|
261
|
-
walletProviderRegistry.register({
|
|
262
|
-
priority: core.WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,
|
|
263
|
-
walletProvider
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
exports.addSolanaWalletStandardExtension = addSolanaWalletStandardExtension;
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { formatWalletProviderKey, createWalletProviderEventEmitter, assertDefined, formatWalletProviderGroupKey, switchActiveNetworkInLastKnownRegistry, getActiveNetworkIdFromLastKnownRegistry, bufferToBase64, getDefaultClient, hasExtension, registerExtension, getWalletProviderRegistry, WalletProviderPriority } from '@dynamic-labs-sdk/client/core';
|
|
2
|
-
import { getWallets } from '@wallet-standard/app';
|
|
3
|
-
import { i as isVersionedTransaction, r as registerSolanaNetworkProviderBuilder } from './isVersionedTransaction.esm.js';
|
|
4
|
-
import { getActiveNetworkData, assertWalletAccountSigningAvailability } from '@dynamic-labs-sdk/client';
|
|
5
|
-
import { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
6
|
-
import { VersionedTransaction, Transaction } from '@solana/web3.js';
|
|
7
|
-
import bs58 from 'bs58';
|
|
8
|
-
|
|
9
|
-
const getActiveNetworkCluster = async ({ walletAccount }, client)=>{
|
|
10
|
-
const { networkData } = await getActiveNetworkData({
|
|
11
|
-
walletAccount
|
|
12
|
-
}, client);
|
|
13
|
-
if (!(networkData == null ? void 0 : networkData.cluster)) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
return `solana:${networkData.cluster}`;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const getFeaturesForSolanaStandardWallet = (wallet)=>{
|
|
20
|
-
return wallet.features;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const createWalletProviderFromSolanaStandardWallet = ({ dynamicClient, walletStandardWallet })=>{
|
|
24
|
-
const features = getFeaturesForSolanaStandardWallet(walletStandardWallet);
|
|
25
|
-
const walletProviderType = WalletProviderEnum.BrowserExtension;
|
|
26
|
-
const key = formatWalletProviderKey({
|
|
27
|
-
chain: 'SOL',
|
|
28
|
-
displayName: walletStandardWallet.name,
|
|
29
|
-
walletProviderType
|
|
30
|
-
});
|
|
31
|
-
const connect = async ()=>{
|
|
32
|
-
var _features_standardconnect, _result_accounts;
|
|
33
|
-
const autoConnectedAccounts = walletStandardWallet.accounts;
|
|
34
|
-
// some wallets like Farcaster will auto inject the account into the wallet object
|
|
35
|
-
// instead of returning it from the connect method
|
|
36
|
-
// so we need to check for that first
|
|
37
|
-
if ((autoConnectedAccounts == null ? void 0 : autoConnectedAccounts.length) && autoConnectedAccounts[0].publicKey && autoConnectedAccounts[0].address) {
|
|
38
|
-
return {
|
|
39
|
-
addresses: [
|
|
40
|
-
{
|
|
41
|
-
address: autoConnectedAccounts[0].address,
|
|
42
|
-
publicKey: autoConnectedAccounts[0].publicKey.toString()
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
const connectMethod = (_features_standardconnect = features['standard:connect']) == null ? void 0 : _features_standardconnect.connect;
|
|
48
|
-
assertDefined(connectMethod, 'connect method not found in wallet features');
|
|
49
|
-
const result = await connectMethod({
|
|
50
|
-
silent: false
|
|
51
|
-
});
|
|
52
|
-
return {
|
|
53
|
-
addresses: (_result_accounts = result.accounts) == null ? void 0 : _result_accounts.map((account)=>{
|
|
54
|
-
var _account_publicKey;
|
|
55
|
-
return {
|
|
56
|
-
address: account.address,
|
|
57
|
-
publicKey: (_account_publicKey = account.publicKey) == null ? void 0 : _account_publicKey.toString()
|
|
58
|
-
};
|
|
59
|
-
})
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
const disconnect = async ()=>{
|
|
63
|
-
var _features_standarddisconnect;
|
|
64
|
-
const disconnectMethod = (_features_standarddisconnect = features['standard:disconnect']) == null ? void 0 : _features_standarddisconnect.disconnect;
|
|
65
|
-
assertDefined(disconnectMethod, 'disconnect method not found in wallet features');
|
|
66
|
-
await disconnectMethod();
|
|
67
|
-
};
|
|
68
|
-
const getActiveNetworkId = async ()=>getActiveNetworkIdFromLastKnownRegistry({
|
|
69
|
-
client: dynamicClient,
|
|
70
|
-
walletProviderKey: key
|
|
71
|
-
});
|
|
72
|
-
const getCurrentAccount = async ()=>{
|
|
73
|
-
var _walletStandardWallet_accounts;
|
|
74
|
-
if (!isConnected() && connect) {
|
|
75
|
-
await connect();
|
|
76
|
-
}
|
|
77
|
-
const account = (_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts[0];
|
|
78
|
-
assertDefined(account, 'No connected accounts found');
|
|
79
|
-
return account;
|
|
80
|
-
};
|
|
81
|
-
const isConnected = ()=>{
|
|
82
|
-
var _walletStandardWallet_accounts;
|
|
83
|
-
return ((_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts.length) > 0;
|
|
84
|
-
};
|
|
85
|
-
const getConnectedAddresses = async ()=>{
|
|
86
|
-
if (!isConnected() && connect) {
|
|
87
|
-
await connect();
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
addresses: walletStandardWallet.accounts.map((account)=>account.address)
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
const signAllTransactions = async ({ transactions, walletAccount })=>{
|
|
94
|
-
var _features_solanasignTransaction;
|
|
95
|
-
const signTransactionMethod = (_features_solanasignTransaction = features['solana:signTransaction']) == null ? void 0 : _features_solanasignTransaction.signTransaction;
|
|
96
|
-
assertDefined(signTransactionMethod, 'signTransaction method not found in wallet features');
|
|
97
|
-
await assertWalletAccountSigningAvailability({
|
|
98
|
-
walletAccount
|
|
99
|
-
}, dynamicClient);
|
|
100
|
-
const account = await getCurrentAccount();
|
|
101
|
-
const chain = await getActiveNetworkCluster({
|
|
102
|
-
walletAccount
|
|
103
|
-
}, dynamicClient);
|
|
104
|
-
assertDefined(chain, 'Could not get active chain for wallet account');
|
|
105
|
-
const transactionsInput = transactions.map((transaction)=>({
|
|
106
|
-
account,
|
|
107
|
-
chain,
|
|
108
|
-
transaction: transaction.serialize({
|
|
109
|
-
requireAllSignatures: false
|
|
110
|
-
})
|
|
111
|
-
}));
|
|
112
|
-
const signTransactionResult = await signTransactionMethod(...transactionsInput);
|
|
113
|
-
const signedTransactions = signTransactionResult.map(({ signedTransaction }, index)=>{
|
|
114
|
-
const inputTransaction = transactions[index];
|
|
115
|
-
if (isVersionedTransaction(inputTransaction)) {
|
|
116
|
-
return VersionedTransaction.deserialize(signedTransaction);
|
|
117
|
-
}
|
|
118
|
-
return Transaction.from(signedTransaction);
|
|
119
|
-
});
|
|
120
|
-
return {
|
|
121
|
-
signedTransactions
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
const signAndSendTransaction = async ({ transaction, walletAccount })=>{
|
|
125
|
-
var _features_solanasignAndSendTransaction;
|
|
126
|
-
await assertWalletAccountSigningAvailability({
|
|
127
|
-
walletAccount
|
|
128
|
-
}, dynamicClient);
|
|
129
|
-
const signAndSendTransactionMethod = (_features_solanasignAndSendTransaction = features['solana:signAndSendTransaction']) == null ? void 0 : _features_solanasignAndSendTransaction.signAndSendTransaction;
|
|
130
|
-
assertDefined(signAndSendTransactionMethod, 'signAndSendTransaction method not found in wallet features');
|
|
131
|
-
const account = await getCurrentAccount();
|
|
132
|
-
const chain = await getActiveNetworkCluster({
|
|
133
|
-
walletAccount
|
|
134
|
-
}, dynamicClient);
|
|
135
|
-
assertDefined(chain, 'Could not get active chain for wallet account');
|
|
136
|
-
const signedTransactions = await signAndSendTransactionMethod({
|
|
137
|
-
account,
|
|
138
|
-
chain,
|
|
139
|
-
transaction: transaction.serialize({
|
|
140
|
-
requireAllSignatures: false
|
|
141
|
-
})
|
|
142
|
-
});
|
|
143
|
-
const [{ signature }] = signedTransactions;
|
|
144
|
-
return {
|
|
145
|
-
signature: bs58.encode(signature)
|
|
146
|
-
};
|
|
147
|
-
};
|
|
148
|
-
const signMessage = async ({ message, walletAccount })=>{
|
|
149
|
-
var _features_solanasignMessage;
|
|
150
|
-
const signMessageMethod = (_features_solanasignMessage = features['solana:signMessage']) == null ? void 0 : _features_solanasignMessage.signMessage;
|
|
151
|
-
assertDefined(signMessageMethod, 'signMessage method not found in wallet features');
|
|
152
|
-
assertDefined(walletAccount, 'Wallet account not found');
|
|
153
|
-
await assertWalletAccountSigningAvailability({
|
|
154
|
-
walletAccount
|
|
155
|
-
}, dynamicClient);
|
|
156
|
-
const encodedMessage = new TextEncoder().encode(message);
|
|
157
|
-
const account = await getCurrentAccount();
|
|
158
|
-
const messages = await signMessageMethod({
|
|
159
|
-
account,
|
|
160
|
-
message: encodedMessage
|
|
161
|
-
});
|
|
162
|
-
return {
|
|
163
|
-
signature: bufferToBase64(messages[0].signature)
|
|
164
|
-
};
|
|
165
|
-
};
|
|
166
|
-
const signTransaction = async ({ transaction, walletAccount })=>{
|
|
167
|
-
const signedTransactions = await signAllTransactions({
|
|
168
|
-
transactions: [
|
|
169
|
-
transaction
|
|
170
|
-
],
|
|
171
|
-
walletAccount
|
|
172
|
-
});
|
|
173
|
-
return {
|
|
174
|
-
signedTransaction: signedTransactions.signedTransactions[0]
|
|
175
|
-
};
|
|
176
|
-
};
|
|
177
|
-
const switchActiveNetwork = async ({ networkId })=>switchActiveNetworkInLastKnownRegistry({
|
|
178
|
-
client: dynamicClient,
|
|
179
|
-
networkId,
|
|
180
|
-
walletProviderKey: key
|
|
181
|
-
});
|
|
182
|
-
const { getEventEmitter, cleanupEventEmitter } = createWalletProviderEventEmitter({
|
|
183
|
-
removeEventListeners: ({ setupReturnValue })=>{
|
|
184
|
-
assertDefined(setupReturnValue, 'Setup return value not defined');
|
|
185
|
-
setupReturnValue();
|
|
186
|
-
},
|
|
187
|
-
setupEventListeners: ({ handleAccountsChanged })=>{
|
|
188
|
-
const eventsFeature = features['standard:events'];
|
|
189
|
-
return eventsFeature.on('change', ({ accounts })=>{
|
|
190
|
-
var _accounts_map;
|
|
191
|
-
handleAccountsChanged({
|
|
192
|
-
addresses: (_accounts_map = accounts == null ? void 0 : accounts.map((account)=>account.address)) != null ? _accounts_map : []
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
},
|
|
196
|
-
supportedEvents: [
|
|
197
|
-
'accountsChanged'
|
|
198
|
-
]
|
|
199
|
-
});
|
|
200
|
-
const terminate = async ()=>{
|
|
201
|
-
cleanupEventEmitter();
|
|
202
|
-
};
|
|
203
|
-
const walletProvider = {
|
|
204
|
-
chain: 'SOL',
|
|
205
|
-
connect,
|
|
206
|
-
disconnect,
|
|
207
|
-
get events () {
|
|
208
|
-
return getEventEmitter();
|
|
209
|
-
},
|
|
210
|
-
getActiveNetworkId,
|
|
211
|
-
getConnectedAddresses,
|
|
212
|
-
groupKey: formatWalletProviderGroupKey(walletStandardWallet.name),
|
|
213
|
-
key,
|
|
214
|
-
metadata: {
|
|
215
|
-
displayName: walletStandardWallet.name,
|
|
216
|
-
icon: walletStandardWallet.icon
|
|
217
|
-
},
|
|
218
|
-
signAllTransactions,
|
|
219
|
-
signAndSendTransaction,
|
|
220
|
-
signMessage,
|
|
221
|
-
signTransaction,
|
|
222
|
-
switchActiveNetwork,
|
|
223
|
-
terminate,
|
|
224
|
-
walletProviderType
|
|
225
|
-
};
|
|
226
|
-
return walletProvider;
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
const hasAllRequiredFeatures = (wallet)=>{
|
|
230
|
-
var _wallet_features, _wallet_features1, _wallet_features2, _wallet_features3;
|
|
231
|
-
return Boolean(((_wallet_features = wallet.features) == null ? void 0 : _wallet_features['standard:events']) && ((_wallet_features1 = wallet.features) == null ? void 0 : _wallet_features1['standard:connect']) && ((_wallet_features2 = wallet.features) == null ? void 0 : _wallet_features2['solana:signTransaction']) && ((_wallet_features3 = wallet.features) == null ? void 0 : _wallet_features3['solana:signMessage']));
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
const SOLANA_WALLET_STANDARD_EXTENSION_KEY = 'solanaWalletStandard';
|
|
235
|
-
/**
|
|
236
|
-
* Adds the Solana Wallet Standard extension to the Dynamic client.
|
|
237
|
-
*
|
|
238
|
-
* This extension enables integration with wallets that implement the Solana Wallet Standard,
|
|
239
|
-
* automatically detecting and registering compatible wallets for use with the Dynamic SDK.
|
|
240
|
-
*
|
|
241
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
242
|
-
*/ const addSolanaWalletStandardExtension = (client = getDefaultClient())=>{
|
|
243
|
-
if (hasExtension({
|
|
244
|
-
extensionKey: SOLANA_WALLET_STANDARD_EXTENSION_KEY
|
|
245
|
-
}, client)) {
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
registerExtension({
|
|
249
|
-
extensionKey: SOLANA_WALLET_STANDARD_EXTENSION_KEY
|
|
250
|
-
}, client);
|
|
251
|
-
registerSolanaNetworkProviderBuilder(client);
|
|
252
|
-
const walletProviderRegistry = getWalletProviderRegistry(client);
|
|
253
|
-
const walletStandardWallets = getWallets().get().filter(hasAllRequiredFeatures);
|
|
254
|
-
walletStandardWallets.forEach((walletStandardWallet)=>{
|
|
255
|
-
const walletProvider = createWalletProviderFromSolanaStandardWallet({
|
|
256
|
-
dynamicClient: client,
|
|
257
|
-
walletStandardWallet
|
|
258
|
-
});
|
|
259
|
-
walletProviderRegistry.register({
|
|
260
|
-
priority: WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,
|
|
261
|
-
walletProvider
|
|
262
|
-
});
|
|
263
|
-
});
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
export { addSolanaWalletStandardExtension as a };
|