@shapeshiftoss/hdwallet-phantom 1.55.10-mipdalpha.1 → 1.55.11-mipd.1
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/adapter.d.ts +2 -2
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +5 -4
- package/dist/adapter.js.map +1 -1
- package/dist/phantom.d.ts +15 -5
- package/dist/phantom.d.ts.map +1 -1
- package/dist/phantom.js +45 -9
- package/dist/phantom.js.map +1 -1
- package/dist/solana.d.ts +9 -0
- package/dist/solana.d.ts.map +1 -0
- package/dist/solana.js +63 -0
- package/dist/solana.js.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/adapter.ts +5 -6
- package/src/phantom.test.ts +149 -126
- package/src/phantom.ts +63 -12
- package/src/solana.ts +80 -0
- package/src/types.ts +9 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/adapter.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
2
|
import { PhantomHDWallet } from "./phantom";
|
|
3
|
-
import { PhantomEvmProvider, PhantomUtxoProvider } from "./types";
|
|
3
|
+
import { PhantomEvmProvider, PhantomSolanaProvider, PhantomUtxoProvider } from "./types";
|
|
4
4
|
declare global {
|
|
5
5
|
interface Window {
|
|
6
6
|
phantom?: {
|
|
7
7
|
ethereum?: PhantomEvmProvider;
|
|
8
8
|
bitcoin?: PhantomUtxoProvider;
|
|
9
|
-
solana?:
|
|
9
|
+
solana?: PhantomSolanaProvider;
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
}
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,kBAAkB,CAAC;YAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;YAC9B,MAAM,CAAC,EAAE,qBAAqB,CAAC;SAChC,CAAC;KACH;CACF;AAED,qBAAa,cAAc;IACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;IAEtB,OAAO;WAIO,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO;IAIjC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,UAAU,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;CA8BhE"}
|
package/dist/adapter.js
CHANGED
|
@@ -49,16 +49,17 @@ class PhantomAdapter {
|
|
|
49
49
|
}
|
|
50
50
|
pairDevice() {
|
|
51
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
var _a, _b, _c;
|
|
52
|
+
var _a, _b, _c, _d;
|
|
53
53
|
const evmProvider = (_a = window.phantom) === null || _a === void 0 ? void 0 : _a.ethereum;
|
|
54
54
|
const bitcoinProvider = (_b = window.phantom) === null || _b === void 0 ? void 0 : _b.bitcoin;
|
|
55
|
-
|
|
55
|
+
const solanaProvider = (_c = window.phantom) === null || _c === void 0 ? void 0 : _c.solana;
|
|
56
|
+
if (!evmProvider || !bitcoinProvider || !solanaProvider) {
|
|
56
57
|
window.open("https://phantom.app/", "_blank");
|
|
57
58
|
console.error("Please install Phantom!");
|
|
58
59
|
throw new Error("Phantom provider not found");
|
|
59
60
|
}
|
|
60
61
|
try {
|
|
61
|
-
yield ((
|
|
62
|
+
yield ((_d = evmProvider.request) === null || _d === void 0 ? void 0 : _d.call(evmProvider, { method: "eth_requestAccounts" }).catch(() => {
|
|
62
63
|
var _a;
|
|
63
64
|
return (_a = evmProvider.request) === null || _a === void 0 ? void 0 : _a.call(evmProvider, {
|
|
64
65
|
method: "wallet_requestPermissions",
|
|
@@ -70,7 +71,7 @@ class PhantomAdapter {
|
|
|
70
71
|
console.error("Could not get Phantom accounts. ");
|
|
71
72
|
throw error;
|
|
72
73
|
}
|
|
73
|
-
const wallet = new phantom_1.PhantomHDWallet(evmProvider, bitcoinProvider);
|
|
74
|
+
const wallet = new phantom_1.PhantomHDWallet(evmProvider, bitcoinProvider, solanaProvider);
|
|
74
75
|
yield wallet.initialize();
|
|
75
76
|
const deviceID = yield wallet.getDeviceID();
|
|
76
77
|
this.keyring.add(wallet, deviceID);
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAErD,uCAA4C;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAErD,uCAA4C;AAa5C,MAAa,cAAc;IAGzB,YAAoB,OAAqB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,OAAqB;QAC5C,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEY,UAAU;;YACrB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAClD,CAAC;KAAA;IAEY,UAAU;;;YACrB,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,OAAO,0CAAE,QAAQ,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAA,MAAM,CAAC,OAAO,0CAAE,OAAO,CAAC;YAChD,MAAM,cAAc,GAAG,MAAA,MAAM,CAAC,OAAO,0CAAE,MAAM,CAAC;YAE9C,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,CAAA,MAAA,WAAW,CAAC,OAAO,4DAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE;;oBACxE,OAAA,MAAA,WAAW,CAAC,OAAO,4DAAG;wBACpB,MAAM,EAAE,2BAA2B;wBACnC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;qBAC/B,CAAC,CAAA;iBAAA,CACH,CAAA,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAClD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,yBAAe,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;YACjF,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YAExE,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AA7CD,wCA6CC"}
|
package/dist/phantom.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
-
import { PhantomEvmProvider, PhantomUtxoProvider } from "./types";
|
|
2
|
+
import { PhantomEvmProvider, PhantomSolanaProvider, PhantomUtxoProvider } from "./types";
|
|
3
3
|
export declare function isPhantom(wallet: core.HDWallet): wallet is PhantomHDWallet;
|
|
4
|
-
export declare class PhantomHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo {
|
|
4
|
+
export declare class PhantomHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo, core.SolanaWalletInfo {
|
|
5
5
|
readonly _supportsBTCInfo = true;
|
|
6
6
|
readonly _supportsETHInfo = true;
|
|
7
|
+
readonly _supportsSolanaInfo = true;
|
|
7
8
|
evmProvider: PhantomEvmProvider;
|
|
8
9
|
constructor(evmProvider: PhantomEvmProvider);
|
|
9
10
|
getVendor(): string;
|
|
@@ -31,8 +32,11 @@ export declare class PhantomHDWalletInfo implements core.HDWalletInfo, core.BTCW
|
|
|
31
32
|
btcSupportsNativeShapeShift(): boolean;
|
|
32
33
|
btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array<core.BTCAccountPath>;
|
|
33
34
|
btcNextAccountPath(msg: core.BTCAccountPath): core.BTCAccountPath | undefined;
|
|
35
|
+
/** Solana */
|
|
36
|
+
solanaGetAccountPaths(msg: core.SolanaGetAccountPaths): Array<core.SolanaAccountPath>;
|
|
37
|
+
solanaNextAccountPath(msg: core.SolanaAccountPath): core.SolanaAccountPath | undefined;
|
|
34
38
|
}
|
|
35
|
-
export declare class PhantomHDWallet extends PhantomHDWalletInfo implements core.HDWallet, core.BTCWallet, core.ETHWallet {
|
|
39
|
+
export declare class PhantomHDWallet extends PhantomHDWalletInfo implements core.HDWallet, core.BTCWallet, core.ETHWallet, core.SolanaWallet {
|
|
36
40
|
readonly _supportsBTC = true;
|
|
37
41
|
readonly _supportsETH = true;
|
|
38
42
|
readonly _supportsEthSwitchChain = false;
|
|
@@ -44,11 +48,13 @@ export declare class PhantomHDWallet extends PhantomHDWalletInfo implements core
|
|
|
44
48
|
readonly _supportsArbitrumNova = false;
|
|
45
49
|
readonly _supportsBase = false;
|
|
46
50
|
readonly _supportsBSC = false;
|
|
51
|
+
readonly _supportsSolana = true;
|
|
47
52
|
readonly _isPhantom = true;
|
|
48
53
|
evmProvider: PhantomEvmProvider;
|
|
49
54
|
bitcoinProvider: PhantomUtxoProvider;
|
|
55
|
+
solanaProvider: PhantomSolanaProvider;
|
|
50
56
|
ethAddress?: string | null;
|
|
51
|
-
constructor(evmProvider: PhantomEvmProvider, bitcoinProvider: PhantomUtxoProvider);
|
|
57
|
+
constructor(evmProvider: PhantomEvmProvider, bitcoinProvider: PhantomUtxoProvider, solanaProvider: PhantomSolanaProvider);
|
|
52
58
|
getDeviceID(): Promise<string>;
|
|
53
59
|
getFeatures(): Promise<Record<string, any>>;
|
|
54
60
|
getFirmwareVersion(): Promise<string>;
|
|
@@ -71,7 +77,7 @@ export declare class PhantomHDWallet extends PhantomHDWalletInfo implements core
|
|
|
71
77
|
disconnect(): Promise<void>;
|
|
72
78
|
getPublicKeys(msg: Array<core.GetPublicKey>): Promise<Array<core.PublicKey | null>>;
|
|
73
79
|
/** Ethereum */
|
|
74
|
-
ethGetAddress(): Promise<string | null>;
|
|
80
|
+
ethGetAddress(_msg: core.ETHGetAddress): Promise<string | null>;
|
|
75
81
|
ethSignTx(msg: core.ETHSignTx): Promise<core.ETHSignedTx | null>;
|
|
76
82
|
ethSendTx(msg: core.ETHSignTx): Promise<core.ETHTxHash | null>;
|
|
77
83
|
ethSignMessage(msg: core.ETHSignMessage): Promise<core.ETHSignedMessage | null>;
|
|
@@ -82,5 +88,9 @@ export declare class PhantomHDWallet extends PhantomHDWalletInfo implements core
|
|
|
82
88
|
btcSignTx(msg: core.BTCSignTx): Promise<core.BTCSignedTx | null>;
|
|
83
89
|
btcSignMessage(msg: core.BTCSignMessage): Promise<core.BTCSignedMessage | null>;
|
|
84
90
|
btcVerifyMessage(msg: core.BTCVerifyMessage): Promise<boolean | null>;
|
|
91
|
+
/** Solana */
|
|
92
|
+
solanaGetAddress(): Promise<string | null>;
|
|
93
|
+
solanaSignTx(msg: core.SolanaSignTx): Promise<core.SolanaSignedTx | null>;
|
|
94
|
+
solanaSendTx(msg: core.SolanaSignTx): Promise<core.SolanaTxSignature | null>;
|
|
85
95
|
}
|
|
86
96
|
//# sourceMappingURL=phantom.d.ts.map
|
package/dist/phantom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phantom.d.ts","sourceRoot":"","sources":["../src/phantom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"phantom.d.ts","sourceRoot":"","sources":["../src/phantom.ts"],"names":[],"mappings":"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"}
|
package/dist/phantom.js
CHANGED
|
@@ -45,6 +45,7 @@ const utils_js_1 = require("ethers/lib/utils.js");
|
|
|
45
45
|
const lodash_1 = __importDefault(require("lodash"));
|
|
46
46
|
const btc = __importStar(require("./bitcoin"));
|
|
47
47
|
const eth = __importStar(require("./ethereum"));
|
|
48
|
+
const solana_1 = require("./solana");
|
|
48
49
|
function isPhantom(wallet) {
|
|
49
50
|
return lodash_1.default.isObject(wallet) && wallet._isPhantom;
|
|
50
51
|
}
|
|
@@ -52,6 +53,7 @@ class PhantomHDWalletInfo {
|
|
|
52
53
|
constructor(evmProvider) {
|
|
53
54
|
this._supportsBTCInfo = true;
|
|
54
55
|
this._supportsETHInfo = true;
|
|
56
|
+
this._supportsSolanaInfo = true;
|
|
55
57
|
this.evmProvider = evmProvider;
|
|
56
58
|
}
|
|
57
59
|
getVendor() {
|
|
@@ -96,6 +98,8 @@ class PhantomHDWalletInfo {
|
|
|
96
98
|
}
|
|
97
99
|
case "ethereum":
|
|
98
100
|
return core.describeETHPath(msg.path);
|
|
101
|
+
case "solana":
|
|
102
|
+
return core.solanaDescribePath(msg.path);
|
|
99
103
|
default:
|
|
100
104
|
throw new Error("Unsupported path");
|
|
101
105
|
}
|
|
@@ -139,12 +143,13 @@ class PhantomHDWalletInfo {
|
|
|
139
143
|
}
|
|
140
144
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
141
145
|
ethNextAccountPath(msg) {
|
|
142
|
-
|
|
146
|
+
console.error("Method not implemented");
|
|
147
|
+
return undefined;
|
|
143
148
|
}
|
|
144
149
|
/** Bitcoin */
|
|
145
150
|
btcSupportsCoin(coin) {
|
|
146
151
|
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
-
return coin === "bitcoin";
|
|
152
|
+
return coin.toLowerCase() === "bitcoin";
|
|
148
153
|
});
|
|
149
154
|
}
|
|
150
155
|
btcSupportsScriptType(coin, scriptType) {
|
|
@@ -175,10 +180,18 @@ class PhantomHDWalletInfo {
|
|
|
175
180
|
btcNextAccountPath(msg) {
|
|
176
181
|
throw new Error("Method not implemented");
|
|
177
182
|
}
|
|
183
|
+
/** Solana */
|
|
184
|
+
solanaGetAccountPaths(msg) {
|
|
185
|
+
return core.solanaGetAccountPaths(msg);
|
|
186
|
+
}
|
|
187
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
188
|
+
solanaNextAccountPath(msg) {
|
|
189
|
+
throw new Error("Method not implemented");
|
|
190
|
+
}
|
|
178
191
|
}
|
|
179
192
|
exports.PhantomHDWalletInfo = PhantomHDWalletInfo;
|
|
180
193
|
class PhantomHDWallet extends PhantomHDWalletInfo {
|
|
181
|
-
constructor(evmProvider, bitcoinProvider) {
|
|
194
|
+
constructor(evmProvider, bitcoinProvider, solanaProvider) {
|
|
182
195
|
super(evmProvider);
|
|
183
196
|
this._supportsBTC = true;
|
|
184
197
|
this._supportsETH = true;
|
|
@@ -193,13 +206,15 @@ class PhantomHDWallet extends PhantomHDWalletInfo {
|
|
|
193
206
|
this._supportsArbitrumNova = false;
|
|
194
207
|
this._supportsBase = false;
|
|
195
208
|
this._supportsBSC = false;
|
|
209
|
+
this._supportsSolana = true;
|
|
196
210
|
this._isPhantom = true;
|
|
197
211
|
this.evmProvider = evmProvider;
|
|
198
212
|
this.bitcoinProvider = bitcoinProvider;
|
|
213
|
+
this.solanaProvider = solanaProvider;
|
|
199
214
|
}
|
|
200
215
|
getDeviceID() {
|
|
201
216
|
return __awaiter(this, void 0, void 0, function* () {
|
|
202
|
-
return "phantom:" + (yield this.ethGetAddress());
|
|
217
|
+
return "phantom:" + (yield this.ethGetAddress({ addressNList: [] }));
|
|
203
218
|
});
|
|
204
219
|
}
|
|
205
220
|
getFeatures() {
|
|
@@ -296,7 +311,8 @@ class PhantomHDWallet extends PhantomHDWalletInfo {
|
|
|
296
311
|
});
|
|
297
312
|
}
|
|
298
313
|
/** Ethereum */
|
|
299
|
-
|
|
314
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
315
|
+
ethGetAddress(_msg) {
|
|
300
316
|
return __awaiter(this, void 0, void 0, function* () {
|
|
301
317
|
if (this.ethAddress) {
|
|
302
318
|
return this.ethAddress;
|
|
@@ -315,24 +331,25 @@ class PhantomHDWallet extends PhantomHDWalletInfo {
|
|
|
315
331
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
316
332
|
ethSignTx(msg) {
|
|
317
333
|
return __awaiter(this, void 0, void 0, function* () {
|
|
318
|
-
|
|
334
|
+
console.error("Method not implemented");
|
|
335
|
+
return null;
|
|
319
336
|
});
|
|
320
337
|
}
|
|
321
338
|
ethSendTx(msg) {
|
|
322
339
|
return __awaiter(this, void 0, void 0, function* () {
|
|
323
|
-
const address = yield this.ethGetAddress();
|
|
340
|
+
const address = yield this.ethGetAddress({ addressNList: [] });
|
|
324
341
|
return address ? eth.ethSendTx(msg, this.evmProvider, address) : null;
|
|
325
342
|
});
|
|
326
343
|
}
|
|
327
344
|
ethSignMessage(msg) {
|
|
328
345
|
return __awaiter(this, void 0, void 0, function* () {
|
|
329
|
-
const address = yield this.ethGetAddress();
|
|
346
|
+
const address = yield this.ethGetAddress({ addressNList: [] });
|
|
330
347
|
return address ? eth.ethSignMessage(msg, this.evmProvider, address) : null;
|
|
331
348
|
});
|
|
332
349
|
}
|
|
333
350
|
ethSignTypedData(msg) {
|
|
334
351
|
return __awaiter(this, void 0, void 0, function* () {
|
|
335
|
-
const address = yield this.ethGetAddress();
|
|
352
|
+
const address = yield this.ethGetAddress({ addressNList: [] });
|
|
336
353
|
return address ? eth.ethSignTypedData(msg, this.evmProvider, address) : null;
|
|
337
354
|
});
|
|
338
355
|
}
|
|
@@ -398,6 +415,25 @@ class PhantomHDWallet extends PhantomHDWalletInfo {
|
|
|
398
415
|
return bitcoinMsg.verify(msg.message, msg.address, signature);
|
|
399
416
|
});
|
|
400
417
|
}
|
|
418
|
+
/** Solana */
|
|
419
|
+
solanaGetAddress() {
|
|
420
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
421
|
+
const { publicKey } = yield this.solanaProvider.connect();
|
|
422
|
+
return publicKey.toString();
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
solanaSignTx(msg) {
|
|
426
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
427
|
+
const address = yield this.solanaGetAddress();
|
|
428
|
+
return address ? (0, solana_1.solanaSignTx)(msg, this.solanaProvider, address) : null;
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
solanaSendTx(msg) {
|
|
432
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
433
|
+
const address = yield this.solanaGetAddress();
|
|
434
|
+
return address ? (0, solana_1.solanaSendTx)(msg, this.solanaProvider, address) : null;
|
|
435
|
+
});
|
|
436
|
+
}
|
|
401
437
|
}
|
|
402
438
|
exports.PhantomHDWallet = PhantomHDWallet;
|
|
403
439
|
//# sourceMappingURL=phantom.js.map
|
package/dist/phantom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phantom.js","sourceRoot":"","sources":["../src/phantom.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"phantom.js","sourceRoot":"","sources":["../src/phantom.ts"],"names":[],"mappings":"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"}
|
package/dist/solana.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
|
+
import { PhantomSolanaProvider } from "./types";
|
|
4
|
+
export type SolanaAccount = {
|
|
5
|
+
publicKey: PublicKey;
|
|
6
|
+
};
|
|
7
|
+
export declare function solanaSignTx(msg: core.SolanaSignTx, provider: PhantomSolanaProvider, address: string): Promise<core.SolanaSignedTx | null>;
|
|
8
|
+
export declare function solanaSendTx(msg: core.SolanaSignTx, provider: PhantomSolanaProvider, address: string): Promise<core.SolanaTxSignature | null>;
|
|
9
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAEL,SAAS,EAKV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AA4CF,wBAAsB,YAAY,CAChC,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAOrC;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAIxC"}
|
package/dist/solana.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.solanaSignTx = solanaSignTx;
|
|
13
|
+
exports.solanaSendTx = solanaSendTx;
|
|
14
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
15
|
+
function toTransactionInstructions(instructions) {
|
|
16
|
+
return instructions.map((instruction) => new web3_js_1.TransactionInstruction({
|
|
17
|
+
keys: instruction.keys.map((key) => Object.assign(key, { pubkey: new web3_js_1.PublicKey(key.pubkey) })),
|
|
18
|
+
programId: new web3_js_1.PublicKey(instruction.programId),
|
|
19
|
+
data: instruction.data,
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
function buildTransaction(msg, address) {
|
|
23
|
+
var _a;
|
|
24
|
+
const instructions = toTransactionInstructions((_a = msg.instructions) !== null && _a !== void 0 ? _a : []);
|
|
25
|
+
const value = Number(msg.value);
|
|
26
|
+
if (!isNaN(value) && value > 0 && msg.to) {
|
|
27
|
+
instructions.push(web3_js_1.SystemProgram.transfer({
|
|
28
|
+
fromPubkey: new web3_js_1.PublicKey(address),
|
|
29
|
+
toPubkey: new web3_js_1.PublicKey(msg.to),
|
|
30
|
+
lamports: value,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
if (msg.computeUnitLimit !== undefined) {
|
|
34
|
+
instructions.push(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: msg.computeUnitLimit }));
|
|
35
|
+
}
|
|
36
|
+
if (msg.computeUnitPrice !== undefined) {
|
|
37
|
+
instructions.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: msg.computeUnitPrice }));
|
|
38
|
+
}
|
|
39
|
+
const message = new web3_js_1.TransactionMessage({
|
|
40
|
+
payerKey: new web3_js_1.PublicKey(address),
|
|
41
|
+
instructions,
|
|
42
|
+
recentBlockhash: msg.blockHash,
|
|
43
|
+
}).compileToV0Message();
|
|
44
|
+
return new web3_js_1.VersionedTransaction(message);
|
|
45
|
+
}
|
|
46
|
+
function solanaSignTx(msg, provider, address) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const transaction = buildTransaction(msg, address);
|
|
49
|
+
const signedTransaction = yield provider.signTransaction(transaction);
|
|
50
|
+
return {
|
|
51
|
+
serialized: Buffer.from(signedTransaction.serialize()).toString("base64"),
|
|
52
|
+
signatures: signedTransaction.signatures.map((signature) => Buffer.from(signature).toString("base64")),
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function solanaSendTx(msg, provider, address) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const transaction = buildTransaction(msg, address);
|
|
59
|
+
const { signature } = yield provider.signAndSendTransaction(transaction);
|
|
60
|
+
return { signature };
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=solana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { PublicKey, VersionedTransaction } from "@solana/web3.js";
|
|
1
2
|
import { providers } from "ethers";
|
|
2
3
|
import { BtcAccount } from "./bitcoin";
|
|
4
|
+
import { SolanaAccount } from "./solana";
|
|
3
5
|
export type PhantomEvmProvider = providers.ExternalProvider & {
|
|
4
6
|
_metamask: {
|
|
5
7
|
isUnlocked: () => boolean;
|
|
@@ -18,4 +20,12 @@ export type PhantomUtxoProvider = providers.ExternalProvider & {
|
|
|
18
20
|
}[];
|
|
19
21
|
}): Promise<Uint8Array>;
|
|
20
22
|
};
|
|
23
|
+
export type PhantomSolanaProvider = providers.ExternalProvider & {
|
|
24
|
+
publicKey?: PublicKey;
|
|
25
|
+
connect(): Promise<SolanaAccount>;
|
|
26
|
+
signTransaction(transaction: VersionedTransaction): Promise<VersionedTransaction>;
|
|
27
|
+
signAndSendTransaction(transaction: VersionedTransaction): Promise<{
|
|
28
|
+
signature: any;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
21
31
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,gBAAgB,GAAG;IAC5D,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,OAAO,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,GAAG;IAC7D,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7C,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,KAChB,OAAO,CAAC;QACX,SAAS,EAAE,UAAU,CAAC;KACvB,CAAC,CAAC;IACH,QAAQ,CACN,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;QAAE,YAAY,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAA;KAAE,GACvG,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,gBAAgB,GAAG;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAClC,eAAe,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,sBAAsB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CACxF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapeshiftoss/hdwallet-phantom",
|
|
3
|
-
"version": "1.55.
|
|
3
|
+
"version": "1.55.11-mipd.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2",
|
|
18
|
-
"@shapeshiftoss/hdwallet-core": "^1.55.
|
|
18
|
+
"@shapeshiftoss/hdwallet-core": "^1.55.11-mipd.1",
|
|
19
|
+
"@solana/web3.js": "^1.95.3",
|
|
19
20
|
"base64-js": "^1.5.1",
|
|
20
21
|
"bitcoinjs-message": "^2.0.0",
|
|
21
22
|
"ethers": "5.7.2",
|
|
@@ -24,5 +25,5 @@
|
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/lodash": "^4.14.168"
|
|
26
27
|
},
|
|
27
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "05e6692097c656665801e1c4433aa9a7c5bc0508"
|
|
28
29
|
}
|
package/src/adapter.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
2
|
|
|
3
3
|
import { PhantomHDWallet } from "./phantom";
|
|
4
|
-
import { PhantomEvmProvider, PhantomUtxoProvider } from "./types";
|
|
4
|
+
import { PhantomEvmProvider, PhantomSolanaProvider, PhantomUtxoProvider } from "./types";
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
7
7
|
interface Window {
|
|
8
8
|
phantom?: {
|
|
9
9
|
ethereum?: PhantomEvmProvider;
|
|
10
10
|
bitcoin?: PhantomUtxoProvider;
|
|
11
|
-
|
|
12
|
-
// https://github.com/anza-xyz/wallet-adapter/blob/3761cd8cc867da39da7c0b070bbf8779402cff36/packages/wallets/phantom/src/adapter.ts#L36
|
|
13
|
-
solana?: any;
|
|
11
|
+
solana?: PhantomSolanaProvider;
|
|
14
12
|
};
|
|
15
13
|
}
|
|
16
14
|
}
|
|
@@ -33,8 +31,9 @@ export class PhantomAdapter {
|
|
|
33
31
|
public async pairDevice(): Promise<PhantomHDWallet | undefined> {
|
|
34
32
|
const evmProvider = window.phantom?.ethereum;
|
|
35
33
|
const bitcoinProvider = window.phantom?.bitcoin;
|
|
34
|
+
const solanaProvider = window.phantom?.solana;
|
|
36
35
|
|
|
37
|
-
if (!evmProvider || !bitcoinProvider) {
|
|
36
|
+
if (!evmProvider || !bitcoinProvider || !solanaProvider) {
|
|
38
37
|
window.open("https://phantom.app/", "_blank");
|
|
39
38
|
console.error("Please install Phantom!");
|
|
40
39
|
throw new Error("Phantom provider not found");
|
|
@@ -51,7 +50,7 @@ export class PhantomAdapter {
|
|
|
51
50
|
console.error("Could not get Phantom accounts. ");
|
|
52
51
|
throw error;
|
|
53
52
|
}
|
|
54
|
-
const wallet = new PhantomHDWallet(evmProvider, bitcoinProvider);
|
|
53
|
+
const wallet = new PhantomHDWallet(evmProvider, bitcoinProvider, solanaProvider);
|
|
55
54
|
await wallet.initialize();
|
|
56
55
|
const deviceID = await wallet.getDeviceID();
|
|
57
56
|
this.keyring.add(wallet, deviceID);
|