@dynamic-labs/solana 1.1.0-alpha.10 → 1.1.0-alpha.12
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 +33 -0
- package/package.json +6 -6
- package/src/CoinbaseSolana.cjs +9 -33
- package/src/CoinbaseSolana.d.ts +5 -10
- package/src/CoinbaseSolana.js +9 -33
- package/src/Solflare.d.ts +4 -9
- package/src/index.cjs +3 -15
- package/src/index.d.ts +1 -4
- package/src/index.js +3 -13
- package/src/injected/BackpackSol.cjs +6 -21
- package/src/injected/BackpackSol.d.ts +3 -5
- package/src/injected/BackpackSol.js +6 -21
- package/src/injected/InjectedWalletBase.cjs +20 -16
- package/src/injected/InjectedWalletBase.d.ts +7 -2
- package/src/injected/InjectedWalletBase.js +20 -16
- package/src/injected/Phantom.cjs +4 -2
- package/src/injected/Phantom.d.ts +2 -0
- package/src/injected/Phantom.js +4 -2
- package/src/injected/PhantomLedger.cjs +4 -2
- package/src/injected/PhantomLedger.d.ts +2 -0
- package/src/injected/PhantomLedger.js +4 -2
- package/src/injected/fetchInjectedWalletConnectors.cjs +50 -0
- package/src/injected/fetchInjectedWalletConnectors.d.ts +6 -0
- package/src/injected/fetchInjectedWalletConnectors.js +45 -0
- package/src/injected/index.d.ts +1 -2
- package/src/solProviderHelper.cjs +99 -114
- package/src/solProviderHelper.d.ts +28 -29
- package/src/solProviderHelper.js +99 -114
- package/src/Glow.cjs +0 -50
- package/src/Glow.d.ts +0 -12
- package/src/Glow.js +0 -46
- package/src/Solflare.cjs +0 -83
- package/src/Solflare.js +0 -79
- package/src/injected/BraveSol.cjs +0 -21
- package/src/injected/BraveSol.d.ts +0 -5
- package/src/injected/BraveSol.js +0 -17
- package/src/injected/ExodusSol.cjs +0 -14
- package/src/injected/ExodusSol.d.ts +0 -4
- package/src/injected/ExodusSol.js +0 -10
- package/src/injected/MagicEdenSol.cjs +0 -14
- package/src/injected/MagicEdenSol.d.ts +0 -4
- package/src/injected/MagicEdenSol.js +0 -10
- package/src/injected/index.cjs +0 -21
- package/src/injected/index.js +0 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
|
|
2
|
+
## [1.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.11...v1.1.0-alpha.12) (2024-01-18)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* expose setAuthMode method ([#4419](https://github.com/dynamic-labs/DynamicAuth/issues/4419)) ([7d156b3](https://github.com/dynamic-labs/DynamicAuth/commit/7d156b3e0eab9b9a80f70ff1c5201d90693ae755))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* call onUnlinkSuccess in headless mode too ([#4412](https://github.com/dynamic-labs/DynamicAuth/issues/4412)) ([4c76af9](https://github.com/dynamic-labs/DynamicAuth/commit/4c76af9ac7c7b43883742d1289558dfcb5d612ca))
|
|
13
|
+
* correctly map keplr chain ids from project settings ([#4418](https://github.com/dynamic-labs/DynamicAuth/issues/4418)) ([7046364](https://github.com/dynamic-labs/DynamicAuth/commit/7046364a316f7551f0b995eaae7afea13502eb9b))
|
|
14
|
+
* logging in with an email linked to a third party wallet gets stuck on otp view ([#4407](https://github.com/dynamic-labs/DynamicAuth/issues/4407)) ([35bf142](https://github.com/dynamic-labs/DynamicAuth/commit/35bf142e74efeef866dbd7b8157a049cd36eeccb))
|
|
15
|
+
|
|
16
|
+
## [1.1.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.10...v1.1.0-alpha.11) (2024-01-17)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* add Leather wallet and BtcKit connector ([#4335](https://github.com/dynamic-labs/DynamicAuth/issues/4335)) ([fe3316b](https://github.com/dynamic-labs/DynamicAuth/commit/fe3316b5be9ef17eea885e99cf925ccd0f271da7))
|
|
22
|
+
* add solana injected wallet configuration to walletbook ([#4375](https://github.com/dynamic-labs/DynamicAuth/issues/4375)) ([3677ce5](https://github.com/dynamic-labs/DynamicAuth/commit/3677ce5ff40d0c00bfaf0daa0d5d67bc40706ee0))
|
|
23
|
+
* add support for unisat wallet ([#4355](https://github.com/dynamic-labs/DynamicAuth/issues/4355)) ([5b7d6b0](https://github.com/dynamic-labs/DynamicAuth/commit/5b7d6b0a9ea84811a8252b3cdf30a3a8e410180c))
|
|
24
|
+
* add walletbook configurations for solana injected wallets ([#4360](https://github.com/dynamic-labs/DynamicAuth/issues/4360)) ([cdc8e5f](https://github.com/dynamic-labs/DynamicAuth/commit/cdc8e5f4878cb84e26e5b33299aa8547b84b6667))
|
|
25
|
+
* passkey renaming frontend ([#4331](https://github.com/dynamic-labs/DynamicAuth/issues/4331)) ([4551013](https://github.com/dynamic-labs/DynamicAuth/commit/4551013d577c914cb3aedfe458ab9eaa018aceb4))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* correctly update wallets connected flag after wallet switch ([#4397](https://github.com/dynamic-labs/DynamicAuth/issues/4397)) ([543a830](https://github.com/dynamic-labs/DynamicAuth/commit/543a830574f0d5a78fedbb9b18233e8dfbaddd86))
|
|
31
|
+
* export modal header ([#4401](https://github.com/dynamic-labs/DynamicAuth/issues/4401)) ([77cf016](https://github.com/dynamic-labs/DynamicAuth/commit/77cf016fc742458988864647870149a56e991ee4))
|
|
32
|
+
* trigger onAuthSuccess before embedded wallet creation ([4aa341a](https://github.com/dynamic-labs/DynamicAuth/commit/4aa341a1d08332a121daddb7c2dcb09a804a4de7))
|
|
33
|
+
* ui issues on react 17 ([#4373](https://github.com/dynamic-labs/DynamicAuth/issues/4373)) ([93096d6](https://github.com/dynamic-labs/DynamicAuth/commit/93096d6017816a4f0ed299bf618b130d90c81514))
|
|
34
|
+
|
|
2
35
|
## [1.1.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.9...v1.1.0-alpha.10) (2024-01-06)
|
|
3
36
|
|
|
4
37
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/solana",
|
|
3
|
-
"version": "1.1.0-alpha.
|
|
3
|
+
"version": "1.1.0-alpha.12",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@solana/web3.js": "1.70.1",
|
|
30
|
-
"@dynamic-labs/rpc-providers": "1.1.0-alpha.
|
|
31
|
-
"@dynamic-labs/types": "1.1.0-alpha.
|
|
32
|
-
"@dynamic-labs/utils": "1.1.0-alpha.
|
|
33
|
-
"@dynamic-labs/wallet-book": "1.1.0-alpha.
|
|
34
|
-
"@dynamic-labs/wallet-connector-core": "1.1.0-alpha.
|
|
30
|
+
"@dynamic-labs/rpc-providers": "1.1.0-alpha.12",
|
|
31
|
+
"@dynamic-labs/types": "1.1.0-alpha.12",
|
|
32
|
+
"@dynamic-labs/utils": "1.1.0-alpha.12",
|
|
33
|
+
"@dynamic-labs/wallet-book": "1.1.0-alpha.12",
|
|
34
|
+
"@dynamic-labs/wallet-connector-core": "1.1.0-alpha.12",
|
|
35
35
|
"eventemitter3": "5.0.1"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {}
|
package/src/CoinbaseSolana.cjs
CHANGED
|
@@ -4,43 +4,24 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
6
6
|
var utils = require('@dynamic-labs/utils');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var walletBook = require('@dynamic-labs/wallet-book');
|
|
8
|
+
var InjectedWalletBase = require('./injected/InjectedWalletBase.cjs');
|
|
9
9
|
require('@solana/web3.js');
|
|
10
10
|
require('@dynamic-labs/wallet-connector-core');
|
|
11
|
+
require('@dynamic-labs/rpc-providers');
|
|
11
12
|
require('./injected/PhantomLedger.cjs');
|
|
12
13
|
var isSignedMessage = require('./utils/isSignedMessage.cjs');
|
|
13
14
|
|
|
14
|
-
class CoinbaseSolana extends
|
|
15
|
-
constructor() {
|
|
16
|
-
super(
|
|
15
|
+
class CoinbaseSolana extends InjectedWalletBase.InjectedWalletBase {
|
|
16
|
+
constructor(opts) {
|
|
17
|
+
super(opts);
|
|
17
18
|
this.name = 'CoinbaseSolana';
|
|
18
|
-
|
|
19
|
-
setupEventListeners() {
|
|
20
|
-
solProviderHelper.SolProviderHelper._setupEventListeners(this, solProviderHelper.SolProviderHelper.findProvider(this.key));
|
|
21
|
-
}
|
|
22
|
-
teardownEventListeners() {
|
|
23
|
-
solProviderHelper.SolProviderHelper._teardownEventListeners(this.key);
|
|
24
|
-
}
|
|
25
|
-
connect() {
|
|
26
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
yield solProviderHelper.SolProviderHelper.connectWithKey(this.key);
|
|
28
|
-
});
|
|
19
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
29
20
|
}
|
|
30
21
|
getSigner() {
|
|
22
|
+
var _a;
|
|
31
23
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
return
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
isInstalledOnBrowser() {
|
|
36
|
-
return solProviderHelper.SolProviderHelper.isInstalledHelper(this.key);
|
|
37
|
-
}
|
|
38
|
-
fetchPublicAddress() {
|
|
39
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
if (this.isInstalledOnBrowser()) {
|
|
41
|
-
return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
|
|
42
|
-
}
|
|
43
|
-
return;
|
|
24
|
+
return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
|
|
44
25
|
});
|
|
45
26
|
}
|
|
46
27
|
signMessage(messageToSign) {
|
|
@@ -61,11 +42,6 @@ class CoinbaseSolana extends solWalletConnector.SolWalletConnector {
|
|
|
61
42
|
return utils.bufferToBase64(isSignedMessage.isSignedMessage(signedMessage) ? signedMessage.signature : signedMessage);
|
|
62
43
|
});
|
|
63
44
|
}
|
|
64
|
-
getConnectedAccounts() {
|
|
65
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
45
|
}
|
|
70
46
|
|
|
71
47
|
exports.CoinbaseSolana = CoinbaseSolana;
|
package/src/CoinbaseSolana.d.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class CoinbaseSolana extends
|
|
1
|
+
import { SolWalletConnectorOpts } from './solWalletConnector';
|
|
2
|
+
import { InjectedWalletBase } from './injected/InjectedWalletBase';
|
|
3
|
+
export declare class CoinbaseSolana extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
connect(): Promise<void>;
|
|
8
|
-
getSigner(): Promise<ICoinbaseSolanaSigner | undefined>;
|
|
9
|
-
isInstalledOnBrowser(): boolean;
|
|
10
|
-
fetchPublicAddress(): Promise<string | undefined>;
|
|
5
|
+
constructor(opts: SolWalletConnectorOpts);
|
|
6
|
+
getSigner<ICoinbaseSolanaSigner>(): Promise<ICoinbaseSolanaSigner | undefined>;
|
|
11
7
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
12
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
13
8
|
}
|
package/src/CoinbaseSolana.js
CHANGED
|
@@ -1,42 +1,23 @@
|
|
|
1
1
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
2
|
import { bufferToBase64 } from '@dynamic-labs/utils';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
4
|
+
import { InjectedWalletBase } from './injected/InjectedWalletBase.js';
|
|
5
5
|
import '@solana/web3.js';
|
|
6
6
|
import '@dynamic-labs/wallet-connector-core';
|
|
7
|
+
import '@dynamic-labs/rpc-providers';
|
|
7
8
|
import './injected/PhantomLedger.js';
|
|
8
9
|
import { isSignedMessage } from './utils/isSignedMessage.js';
|
|
9
10
|
|
|
10
|
-
class CoinbaseSolana extends
|
|
11
|
-
constructor() {
|
|
12
|
-
super(
|
|
11
|
+
class CoinbaseSolana extends InjectedWalletBase {
|
|
12
|
+
constructor(opts) {
|
|
13
|
+
super(opts);
|
|
13
14
|
this.name = 'CoinbaseSolana';
|
|
14
|
-
|
|
15
|
-
setupEventListeners() {
|
|
16
|
-
SolProviderHelper._setupEventListeners(this, SolProviderHelper.findProvider(this.key));
|
|
17
|
-
}
|
|
18
|
-
teardownEventListeners() {
|
|
19
|
-
SolProviderHelper._teardownEventListeners(this.key);
|
|
20
|
-
}
|
|
21
|
-
connect() {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
yield SolProviderHelper.connectWithKey(this.key);
|
|
24
|
-
});
|
|
15
|
+
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
25
16
|
}
|
|
26
17
|
getSigner() {
|
|
18
|
+
var _a;
|
|
27
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
return
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
isInstalledOnBrowser() {
|
|
32
|
-
return SolProviderHelper.isInstalledHelper(this.key);
|
|
33
|
-
}
|
|
34
|
-
fetchPublicAddress() {
|
|
35
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
if (this.isInstalledOnBrowser()) {
|
|
37
|
-
return SolProviderHelper.fetchPublicAddressWithKey(this.key);
|
|
38
|
-
}
|
|
39
|
-
return;
|
|
20
|
+
return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
|
|
40
21
|
});
|
|
41
22
|
}
|
|
42
23
|
signMessage(messageToSign) {
|
|
@@ -57,11 +38,6 @@ class CoinbaseSolana extends SolWalletConnector {
|
|
|
57
38
|
return bufferToBase64(isSignedMessage(signedMessage) ? signedMessage.signature : signedMessage);
|
|
58
39
|
});
|
|
59
40
|
}
|
|
60
|
-
getConnectedAccounts() {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
return SolProviderHelper.getConnectedAccountsWithKey(this.key);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
41
|
}
|
|
66
42
|
|
|
67
43
|
export { CoinbaseSolana };
|
package/src/Solflare.d.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class Solflare extends
|
|
1
|
+
import { InjectedWalletBase } from './injected/InjectedWalletBase';
|
|
2
|
+
import { SolWalletConnectorOpts } from './solWalletConnector';
|
|
3
|
+
export declare class Solflare extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
|
-
|
|
5
|
+
constructor(opts: SolWalletConnectorOpts);
|
|
6
6
|
fetchPublicAddress(): Promise<string | undefined>;
|
|
7
|
-
connect(): Promise<void>;
|
|
8
|
-
getSigner(): Promise<ISolana | undefined>;
|
|
9
7
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
10
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
11
|
-
setupEventListeners(): void;
|
|
12
|
-
teardownEventListeners(): void;
|
|
13
8
|
}
|
package/src/index.cjs
CHANGED
|
@@ -2,28 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var Glow = require('./Glow.cjs');
|
|
7
|
-
var Slope = require('./Slope.cjs');
|
|
8
|
-
var Solflare = require('./Solflare.cjs');
|
|
9
|
-
var index = require('./injected/index.cjs');
|
|
10
|
-
var solWalletConnector = require('./solWalletConnector.cjs');
|
|
11
|
-
var solProviderHelper = require('./solProviderHelper.cjs');
|
|
5
|
+
var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
|
|
12
6
|
var isSignedMessage = require('./utils/isSignedMessage.cjs');
|
|
13
7
|
var isBackpackSolanaSigner = require('./utils/isBackpackSolanaSigner.cjs');
|
|
14
8
|
|
|
15
9
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
16
10
|
const SolanaWalletConnectors = (props) => [
|
|
17
|
-
...
|
|
18
|
-
|
|
19
|
-
Glow.Glow,
|
|
20
|
-
Slope.Slope,
|
|
21
|
-
Solflare.Solflare,
|
|
11
|
+
...fetchInjectedWalletConnectors.injectedWalletOverrides,
|
|
12
|
+
...fetchInjectedWalletConnectors.fetchInjectedWalletConnectors(props),
|
|
22
13
|
];
|
|
23
14
|
|
|
24
|
-
exports.Solflare = Solflare.Solflare;
|
|
25
|
-
exports.SolWalletConnector = solWalletConnector.SolWalletConnector;
|
|
26
|
-
exports.SolProviderHelper = solProviderHelper.SolProviderHelper;
|
|
27
15
|
exports.isSignedMessage = isSignedMessage.isSignedMessage;
|
|
28
16
|
exports.isBackpackSolanaSigner = isBackpackSolanaSigner.isBackpackSolanaSigner;
|
|
29
17
|
exports.SolanaWalletConnectors = SolanaWalletConnectors;
|
package/src/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './solProviderHelper';
|
|
3
|
-
export * from './Solflare';
|
|
4
|
-
export declare const SolanaWalletConnectors: (props: any) => typeof import("./injected/BraveSol").BraveSol[];
|
|
1
|
+
export declare const SolanaWalletConnectors: (props: any) => import("dist/packages/wallet-connector-core/src").WalletConnectorConstructor[];
|
|
5
2
|
export { isSignedMessage } from './utils/isSignedMessage';
|
|
6
3
|
export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner';
|
|
7
4
|
export type { ISolana, IBackpackSolanaSigner, ICoinbaseSolanaSigner, SignedMessage, ISolanaSigner, } from './types';
|
package/src/index.js
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Glow } from './Glow.js';
|
|
3
|
-
import { Slope } from './Slope.js';
|
|
4
|
-
import { Solflare } from './Solflare.js';
|
|
5
|
-
export { Solflare } from './Solflare.js';
|
|
6
|
-
import { injectedWallets } from './injected/index.js';
|
|
7
|
-
export { SolWalletConnector } from './solWalletConnector.js';
|
|
8
|
-
export { SolProviderHelper } from './solProviderHelper.js';
|
|
1
|
+
import { injectedWalletOverrides, fetchInjectedWalletConnectors } from './injected/fetchInjectedWalletConnectors.js';
|
|
9
2
|
export { isSignedMessage } from './utils/isSignedMessage.js';
|
|
10
3
|
export { isBackpackSolanaSigner } from './utils/isBackpackSolanaSigner.js';
|
|
11
4
|
|
|
12
5
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
13
6
|
const SolanaWalletConnectors = (props) => [
|
|
14
|
-
...
|
|
15
|
-
|
|
16
|
-
Glow,
|
|
17
|
-
Slope,
|
|
18
|
-
Solflare,
|
|
7
|
+
...injectedWalletOverrides,
|
|
8
|
+
...fetchInjectedWalletConnectors(props),
|
|
19
9
|
];
|
|
20
10
|
|
|
21
11
|
export { SolanaWalletConnectors };
|
|
@@ -4,29 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
6
|
var utils = require('@dynamic-labs/utils');
|
|
7
|
-
var
|
|
7
|
+
var walletBook = require('@dynamic-labs/wallet-book');
|
|
8
8
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
9
9
|
|
|
10
10
|
class BackpackSol extends InjectedWalletBase.InjectedWalletBase {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(
|
|
11
|
+
constructor(opts) {
|
|
12
|
+
super(opts);
|
|
13
13
|
this.name = 'BackpackSol';
|
|
14
|
-
|
|
15
|
-
setupEventListeners() {
|
|
16
|
-
const web3Provider = solProviderHelper.SolProviderHelper.findProvider(this.key);
|
|
17
|
-
if (!web3Provider)
|
|
18
|
-
return;
|
|
19
|
-
web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('activeWalletDidChange', (publicKey) => solProviderHelper.SolProviderHelper.handleAccountChange(this, web3Provider, publicKey));
|
|
20
|
-
solProviderHelper.SolProviderHelper._setupEventListeners(this, web3Provider);
|
|
21
|
-
}
|
|
22
|
-
fetchPublicAddress() {
|
|
23
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
return solProviderHelper.SolProviderHelper.fetchPublicAddressWithKey(this.key);
|
|
25
|
-
});
|
|
14
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
26
15
|
}
|
|
27
16
|
getSigner() {
|
|
17
|
+
var _a;
|
|
28
18
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
return
|
|
19
|
+
return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
|
|
30
20
|
});
|
|
31
21
|
}
|
|
32
22
|
signMessage(messageToSign) {
|
|
@@ -46,11 +36,6 @@ class BackpackSol extends InjectedWalletBase.InjectedWalletBase {
|
|
|
46
36
|
return utils.bufferToBase64(signedMessage);
|
|
47
37
|
});
|
|
48
38
|
}
|
|
49
|
-
getConnectedAccounts() {
|
|
50
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
return solProviderHelper.SolProviderHelper.getConnectedAccountsWithKey(this.key);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
39
|
}
|
|
55
40
|
|
|
56
41
|
exports.BackpackSol = BackpackSol;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SolWalletConnectorOpts } from '../solWalletConnector';
|
|
2
2
|
import { InjectedWalletBase } from './InjectedWalletBase';
|
|
3
3
|
export declare class BackpackSol extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
getSigner(): Promise<IBackpackSolanaSigner | undefined>;
|
|
5
|
+
constructor(opts: SolWalletConnectorOpts);
|
|
6
|
+
getSigner<IBackpackSolanaSigner>(): Promise<IBackpackSolanaSigner | undefined>;
|
|
8
7
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
9
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
10
8
|
}
|
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
2
|
import { bufferToBase64 } from '@dynamic-labs/utils';
|
|
3
|
-
import {
|
|
3
|
+
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
4
4
|
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
5
5
|
|
|
6
6
|
class BackpackSol extends InjectedWalletBase {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(
|
|
7
|
+
constructor(opts) {
|
|
8
|
+
super(opts);
|
|
9
9
|
this.name = 'BackpackSol';
|
|
10
|
-
|
|
11
|
-
setupEventListeners() {
|
|
12
|
-
const web3Provider = SolProviderHelper.findProvider(this.key);
|
|
13
|
-
if (!web3Provider)
|
|
14
|
-
return;
|
|
15
|
-
web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('activeWalletDidChange', (publicKey) => SolProviderHelper.handleAccountChange(this, web3Provider, publicKey));
|
|
16
|
-
SolProviderHelper._setupEventListeners(this, web3Provider);
|
|
17
|
-
}
|
|
18
|
-
fetchPublicAddress() {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
return SolProviderHelper.fetchPublicAddressWithKey(this.key);
|
|
21
|
-
});
|
|
10
|
+
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
22
11
|
}
|
|
23
12
|
getSigner() {
|
|
13
|
+
var _a;
|
|
24
14
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
return
|
|
15
|
+
return (_a = this.getSolProviderHelper()) === null || _a === void 0 ? void 0 : _a.connect();
|
|
26
16
|
});
|
|
27
17
|
}
|
|
28
18
|
signMessage(messageToSign) {
|
|
@@ -42,11 +32,6 @@ class BackpackSol extends InjectedWalletBase {
|
|
|
42
32
|
return bufferToBase64(signedMessage);
|
|
43
33
|
});
|
|
44
34
|
}
|
|
45
|
-
getConnectedAccounts() {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
return SolProviderHelper.getConnectedAccountsWithKey(this.key);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
35
|
}
|
|
51
36
|
|
|
52
37
|
export { BackpackSol };
|
|
@@ -3,51 +3,55 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
|
-
var
|
|
6
|
+
var walletBook = require('@dynamic-labs/wallet-book');
|
|
7
7
|
var solProviderHelper = require('../solProviderHelper.cjs');
|
|
8
|
+
var solWalletConnector = require('../solWalletConnector.cjs');
|
|
8
9
|
|
|
9
10
|
class InjectedWalletBase extends solWalletConnector.SolWalletConnector {
|
|
11
|
+
getSolProviderHelper() {
|
|
12
|
+
if (!this.wallet) {
|
|
13
|
+
this.wallet = walletBook.getWalletBookWallet(this.walletBook, this.key);
|
|
14
|
+
}
|
|
15
|
+
if (!this.solProviderHelper) {
|
|
16
|
+
this.solProviderHelper = new solProviderHelper.SolProviderHelper(this.wallet);
|
|
17
|
+
}
|
|
18
|
+
// adding the forced typing below to avoid having to null check in other methods
|
|
19
|
+
return this.solProviderHelper;
|
|
20
|
+
}
|
|
10
21
|
setupEventListeners() {
|
|
11
|
-
|
|
22
|
+
this.getSolProviderHelper()._setupEventListeners(this);
|
|
12
23
|
}
|
|
13
24
|
teardownEventListeners() {
|
|
14
|
-
|
|
25
|
+
this.getSolProviderHelper()._teardownEventListeners();
|
|
15
26
|
}
|
|
16
27
|
connect() {
|
|
17
28
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
yield
|
|
29
|
+
yield this.getSolProviderHelper().connect();
|
|
19
30
|
});
|
|
20
31
|
}
|
|
21
32
|
getSigner() {
|
|
22
33
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
return
|
|
34
|
+
return this.getSolProviderHelper().connect();
|
|
24
35
|
});
|
|
25
36
|
}
|
|
26
37
|
isInstalledOnBrowser() {
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* When Glow wallet is installed and Phantom isn't, isPhantom will
|
|
30
|
-
* still be true. This added check is to return false in that scenario.
|
|
31
|
-
* It relies on the fact that if both Glow and Phantom are enabled,
|
|
32
|
-
* solana.isGlow will return false.
|
|
33
|
-
*/
|
|
34
|
-
return (solProviderHelper.SolProviderHelper.isInstalledHelper(this.key) && !((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
|
|
38
|
+
return this.getSolProviderHelper().isInstalledHelper();
|
|
35
39
|
}
|
|
36
40
|
fetchPublicAddress() {
|
|
37
41
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
38
42
|
if (!this.isInstalledOnBrowser())
|
|
39
43
|
return;
|
|
40
|
-
return
|
|
44
|
+
return this.getSolProviderHelper().fetchPublicAddress();
|
|
41
45
|
});
|
|
42
46
|
}
|
|
43
47
|
signMessage(messageToSign) {
|
|
44
48
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
return
|
|
49
|
+
return this.getSolProviderHelper().signMessage(messageToSign);
|
|
46
50
|
});
|
|
47
51
|
}
|
|
48
52
|
getConnectedAccounts() {
|
|
49
53
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
return
|
|
54
|
+
return this.getSolProviderHelper().getConnectedAccounts();
|
|
51
55
|
});
|
|
52
56
|
}
|
|
53
57
|
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
2
2
|
import { ISolana } from '../types';
|
|
3
|
+
import { SolProviderHelper } from '../solProviderHelper';
|
|
4
|
+
import { SolWalletConnector } from '../solWalletConnector';
|
|
3
5
|
export declare abstract class InjectedWalletBase extends SolWalletConnector {
|
|
6
|
+
solProviderHelper: SolProviderHelper | undefined;
|
|
7
|
+
wallet: WalletSchema | undefined;
|
|
8
|
+
getSolProviderHelper(): SolProviderHelper;
|
|
4
9
|
setupEventListeners(): void;
|
|
5
10
|
teardownEventListeners(): void;
|
|
6
11
|
connect(): Promise<void>;
|
|
7
|
-
getSigner(): Promise<
|
|
12
|
+
getSigner<T = ISolana>(): Promise<T | undefined>;
|
|
8
13
|
isInstalledOnBrowser(): boolean;
|
|
9
14
|
fetchPublicAddress(): Promise<string | undefined>;
|
|
10
15
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
@@ -1,49 +1,53 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
3
|
import { SolProviderHelper } from '../solProviderHelper.js';
|
|
4
|
+
import { SolWalletConnector } from '../solWalletConnector.js';
|
|
4
5
|
|
|
5
6
|
class InjectedWalletBase extends SolWalletConnector {
|
|
7
|
+
getSolProviderHelper() {
|
|
8
|
+
if (!this.wallet) {
|
|
9
|
+
this.wallet = getWalletBookWallet(this.walletBook, this.key);
|
|
10
|
+
}
|
|
11
|
+
if (!this.solProviderHelper) {
|
|
12
|
+
this.solProviderHelper = new SolProviderHelper(this.wallet);
|
|
13
|
+
}
|
|
14
|
+
// adding the forced typing below to avoid having to null check in other methods
|
|
15
|
+
return this.solProviderHelper;
|
|
16
|
+
}
|
|
6
17
|
setupEventListeners() {
|
|
7
|
-
|
|
18
|
+
this.getSolProviderHelper()._setupEventListeners(this);
|
|
8
19
|
}
|
|
9
20
|
teardownEventListeners() {
|
|
10
|
-
|
|
21
|
+
this.getSolProviderHelper()._teardownEventListeners();
|
|
11
22
|
}
|
|
12
23
|
connect() {
|
|
13
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
yield
|
|
25
|
+
yield this.getSolProviderHelper().connect();
|
|
15
26
|
});
|
|
16
27
|
}
|
|
17
28
|
getSigner() {
|
|
18
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
return
|
|
30
|
+
return this.getSolProviderHelper().connect();
|
|
20
31
|
});
|
|
21
32
|
}
|
|
22
33
|
isInstalledOnBrowser() {
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* When Glow wallet is installed and Phantom isn't, isPhantom will
|
|
26
|
-
* still be true. This added check is to return false in that scenario.
|
|
27
|
-
* It relies on the fact that if both Glow and Phantom are enabled,
|
|
28
|
-
* solana.isGlow will return false.
|
|
29
|
-
*/
|
|
30
|
-
return (SolProviderHelper.isInstalledHelper(this.key) && !((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
|
|
34
|
+
return this.getSolProviderHelper().isInstalledHelper();
|
|
31
35
|
}
|
|
32
36
|
fetchPublicAddress() {
|
|
33
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
38
|
if (!this.isInstalledOnBrowser())
|
|
35
39
|
return;
|
|
36
|
-
return
|
|
40
|
+
return this.getSolProviderHelper().fetchPublicAddress();
|
|
37
41
|
});
|
|
38
42
|
}
|
|
39
43
|
signMessage(messageToSign) {
|
|
40
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
return
|
|
45
|
+
return this.getSolProviderHelper().signMessage(messageToSign);
|
|
42
46
|
});
|
|
43
47
|
}
|
|
44
48
|
getConnectedAccounts() {
|
|
45
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
return
|
|
50
|
+
return this.getSolProviderHelper().getConnectedAccounts();
|
|
47
51
|
});
|
|
48
52
|
}
|
|
49
53
|
}
|
package/src/injected/Phantom.cjs
CHANGED
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
6
|
var utils = require('@dynamic-labs/utils');
|
|
7
|
+
var walletBook = require('@dynamic-labs/wallet-book');
|
|
7
8
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
8
9
|
|
|
9
10
|
class Phantom extends InjectedWalletBase.InjectedWalletBase {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(
|
|
11
|
+
constructor(opts) {
|
|
12
|
+
super(opts);
|
|
12
13
|
this.name = 'Phantom';
|
|
14
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
13
15
|
}
|
|
14
16
|
fetchPublicAddress() {
|
|
15
17
|
const _super = Object.create(null, {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { SolWalletConnectorOpts } from '../solWalletConnector';
|
|
1
2
|
import { InjectedWalletBase } from './InjectedWalletBase';
|
|
2
3
|
export declare class Phantom extends InjectedWalletBase {
|
|
3
4
|
name: string;
|
|
5
|
+
constructor(opts: SolWalletConnectorOpts);
|
|
4
6
|
fetchPublicAddress(): Promise<string | undefined>;
|
|
5
7
|
}
|
package/src/injected/Phantom.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
2
|
import { isMobile, handleMobileWalletRedirect } from '@dynamic-labs/utils';
|
|
3
|
+
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
4
|
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
4
5
|
|
|
5
6
|
class Phantom extends InjectedWalletBase {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(
|
|
7
|
+
constructor(opts) {
|
|
8
|
+
super(opts);
|
|
8
9
|
this.name = 'Phantom';
|
|
10
|
+
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
9
11
|
}
|
|
10
12
|
fetchPublicAddress() {
|
|
11
13
|
const _super = Object.create(null, {
|
|
@@ -6,13 +6,14 @@ var _tslib = require('../../_virtual/_tslib.cjs');
|
|
|
6
6
|
var web3_js = require('@solana/web3.js');
|
|
7
7
|
var utils = require('@dynamic-labs/utils');
|
|
8
8
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
|
+
var walletBook = require('@dynamic-labs/wallet-book');
|
|
9
10
|
var extractNonce = require('../utils/extractNonce.cjs');
|
|
10
11
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
11
12
|
|
|
12
13
|
const MEMO_PROGRAM_ID = new web3_js.PublicKey('MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr');
|
|
13
14
|
class PhantomLedger extends InjectedWalletBase.InjectedWalletBase {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(
|
|
15
|
+
constructor(opts) {
|
|
16
|
+
super(opts);
|
|
16
17
|
/**
|
|
17
18
|
* I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
|
|
18
19
|
* exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
|
|
@@ -27,6 +28,7 @@ class PhantomLedger extends InjectedWalletBase.InjectedWalletBase {
|
|
|
27
28
|
}));
|
|
28
29
|
return transaction;
|
|
29
30
|
};
|
|
31
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
30
32
|
}
|
|
31
33
|
signMessage() {
|
|
32
34
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|