@dynamic-labs/solana 4.7.1 → 4.8.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/CHANGELOG.md +26 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +10 -10
- package/src/index.cjs +0 -2
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs +17 -13
- package/src/injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.d.ts +1 -4
- package/src/injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js +17 -13
- package/src/injected/walletStandard/getConnectorConstructorForWalletStandardWallet/getConnectorConstructorForWalletStandardWallet.cjs +0 -1
- package/src/injected/walletStandard/getConnectorConstructorForWalletStandardWallet/getConnectorConstructorForWalletStandardWallet.js +0 -1
- package/src/phantomRedirect/PhantomRedirect/PhantomRedirect.cjs +4 -4
- package/src/phantomRedirect/PhantomRedirect/PhantomRedirect.js +4 -4
- package/src/utils/fetchCluster/fetchCluster.cjs +0 -33
- package/src/utils/fetchCluster/fetchCluster.d.ts +0 -1
- package/src/utils/fetchCluster/fetchCluster.js +0 -29
- package/src/utils/fetchCluster/index.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.8.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.7.2...v4.8.0) (2025-02-25)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add support for network switching for SOL wallets ([#8095](https://github.com/dynamic-labs/dynamic-auth/issues/8095)) ([8997b39](https://github.com/dynamic-labs/dynamic-auth/commit/8997b399e1e5cd294aad8b719d39928eed5e911d))
|
|
8
|
+
* add support for solNetworks override ([#8138](https://github.com/dynamic-labs/dynamic-auth/issues/8138)) ([8c3f374](https://github.com/dynamic-labs/dynamic-auth/commit/8c3f374a9b2b451f984aed98e7ce506552e2a6c5))
|
|
9
|
+
* **react-native:** add account abstraction multi-chain ([#8132](https://github.com/dynamic-labs/dynamic-auth/issues/8132)) ([c64a26e](https://github.com/dynamic-labs/dynamic-auth/commit/c64a26e16943d913edf4683084f59592a9aeedfc))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* ensure zero dev network cache use project id ([#8133](https://github.com/dynamic-labs/dynamic-auth/issues/8133)) ([408c4ed](https://github.com/dynamic-labs/dynamic-auth/commit/408c4ed764a623b6d870cd24973320e5ca4a74c7))
|
|
15
|
+
|
|
16
|
+
### [4.7.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.7.1...v4.7.2) (2025-02-22)
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* add bitcoin rune support for token balances ([95640](https://github.com/dynamic-labs/dynamic-auth/commit/956403dc0e427e9a99c62e189fc59de0d8b11e1b))
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* hidrate the user state when a valid token is present ([#8116](https://github.com/dynamic-labs/dynamic-auth/issues/8116)) ([dad5837](https://github.com/dynamic-labs/dynamic-auth/commit/dad58373c4c2fe0c870d918474d6a1f541eae659))
|
|
25
|
+
* prompt to re-establish wallet connect session for secondary wallets ([#8111](https://github.com/dynamic-labs/dynamic-auth/issues/8111)) ([c713ead](https://github.com/dynamic-labs/dynamic-auth/commit/c713ead0611c658aea3d7aca534c2ba2c3cab584))
|
|
26
|
+
* upgrade elliptic ([#8106](https://github.com/dynamic-labs/dynamic-auth/issues/8106)) ([359c873](https://github.com/dynamic-labs/dynamic-auth/commit/359c8733fdd8c0510c2f0018ee0fefa337847aae))
|
|
27
|
+
|
|
2
28
|
### [4.7.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.7.0...v4.7.1) (2025-02-20)
|
|
3
29
|
|
|
4
30
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/solana",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.8.0",
|
|
4
4
|
"description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
|
|
5
5
|
"author": "Dynamic Labs, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"@wallet-standard/experimental-features": "0.1.1",
|
|
26
26
|
"bs58": "5.0.0",
|
|
27
27
|
"tweetnacl": "1.0.3",
|
|
28
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
29
|
-
"@dynamic-labs/embedded-wallet-solana": "4.
|
|
30
|
-
"@dynamic-labs/logger": "4.
|
|
31
|
-
"@dynamic-labs/rpc-providers": "4.
|
|
28
|
+
"@dynamic-labs/assert-package-version": "4.8.0",
|
|
29
|
+
"@dynamic-labs/embedded-wallet-solana": "4.8.0",
|
|
30
|
+
"@dynamic-labs/logger": "4.8.0",
|
|
31
|
+
"@dynamic-labs/rpc-providers": "4.8.0",
|
|
32
32
|
"@dynamic-labs/sdk-api-core": "0.0.628",
|
|
33
|
-
"@dynamic-labs/solana-core": "4.
|
|
34
|
-
"@dynamic-labs/types": "4.
|
|
35
|
-
"@dynamic-labs/utils": "4.
|
|
36
|
-
"@dynamic-labs/wallet-book": "4.
|
|
37
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
33
|
+
"@dynamic-labs/solana-core": "4.8.0",
|
|
34
|
+
"@dynamic-labs/types": "4.8.0",
|
|
35
|
+
"@dynamic-labs/utils": "4.8.0",
|
|
36
|
+
"@dynamic-labs/wallet-book": "4.8.0",
|
|
37
|
+
"@dynamic-labs/wallet-connector-core": "4.8.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {}
|
|
40
40
|
}
|
package/src/index.cjs
CHANGED
|
@@ -20,7 +20,6 @@ require('./utils/logger.cjs');
|
|
|
20
20
|
var createSolanaSignerFromWalletStandard = require('./injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs');
|
|
21
21
|
var getWalletStandardWallets = require('./injected/walletStandard/getWalletStandardWallets/getWalletStandardWallets.cjs');
|
|
22
22
|
var hasAllWalletStandardRequiredFeatures = require('./injected/walletStandard/hasAllWalletStandardRequiredFeatures/hasAllWalletStandardRequiredFeatures.cjs');
|
|
23
|
-
var fetchCluster = require('./utils/fetchCluster/fetchCluster.cjs');
|
|
24
23
|
|
|
25
24
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
26
25
|
assertPackageVersion.assertPackageVersion('@dynamic-labs/solana', _package.version);
|
|
@@ -42,4 +41,3 @@ exports.isSignedMessage = isSignedMessage.isSignedMessage;
|
|
|
42
41
|
exports.createSolanaSignerFromWalletStandard = createSolanaSignerFromWalletStandard.createSolanaSignerFromWalletStandard;
|
|
43
42
|
exports.getWalletStandardWallets = getWalletStandardWallets.getWalletStandardWallets;
|
|
44
43
|
exports.hasAllWalletStandardRequiredFeatures = hasAllWalletStandardRequiredFeatures.hasAllWalletStandardRequiredFeatures;
|
|
45
|
-
exports.fetchCluster = fetchCluster.fetchCluster;
|
package/src/index.d.ts
CHANGED
|
@@ -7,4 +7,3 @@ export { SolanaWalletConnectorsWithConfig } from './SolanaWalletConnectorsWithCo
|
|
|
7
7
|
export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner';
|
|
8
8
|
export { isSignedMessage } from './utils/isSignedMessage';
|
|
9
9
|
export { getWalletStandardWallets, createSolanaSignerFromWalletStandard, hasAllWalletStandardRequiredFeatures, } from './injected';
|
|
10
|
-
export { fetchCluster } from './utils/fetchCluster';
|
package/src/index.js
CHANGED
|
@@ -16,7 +16,6 @@ import './utils/logger.js';
|
|
|
16
16
|
export { createSolanaSignerFromWalletStandard } from './injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js';
|
|
17
17
|
export { getWalletStandardWallets } from './injected/walletStandard/getWalletStandardWallets/getWalletStandardWallets.js';
|
|
18
18
|
export { hasAllWalletStandardRequiredFeatures } from './injected/walletStandard/hasAllWalletStandardRequiredFeatures/hasAllWalletStandardRequiredFeatures.js';
|
|
19
|
-
export { fetchCluster } from './utils/fetchCluster/fetchCluster.js';
|
|
20
19
|
|
|
21
20
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
22
21
|
assertPackageVersion('@dynamic-labs/solana', version);
|
|
@@ -6,10 +6,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var _tslib = require('../../../../_virtual/_tslib.cjs');
|
|
7
7
|
var web3_js = require('@solana/web3.js');
|
|
8
8
|
var logger = require('../../../utils/logger.cjs');
|
|
9
|
-
var fetchCluster = require('../../../utils/fetchCluster/fetchCluster.cjs');
|
|
10
9
|
|
|
11
10
|
const isVersionedTransaction = (transaction) => !('instructions' in transaction);
|
|
12
|
-
const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector,
|
|
11
|
+
const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, }) => {
|
|
13
12
|
const features = wallet.features;
|
|
14
13
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
14
|
const connect = (args) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -45,17 +44,21 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
45
44
|
}
|
|
46
45
|
return account;
|
|
47
46
|
});
|
|
48
|
-
const getChain = () =>
|
|
49
|
-
var
|
|
50
|
-
const
|
|
51
|
-
|
|
47
|
+
const getChain = () => {
|
|
48
|
+
var _a;
|
|
49
|
+
const currentNetwork = walletConnector.getSelectedNetwork();
|
|
50
|
+
if (!currentNetwork) {
|
|
51
|
+
throw new Error('Network not found');
|
|
52
|
+
}
|
|
53
|
+
//for SVM netwroks, the cluster name is stored in shortName for now
|
|
54
|
+
const cluster = (_a = currentNetwork.cluster) !== null && _a !== void 0 ? _a : 'mainnet-beta';
|
|
52
55
|
return `solana:${cluster}`;
|
|
53
|
-
}
|
|
56
|
+
};
|
|
54
57
|
const signTransaction = (transaction) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
55
58
|
const account = yield getCurrentAccount();
|
|
56
59
|
const signTransactionResult = yield features['solana:signTransaction'].signTransaction({
|
|
57
60
|
account,
|
|
58
|
-
chain:
|
|
61
|
+
chain: getChain(),
|
|
59
62
|
transaction: transaction.serialize({
|
|
60
63
|
requireAllSignatures: false,
|
|
61
64
|
}),
|
|
@@ -67,8 +70,8 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
67
70
|
});
|
|
68
71
|
const signAllTransactions = (transactions) => _tslib.__awaiter(void 0, void 0, void 0, function* () { return Promise.all(transactions.map(signTransaction)); });
|
|
69
72
|
const signAndSendTransaction = (transaction) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
-
var
|
|
71
|
-
const signAndSendTransactionMethod = (
|
|
73
|
+
var _c;
|
|
74
|
+
const signAndSendTransactionMethod = (_c = features['solana:signAndSendTransaction']) === null || _c === void 0 ? void 0 : _c.signAndSendTransaction;
|
|
72
75
|
if (!signAndSendTransactionMethod) {
|
|
73
76
|
logger.logger.error('signAndSendTransaction - Not implemented');
|
|
74
77
|
throw new Error('signAndSendTransaction - Not implemented by wallet');
|
|
@@ -76,15 +79,15 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
76
79
|
const account = yield getCurrentAccount();
|
|
77
80
|
const signedTransactions = yield signAndSendTransactionMethod({
|
|
78
81
|
account,
|
|
79
|
-
chain:
|
|
82
|
+
chain: getChain(),
|
|
80
83
|
transaction: transaction.serialize(),
|
|
81
84
|
});
|
|
82
85
|
const [{ signature }] = signedTransactions;
|
|
83
86
|
return { signature: new TextDecoder().decode(signature) };
|
|
84
87
|
});
|
|
85
88
|
const signMessage = (message) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
86
|
-
var
|
|
87
|
-
const signMessageMethod = (
|
|
89
|
+
var _d;
|
|
90
|
+
const signMessageMethod = (_d = features['solana:signMessage']) === null || _d === void 0 ? void 0 : _d.signMessage;
|
|
88
91
|
if (!signMessageMethod) {
|
|
89
92
|
logger.logger.error('signMessage - Not implemented');
|
|
90
93
|
throw new Error('signMessage - Not implemented by wallet');
|
|
@@ -103,6 +106,7 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
103
106
|
logger.logger.error('on - Not implemented');
|
|
104
107
|
return;
|
|
105
108
|
}
|
|
109
|
+
logger.logger.debug(`[SolanaWalletStandardConnector] - on: ${event}`);
|
|
106
110
|
if (event !== 'accountChanged') {
|
|
107
111
|
logger.logger.debug(`on - Not implemented for event: ${event}`);
|
|
108
112
|
return;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { Wallet } from '@wallet-standard/base';
|
|
2
2
|
import { ISolana } from '@dynamic-labs/solana-core';
|
|
3
|
-
import { GenericNetwork } from '@dynamic-labs/types';
|
|
4
3
|
import { InjectedWalletBase } from '../../InjectedWalletBase';
|
|
5
4
|
type CreateSolanaSignerFromWalletStandardProps = {
|
|
6
5
|
wallet: Wallet;
|
|
7
6
|
walletConnector: InjectedWalletBase;
|
|
8
|
-
network: GenericNetwork;
|
|
9
|
-
genesisHashesMap?: Record<string, string>;
|
|
10
7
|
};
|
|
11
|
-
export declare const createSolanaSignerFromWalletStandard: ({ wallet, walletConnector,
|
|
8
|
+
export declare const createSolanaSignerFromWalletStandard: ({ wallet, walletConnector, }: CreateSolanaSignerFromWalletStandardProps) => ISolana;
|
|
12
9
|
export {};
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
3
3
|
import { PublicKey, VersionedTransaction, Transaction } from '@solana/web3.js';
|
|
4
4
|
import { logger } from '../../../utils/logger.js';
|
|
5
|
-
import { fetchCluster } from '../../../utils/fetchCluster/fetchCluster.js';
|
|
6
5
|
|
|
7
6
|
const isVersionedTransaction = (transaction) => !('instructions' in transaction);
|
|
8
|
-
const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector,
|
|
7
|
+
const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, }) => {
|
|
9
8
|
const features = wallet.features;
|
|
10
9
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
10
|
const connect = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -41,17 +40,21 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
41
40
|
}
|
|
42
41
|
return account;
|
|
43
42
|
});
|
|
44
|
-
const getChain = () =>
|
|
45
|
-
var
|
|
46
|
-
const
|
|
47
|
-
|
|
43
|
+
const getChain = () => {
|
|
44
|
+
var _a;
|
|
45
|
+
const currentNetwork = walletConnector.getSelectedNetwork();
|
|
46
|
+
if (!currentNetwork) {
|
|
47
|
+
throw new Error('Network not found');
|
|
48
|
+
}
|
|
49
|
+
//for SVM netwroks, the cluster name is stored in shortName for now
|
|
50
|
+
const cluster = (_a = currentNetwork.cluster) !== null && _a !== void 0 ? _a : 'mainnet-beta';
|
|
48
51
|
return `solana:${cluster}`;
|
|
49
|
-
}
|
|
52
|
+
};
|
|
50
53
|
const signTransaction = (transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
54
|
const account = yield getCurrentAccount();
|
|
52
55
|
const signTransactionResult = yield features['solana:signTransaction'].signTransaction({
|
|
53
56
|
account,
|
|
54
|
-
chain:
|
|
57
|
+
chain: getChain(),
|
|
55
58
|
transaction: transaction.serialize({
|
|
56
59
|
requireAllSignatures: false,
|
|
57
60
|
}),
|
|
@@ -63,8 +66,8 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
63
66
|
});
|
|
64
67
|
const signAllTransactions = (transactions) => __awaiter(void 0, void 0, void 0, function* () { return Promise.all(transactions.map(signTransaction)); });
|
|
65
68
|
const signAndSendTransaction = (transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
-
var
|
|
67
|
-
const signAndSendTransactionMethod = (
|
|
69
|
+
var _c;
|
|
70
|
+
const signAndSendTransactionMethod = (_c = features['solana:signAndSendTransaction']) === null || _c === void 0 ? void 0 : _c.signAndSendTransaction;
|
|
68
71
|
if (!signAndSendTransactionMethod) {
|
|
69
72
|
logger.error('signAndSendTransaction - Not implemented');
|
|
70
73
|
throw new Error('signAndSendTransaction - Not implemented by wallet');
|
|
@@ -72,15 +75,15 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
72
75
|
const account = yield getCurrentAccount();
|
|
73
76
|
const signedTransactions = yield signAndSendTransactionMethod({
|
|
74
77
|
account,
|
|
75
|
-
chain:
|
|
78
|
+
chain: getChain(),
|
|
76
79
|
transaction: transaction.serialize(),
|
|
77
80
|
});
|
|
78
81
|
const [{ signature }] = signedTransactions;
|
|
79
82
|
return { signature: new TextDecoder().decode(signature) };
|
|
80
83
|
});
|
|
81
84
|
const signMessage = (message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
|
-
var
|
|
83
|
-
const signMessageMethod = (
|
|
85
|
+
var _d;
|
|
86
|
+
const signMessageMethod = (_d = features['solana:signMessage']) === null || _d === void 0 ? void 0 : _d.signMessage;
|
|
84
87
|
if (!signMessageMethod) {
|
|
85
88
|
logger.error('signMessage - Not implemented');
|
|
86
89
|
throw new Error('signMessage - Not implemented by wallet');
|
|
@@ -99,6 +102,7 @@ const createSolanaSignerFromWalletStandard = ({ wallet, walletConnector, network
|
|
|
99
102
|
logger.error('on - Not implemented');
|
|
100
103
|
return;
|
|
101
104
|
}
|
|
105
|
+
logger.debug(`[SolanaWalletStandardConnector] - on: ${event}`);
|
|
102
106
|
if (event !== 'accountChanged') {
|
|
103
107
|
logger.debug(`on - Not implemented for event: ${event}`);
|
|
104
108
|
return;
|
|
@@ -15,7 +15,6 @@ const getConnectorConstructorForWalletStandardWallet = (wallet, walletBookMetada
|
|
|
15
15
|
this.name = wallet.name;
|
|
16
16
|
this.overrideKey = `${sanitizedName}sol`;
|
|
17
17
|
this._provider = createSolanaSignerFromWalletStandard.createSolanaSignerFromWalletStandard({
|
|
18
|
-
network: this.solNetworks[0],
|
|
19
18
|
wallet,
|
|
20
19
|
walletConnector: this,
|
|
21
20
|
});
|
|
@@ -11,7 +11,6 @@ const getConnectorConstructorForWalletStandardWallet = (wallet, walletBookMetada
|
|
|
11
11
|
this.name = wallet.name;
|
|
12
12
|
this.overrideKey = `${sanitizedName}sol`;
|
|
13
13
|
this._provider = createSolanaSignerFromWalletStandard({
|
|
14
|
-
network: this.solNetworks[0],
|
|
15
14
|
wallet,
|
|
16
15
|
walletConnector: this,
|
|
17
16
|
});
|
|
@@ -13,7 +13,6 @@ var buildUrl = require('../buildUrl/buildUrl.cjs');
|
|
|
13
13
|
var decryptPayload = require('../decryptPayload/decryptPayload.cjs');
|
|
14
14
|
var encryptPayload = require('../encryptPayload/encryptPayload.cjs');
|
|
15
15
|
var storage = require('../storage/storage.cjs');
|
|
16
|
-
var fetchCluster = require('../../utils/fetchCluster/fetchCluster.cjs');
|
|
17
16
|
|
|
18
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
18
|
|
|
@@ -41,7 +40,7 @@ class PhantomRedirect extends solanaCore.SolanaWalletConnector {
|
|
|
41
40
|
}
|
|
42
41
|
connect() {
|
|
43
42
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
var _a
|
|
43
|
+
var _a;
|
|
45
44
|
// Consume the connection type
|
|
46
45
|
const connectionType = utils.StorageService.getItem(utils.PHANTOM_REDIRECT_CONNECTION_TYPE_KEY);
|
|
47
46
|
if (connectionType) {
|
|
@@ -61,10 +60,11 @@ class PhantomRedirect extends solanaCore.SolanaWalletConnector {
|
|
|
61
60
|
const isLocalHost = window.location.href.includes('localhost') ||
|
|
62
61
|
window.location.href.includes('0.0.0.0') ||
|
|
63
62
|
window.location.href.includes('127.0.0.1');
|
|
64
|
-
const
|
|
63
|
+
const currentNetwork = this.getSelectedNetwork();
|
|
64
|
+
const cluster = (_a = currentNetwork === null || currentNetwork === void 0 ? void 0 : currentNetwork.cluster) !== null && _a !== void 0 ? _a : 'mainnet-beta';
|
|
65
65
|
const params = new URLSearchParams({
|
|
66
66
|
app_url: isLocalHost ? 'https://demo.dynamic.xyz' : window.location.href,
|
|
67
|
-
cluster
|
|
67
|
+
cluster,
|
|
68
68
|
dapp_encryption_public_key: bs58__default["default"].encode(keyPair.publicKey),
|
|
69
69
|
redirect_link: window.location.href,
|
|
70
70
|
});
|
|
@@ -9,7 +9,6 @@ import { buildUrl } from '../buildUrl/buildUrl.js';
|
|
|
9
9
|
import { decryptPayload } from '../decryptPayload/decryptPayload.js';
|
|
10
10
|
import { encryptPayload } from '../encryptPayload/encryptPayload.js';
|
|
11
11
|
import { storage, clearStorage } from '../storage/storage.js';
|
|
12
|
-
import { fetchCluster } from '../../utils/fetchCluster/fetchCluster.js';
|
|
13
12
|
|
|
14
13
|
class PhantomRedirect extends SolanaWalletConnector {
|
|
15
14
|
constructor(props) {
|
|
@@ -32,7 +31,7 @@ class PhantomRedirect extends SolanaWalletConnector {
|
|
|
32
31
|
}
|
|
33
32
|
connect() {
|
|
34
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
var _a
|
|
34
|
+
var _a;
|
|
36
35
|
// Consume the connection type
|
|
37
36
|
const connectionType = StorageService.getItem(PHANTOM_REDIRECT_CONNECTION_TYPE_KEY);
|
|
38
37
|
if (connectionType) {
|
|
@@ -52,10 +51,11 @@ class PhantomRedirect extends SolanaWalletConnector {
|
|
|
52
51
|
const isLocalHost = window.location.href.includes('localhost') ||
|
|
53
52
|
window.location.href.includes('0.0.0.0') ||
|
|
54
53
|
window.location.href.includes('127.0.0.1');
|
|
55
|
-
const
|
|
54
|
+
const currentNetwork = this.getSelectedNetwork();
|
|
55
|
+
const cluster = (_a = currentNetwork === null || currentNetwork === void 0 ? void 0 : currentNetwork.cluster) !== null && _a !== void 0 ? _a : 'mainnet-beta';
|
|
56
56
|
const params = new URLSearchParams({
|
|
57
57
|
app_url: isLocalHost ? 'https://demo.dynamic.xyz' : window.location.href,
|
|
58
|
-
cluster
|
|
58
|
+
cluster,
|
|
59
59
|
dapp_encryption_public_key: bs58.encode(keyPair.publicKey),
|
|
60
60
|
redirect_link: window.location.href,
|
|
61
61
|
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
-
|
|
6
|
-
var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
7
|
-
|
|
8
|
-
const GENESIS_HASHES = {
|
|
9
|
-
'4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY': 'testnet',
|
|
10
|
-
'5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d': 'mainnet-beta',
|
|
11
|
-
EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG: 'devnet',
|
|
12
|
-
};
|
|
13
|
-
const fetchCluster = (rpc_1, ...args_1) => _tslib.__awaiter(void 0, [rpc_1, ...args_1], void 0, function* (rpc, genesisHashesMap = GENESIS_HASHES) {
|
|
14
|
-
try {
|
|
15
|
-
const { result } = yield (yield fetch(rpc, {
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
id: 1,
|
|
18
|
-
jsonrpc: '2.0',
|
|
19
|
-
method: 'getGenesisHash',
|
|
20
|
-
}),
|
|
21
|
-
headers: {
|
|
22
|
-
'Content-Type': 'application/json',
|
|
23
|
-
},
|
|
24
|
-
method: 'POST',
|
|
25
|
-
})).json();
|
|
26
|
-
return genesisHashesMap[result];
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return 'mainnet-beta';
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
exports.fetchCluster = fetchCluster;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const fetchCluster: (rpc: string, genesisHashesMap?: Record<string, string>) => Promise<string>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
3
|
-
|
|
4
|
-
const GENESIS_HASHES = {
|
|
5
|
-
'4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY': 'testnet',
|
|
6
|
-
'5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d': 'mainnet-beta',
|
|
7
|
-
EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG: 'devnet',
|
|
8
|
-
};
|
|
9
|
-
const fetchCluster = (rpc_1, ...args_1) => __awaiter(void 0, [rpc_1, ...args_1], void 0, function* (rpc, genesisHashesMap = GENESIS_HASHES) {
|
|
10
|
-
try {
|
|
11
|
-
const { result } = yield (yield fetch(rpc, {
|
|
12
|
-
body: JSON.stringify({
|
|
13
|
-
id: 1,
|
|
14
|
-
jsonrpc: '2.0',
|
|
15
|
-
method: 'getGenesisHash',
|
|
16
|
-
}),
|
|
17
|
-
headers: {
|
|
18
|
-
'Content-Type': 'application/json',
|
|
19
|
-
},
|
|
20
|
-
method: 'POST',
|
|
21
|
-
})).json();
|
|
22
|
-
return genesisHashesMap[result];
|
|
23
|
-
}
|
|
24
|
-
catch (err) {
|
|
25
|
-
return 'mainnet-beta';
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
export { fetchCluster };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './fetchCluster';
|