@dynamic-labs/multi-wallet 0.11.25 → 0.11.27
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/package.json +2 -1
- package/src/data/wallet-links.json +28 -0
- package/src/errors.d.ts +2 -0
- package/src/errors.js +7 -0
- package/src/errors.js.map +1 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/multi-wallet.js +4 -0
- package/src/multi-wallet.js.map +1 -1
- package/src/utils/message.d.ts +4 -3
- package/src/utils/message.js +4 -19
- package/src/utils/message.js.map +1 -1
- package/src/wallets/ethereum/BloctoEvm.d.ts +32 -0
- package/src/wallets/ethereum/BloctoEvm.js +138 -0
- package/src/wallets/ethereum/BloctoEvm.js.map +1 -0
- package/src/wallets/solana/phantom-ledger.d.ts +11 -0
- package/src/wallets/solana/phantom-ledger.js +73 -0
- package/src/wallets/solana/phantom-ledger.js.map +1 -0
- package/src/wallets/solana/solProviderHelper.js +1 -0
- package/src/wallets/solana/solProviderHelper.js.map +1 -1
- package/src/wallets/wallet-connector.d.ts +2 -1
- package/src/wallets/window.d.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/multi-wallet",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.27",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org"
|
|
6
6
|
},
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"@solana/web3.js": "^1.50.1",
|
|
13
13
|
"@coinbase/wallet-sdk": "^3.4.0",
|
|
14
14
|
"@walletconnect/client": "^1.8.0",
|
|
15
|
+
"@blocto/sdk": "^0.3.0-beta.2",
|
|
15
16
|
"@walletconnect/ethereum-provider": "^1.7.8",
|
|
16
17
|
"@onflow/fcl": "1.2.1"
|
|
17
18
|
},
|
|
@@ -111,6 +111,20 @@
|
|
|
111
111
|
"disabled": false
|
|
112
112
|
}
|
|
113
113
|
},
|
|
114
|
+
"bloctoevm": {
|
|
115
|
+
"desktop": {
|
|
116
|
+
"chrome": "",
|
|
117
|
+
"firefox": "",
|
|
118
|
+
"brave": "",
|
|
119
|
+
"edge": "",
|
|
120
|
+
"safari": ""
|
|
121
|
+
},
|
|
122
|
+
"mobile": {
|
|
123
|
+
"android": "",
|
|
124
|
+
"ios": "",
|
|
125
|
+
"disabled": false
|
|
126
|
+
}
|
|
127
|
+
},
|
|
114
128
|
"bravesol": {
|
|
115
129
|
"desktop": {
|
|
116
130
|
"chrome": "",
|
|
@@ -2323,6 +2337,20 @@
|
|
|
2323
2337
|
"disabled": false
|
|
2324
2338
|
}
|
|
2325
2339
|
},
|
|
2340
|
+
"phantomledger": {
|
|
2341
|
+
"desktop": {
|
|
2342
|
+
"chrome": "https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa",
|
|
2343
|
+
"firefox": "https://addons.mozilla.org/en-US/firefox/addon/phantom-app/",
|
|
2344
|
+
"brave": "https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa",
|
|
2345
|
+
"edge": "https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa",
|
|
2346
|
+
"safari": ""
|
|
2347
|
+
},
|
|
2348
|
+
"mobile": {
|
|
2349
|
+
"android": "https://play.google.com/store/apps/details?id=app.phantom",
|
|
2350
|
+
"ios": "https://apps.apple.com/us/app/phantom-solana-wallet/id1598432977",
|
|
2351
|
+
"disabled": true
|
|
2352
|
+
}
|
|
2353
|
+
},
|
|
2326
2354
|
"glow": {
|
|
2327
2355
|
"desktop": {
|
|
2328
2356
|
"chrome": "https://chrome.google.com/webstore/detail/glow-solana-wallet-beta/ojbcfhjmpigfobfclfflafhblgemeidi",
|
package/src/errors.d.ts
ADDED
package/src/errors.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C"}
|
package/src/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import Console from './utils/console';
|
|
|
2
2
|
import './polyfills';
|
|
3
3
|
export * from './multi-wallet';
|
|
4
4
|
export * from './types';
|
|
5
|
+
export * from './errors';
|
|
5
6
|
export { Console };
|
|
6
7
|
export type { WalletConnector, Chain, FetchPublicAddressOpts, } from './wallets/wallet-connector';
|
|
7
8
|
export { generateMessageToSign } from './utils/message';
|
package/src/index.js
CHANGED
|
@@ -23,6 +23,7 @@ exports.Console = console_1.default;
|
|
|
23
23
|
require("./polyfills");
|
|
24
24
|
__exportStar(require("./multi-wallet"), exports);
|
|
25
25
|
__exportStar(require("./types"), exports);
|
|
26
|
+
__exportStar(require("./errors"), exports);
|
|
26
27
|
var message_1 = require("./utils/message");
|
|
27
28
|
Object.defineProperty(exports, "generateMessageToSign", { enumerable: true, get: function () { return message_1.generateMessageToSign; } });
|
|
28
29
|
var isMobile_1 = require("./utils/isMobile");
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAAsC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAAsC;AAO7B,kBAPF,iBAAO,CAOE;AALhB,uBAAqB;AAErB,iDAA+B;AAC/B,0CAAwB;AACxB,2CAAyB;AAQzB,2CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,6CAA8D;AAArD,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEnC,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,uDAG+B;AAF7B,+GAAA,cAAc,OAAA;AACd,yHAAA,wBAAwB,OAAA;AAE1B,mDAAqD;AAA5C,6GAAA,cAAc,OAAA;AAGvB,kEAAgD;AAChD,6DAA2C;AAI3C,wDAAsC"}
|
package/src/multi-wallet.js
CHANGED
|
@@ -26,6 +26,8 @@ const GameStop_1 = __importDefault(require("./wallets/ethereum/injected/GameStop
|
|
|
26
26
|
const ExodusEvm_1 = __importDefault(require("./wallets/ethereum/injected/ExodusEvm"));
|
|
27
27
|
const ExodusSol_1 = __importDefault(require("./wallets/solana/injected/ExodusSol"));
|
|
28
28
|
const BloctoInjected_1 = __importDefault(require("./wallets/ethereum/injected/BloctoInjected"));
|
|
29
|
+
const BloctoEvm_1 = __importDefault(require("./wallets/ethereum/BloctoEvm"));
|
|
30
|
+
const phantom_ledger_1 = __importDefault(require("./wallets/solana/phantom-ledger"));
|
|
29
31
|
let wallets = [];
|
|
30
32
|
const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
31
33
|
appLogoUrl: '',
|
|
@@ -49,6 +51,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
|
49
51
|
new slope_1.default(),
|
|
50
52
|
new dapper_1.default({ appLogoUrl, appName }),
|
|
51
53
|
new blocto_1.default({ appLogoUrl, appName }),
|
|
54
|
+
new BloctoEvm_1.default({ evmNetworks }),
|
|
52
55
|
new BloctoInjected_1.default({ evmNetworks }),
|
|
53
56
|
new walletConnect_1.default({ evmNetworks, walletName: 'WalletConnect' }),
|
|
54
57
|
new BraveSol_1.default(),
|
|
@@ -59,6 +62,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
|
59
62
|
new ExodusSol_1.default(),
|
|
60
63
|
new Opera_1.default({ evmNetworks }),
|
|
61
64
|
new myalgo_1.default(),
|
|
65
|
+
new phantom_ledger_1.default(),
|
|
62
66
|
...filtered,
|
|
63
67
|
];
|
|
64
68
|
// Memoize the wallets
|
package/src/multi-wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,6EAAoD;AAEpD,2EAAmD;AACnD,mEAA2C;AAC3C,yEAAiD;AACjD,iEAAyC;AACzC,4EAAoD;AACpD,mEAA2C;AAC3C,mEAA2C;AAE3C,+CAA8D;AAC9D,qDAAqD;AACrD,qEAAkE;AAClE,yDAG+B;AAC/B,uEAA+C;AAC/C,oFAA4D;AAC5D,8EAAsD;AACtD,kFAA0D;AAC1D,8GAAsF;AACtF,oFAA4D;AAC5D,sFAA8D;AAC9D,oFAA4D;AAC5D,gGAAwE;
|
|
1
|
+
{"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":"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"}
|
package/src/utils/message.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export interface MessageParameters {
|
|
2
|
-
|
|
2
|
+
blockchain: string;
|
|
3
|
+
chainId?: number;
|
|
3
4
|
domain: string;
|
|
4
5
|
issuedAt?: string;
|
|
5
6
|
nonce: string;
|
|
@@ -8,5 +9,5 @@ export interface MessageParameters {
|
|
|
8
9
|
statement?: string;
|
|
9
10
|
uri: string;
|
|
10
11
|
}
|
|
11
|
-
export declare const generateMessageToSign: ({
|
|
12
|
-
export declare const getEip55Address: (publicKey: string, chainId?:
|
|
12
|
+
export declare const generateMessageToSign: ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt, statement, requestId, }: MessageParameters) => string;
|
|
13
|
+
export declare const getEip55Address: (publicKey: string, chainId?: number) => string;
|
package/src/utils/message.js
CHANGED
|
@@ -6,35 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getEip55Address = exports.generateMessageToSign = void 0;
|
|
7
7
|
const utils_1 = require("ethers/lib/utils");
|
|
8
8
|
const console_1 = __importDefault(require("./console"));
|
|
9
|
-
|
|
10
|
-
// https://docs.login.xyz/general-information/siwe-overview/eip-4361
|
|
11
|
-
// TODO:
|
|
12
|
-
// - We might need to add prefix: \x19Ethereum Signed Message:\n<length of message> as per EIP-712
|
|
13
|
-
// - This implementation is missing some of the optional values
|
|
14
|
-
// - The work above and more should be covered in DYN-252
|
|
15
|
-
// internal mapping of blockchain abbrev to full network name
|
|
16
|
-
const networkNames = {
|
|
9
|
+
const fullBlockchainNames = {
|
|
17
10
|
ALGO: 'Algorand',
|
|
18
11
|
ETH: 'Ethereum',
|
|
19
12
|
EVM: 'Ethereum',
|
|
20
13
|
SOL: 'Solana',
|
|
21
14
|
};
|
|
22
|
-
|
|
23
|
-
// this is an ethereum standard, so does not currently support solana
|
|
24
|
-
const chainIds = {
|
|
25
|
-
ETH: '1',
|
|
26
|
-
EVM: '1',
|
|
27
|
-
SOL: undefined,
|
|
28
|
-
};
|
|
29
|
-
const generateMessageToSign = ({ chain, domain, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, }) => {
|
|
15
|
+
const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, }) => {
|
|
30
16
|
// This format follows the sign-in with ethereum (SIWE) standard,
|
|
31
17
|
// but we are using it also for non-ethereum wallets for now (eg. Solana)
|
|
32
18
|
// for more context on format and fields, please see:
|
|
33
19
|
// https://docs.login.xyz/general-information/siwe-overview/eip-4361
|
|
34
|
-
const
|
|
35
|
-
const header = `${domain} wants you to sign in with your ${
|
|
20
|
+
const blockchainName = fullBlockchainNames[blockchain.toUpperCase()];
|
|
21
|
+
const header = `${domain} wants you to sign in with your ${blockchainName} account:`;
|
|
36
22
|
// This is only required for Ethereum-based wallets
|
|
37
|
-
const chainId = chainIds[chain.toUpperCase()];
|
|
38
23
|
const messageAddress = (0, exports.getEip55Address)(publicKey, chainId);
|
|
39
24
|
const prefix = [header, messageAddress].join('\n');
|
|
40
25
|
const prefixWithStatement = `${[prefix, statement].join('\n\n')}\n`;
|
package/src/utils/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA8C;AAE9C,wDAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA8C;AAE9C,wDAAgC;AAEhC,MAAM,mBAAmB,GAA8B;IACrD,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;CACd,CAAC;AAcK,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACnC,SAAS,EACT,SAAS,GACS,EAAU,EAAE;IAC9B,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,oEAAoE;IACpE,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,cAAc,WAAW,CAAC;IACrF,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAEpE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,IAAI,OAAO,EAAE;QACX,YAAY,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;KAC3C;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAClC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5D,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAC5C,YAAY,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,EAAE,CAAC,CAAC;IAE1D,IAAI,SAAS,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AA/CW,QAAA,qBAAqB,yBA+ChC;AAEF,4EAA4E;AAC5E,2EAA2E;AAC3E,6CAA6C;AACtC,MAAM,eAAe,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EACR,EAAE;IACV,IAAI;QACF,IAAI,OAAO,EAAE;YACX,OAAO,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,iBAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import BloctoSDK from '@blocto/sdk';
|
|
2
|
+
import { Chain, WalletConnector } from '../wallet-connector';
|
|
3
|
+
import { EvmNetwork } from './evm-network';
|
|
4
|
+
declare class BloctoEvm implements WalletConnector {
|
|
5
|
+
private client?;
|
|
6
|
+
name: string;
|
|
7
|
+
evmNetworks: EvmNetwork[];
|
|
8
|
+
canConnectViaQrCode: boolean;
|
|
9
|
+
canConnectViaCustodialService: boolean;
|
|
10
|
+
connectedChain: Chain;
|
|
11
|
+
supportedChains: Chain[];
|
|
12
|
+
chainID: string;
|
|
13
|
+
constructor({ evmNetworks }: {
|
|
14
|
+
evmNetworks: EvmNetwork[];
|
|
15
|
+
});
|
|
16
|
+
private getClient;
|
|
17
|
+
fetchPublicAddress(): Promise<string | undefined>;
|
|
18
|
+
connect(): Promise<void>;
|
|
19
|
+
getBalance(): Promise<string | undefined>;
|
|
20
|
+
getConnectedAccounts(): Promise<string[]>;
|
|
21
|
+
getSigner(): Promise<BloctoSDK>;
|
|
22
|
+
getWeb3Provider(): undefined;
|
|
23
|
+
isInstalledOnBrowser(): boolean;
|
|
24
|
+
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
25
|
+
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
26
|
+
supportsNetworkSwitching(): boolean;
|
|
27
|
+
switchNetwork(): Promise<void>;
|
|
28
|
+
setupEventListeners(): void;
|
|
29
|
+
teardownEventListeners(): void;
|
|
30
|
+
endSession?(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export default BloctoEvm;
|
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const sdk_1 = __importDefault(require("@blocto/sdk"));
|
|
16
|
+
const utils_1 = require("ethers/lib/utils");
|
|
17
|
+
const ethers_1 = require("ethers");
|
|
18
|
+
const constants_1 = require("../constants");
|
|
19
|
+
//TODO - DYN-1020 Add support for multi-chain-IDs
|
|
20
|
+
class BloctoEvm {
|
|
21
|
+
constructor({ evmNetworks }) {
|
|
22
|
+
this.name = 'bloctoevm';
|
|
23
|
+
this.canConnectViaQrCode = false;
|
|
24
|
+
this.canConnectViaCustodialService = true;
|
|
25
|
+
this.connectedChain = 'EVM';
|
|
26
|
+
this.supportedChains = ['EVM', 'ETH'];
|
|
27
|
+
this.chainID = '0x89'; // Polygon
|
|
28
|
+
//filter out networks that are not supported by Blocto
|
|
29
|
+
this.evmNetworks = evmNetworks;
|
|
30
|
+
}
|
|
31
|
+
// TODO add cache for chainID to switch it
|
|
32
|
+
getClient() {
|
|
33
|
+
if (!this.client) {
|
|
34
|
+
this.client = new sdk_1.default({
|
|
35
|
+
ethereum: {
|
|
36
|
+
chainId: this.chainID,
|
|
37
|
+
//TODO we need to support different RPCs for different networks
|
|
38
|
+
rpc: `https://polygon-mainnet.infura.io/v3/${constants_1.infuraId}`,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return this.client;
|
|
43
|
+
}
|
|
44
|
+
fetchPublicAddress() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const client = this.getClient();
|
|
47
|
+
if (client.ethereum) {
|
|
48
|
+
const addresses = yield client.ethereum.request({
|
|
49
|
+
method: 'eth_requestAccounts',
|
|
50
|
+
});
|
|
51
|
+
if (addresses.length > 0) {
|
|
52
|
+
return addresses[0];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
connect() {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
yield this.fetchPublicAddress();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//TODO - DYN-1020 Add support for multi-chain
|
|
64
|
+
getBalance() {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const address = yield this.fetchPublicAddress();
|
|
67
|
+
if (address) {
|
|
68
|
+
const provider = ethers_1.ethers.getDefaultProvider('matic', {
|
|
69
|
+
infura: constants_1.infuraId,
|
|
70
|
+
});
|
|
71
|
+
const result = yield provider.getBalance(address);
|
|
72
|
+
if (!result)
|
|
73
|
+
return;
|
|
74
|
+
return ethers_1.ethers.utils.formatEther(result);
|
|
75
|
+
}
|
|
76
|
+
return undefined;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
getConnectedAccounts() {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const client = this.getClient();
|
|
82
|
+
let accounts = [];
|
|
83
|
+
if (client.ethereum) {
|
|
84
|
+
accounts = yield client.ethereum.request({ method: 'eth_accounts' });
|
|
85
|
+
}
|
|
86
|
+
return accounts;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
getSigner() {
|
|
90
|
+
return Promise.resolve(this.getClient());
|
|
91
|
+
}
|
|
92
|
+
getWeb3Provider() {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
isInstalledOnBrowser() {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
proveOwnership(messageToSign) {
|
|
99
|
+
return this.signMessage(messageToSign);
|
|
100
|
+
}
|
|
101
|
+
signMessage(messageToSign) {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const client = this.getClient();
|
|
104
|
+
const hexMessageToSign = (0, utils_1.hexlify)((0, utils_1.toUtf8Bytes)(messageToSign));
|
|
105
|
+
let signedMessage;
|
|
106
|
+
if (client.ethereum) {
|
|
107
|
+
signedMessage = yield client.ethereum.request({
|
|
108
|
+
method: 'personal_sign',
|
|
109
|
+
params: [hexMessageToSign],
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
return signedMessage;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
supportsNetworkSwitching() {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
// *********************
|
|
119
|
+
// Unimplemented methods
|
|
120
|
+
// *********************
|
|
121
|
+
// TODO implement as part of DYN-1020
|
|
122
|
+
switchNetwork() {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
return Promise.resolve();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
setupEventListeners() {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
teardownEventListeners() {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
endSession() {
|
|
134
|
+
return Promise.resolve();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.default = BloctoEvm;
|
|
138
|
+
//# sourceMappingURL=BloctoEvm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BloctoEvm.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/BloctoEvm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,4CAAwD;AACxD,mCAAgC;AAEhC,4CAAwC;AAIxC,kDAAkD;AAClD,MAAM,SAAS;IAWb,YAAY,EAAE,WAAW,EAAiC;QAT1D,SAAI,GAAG,WAAW,CAAC;QAEnB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,IAAI,CAAC;QACrC,mBAAc,GAAU,KAAK,CAAC;QAC9B,oBAAe,GAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1C,YAAO,GAAG,MAAM,CAAC,CAAC,UAAU;QAG1B,sDAAsD;QACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IACD,0CAA0C;IAClC,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAS,CAAC;gBAC1B,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,+DAA+D;oBAC/D,GAAG,EAAE,wCAAwC,oBAAQ,EAAE;iBACxD;aACF,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEK,kBAAkB;;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC9C,MAAM,EAAE,qBAAqB;iBAC9B,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;iBACrB;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEK,OAAO;;YACX,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClC,CAAC;KAAA;IAED,8CAA8C;IACxC,UAAU;;YACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChD,IAAI,OAAO,EAAE;gBACX,MAAM,QAAQ,GAAG,eAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE;oBAClD,MAAM,EAAE,oBAAQ;iBACjB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,OAAO,eAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACzC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEK,oBAAoB;;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;aACtE;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED,SAAS;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,aAAqB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEK,WAAW,CAAC,aAAqB;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAAC,IAAA,mBAAW,EAAC,aAAa,CAAC,CAAC,CAAC;YAC7D,IAAI,aAAa,CAAC;YAClB,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5C,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBAC3B,CAAC,CAAC;aACJ;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAED,wBAAwB;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IAExB,qCAAqC;IAC/B,aAAa;;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KAAA;IAED,mBAAmB;QACjB,OAAO;IACT,CAAC;IAED,sBAAsB;QACpB,OAAO;IACT,CAAC;IACD,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import Phantom from './phantom';
|
|
3
|
+
export declare const MEMO_PROGRAM_ID: PublicKey;
|
|
4
|
+
declare class PhantomLedger extends Phantom {
|
|
5
|
+
name: string;
|
|
6
|
+
signMessage(): Promise<string | undefined>;
|
|
7
|
+
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
8
|
+
signMessageViaTransaction(messageToSign: string): Promise<string>;
|
|
9
|
+
private buildAuthTx;
|
|
10
|
+
}
|
|
11
|
+
export default PhantomLedger;
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.MEMO_PROGRAM_ID = void 0;
|
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
17
|
+
const errors_1 = require("../../errors");
|
|
18
|
+
const extractNonce_1 = require("../../utils/extractNonce");
|
|
19
|
+
const phantom_1 = __importDefault(require("./phantom"));
|
|
20
|
+
exports.MEMO_PROGRAM_ID = new web3_js_1.PublicKey('MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr');
|
|
21
|
+
class PhantomLedger extends phantom_1.default {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
this.name = 'Phantom Ledger';
|
|
25
|
+
this.buildAuthTx = (message) => {
|
|
26
|
+
const transaction = new web3_js_1.Transaction();
|
|
27
|
+
transaction.add(new web3_js_1.TransactionInstruction({
|
|
28
|
+
data: Buffer.from(message, 'utf8'),
|
|
29
|
+
keys: [],
|
|
30
|
+
programId: exports.MEMO_PROGRAM_ID,
|
|
31
|
+
}));
|
|
32
|
+
return transaction;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
signMessage() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
throw new errors_1.NotSupportedError(`Message signing is currently not supported on Phantom Ledger
|
|
38
|
+
You can use signMessageViaTransaction instead to achieve similar functionality
|
|
39
|
+
by signing a transaction with a memo instruction.
|
|
40
|
+
You can read more about it here https://github.com/solana-labs/solana/issues/21366`);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
proveOwnership(messageToSign) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const nonce = (0, extractNonce_1.extractNonce)(messageToSign);
|
|
46
|
+
if (!nonce) {
|
|
47
|
+
throw new Error('Nonce missing');
|
|
48
|
+
}
|
|
49
|
+
return this.signMessageViaTransaction(nonce);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
signMessageViaTransaction(messageToSign) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const address = yield this.fetchPublicAddress();
|
|
55
|
+
if (!address) {
|
|
56
|
+
throw new Error('Address missing');
|
|
57
|
+
}
|
|
58
|
+
const transaction = this.buildAuthTx(messageToSign);
|
|
59
|
+
transaction.feePayer = new web3_js_1.PublicKey(address);
|
|
60
|
+
transaction.recentBlockhash = (yield this.getWeb3Provider().getLatestBlockhash()).blockhash;
|
|
61
|
+
const signer = yield this.getSigner();
|
|
62
|
+
if (!signer) {
|
|
63
|
+
throw new Error('Signer not found');
|
|
64
|
+
}
|
|
65
|
+
const signedTransaction = yield signer.signTransaction(transaction);
|
|
66
|
+
return JSON.stringify({
|
|
67
|
+
signedTransaction: signedTransaction.serialize(),
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.default = PhantomLedger;
|
|
73
|
+
//# sourceMappingURL=phantom-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phantom-ledger.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/solana/phantom-ledger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAIyB;AAEzB,yCAAiD;AACjD,2DAAwD;AAExD,wDAAgC;AAEnB,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEF,MAAM,aAAc,SAAQ,iBAAO;IAAnC;;QACW,SAAI,GAAG,gBAAgB,CAAC;QAgDzB,gBAAW,GAAG,CAAC,OAAe,EAAe,EAAE;YACrD,MAAM,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;YAEtC,WAAW,CAAC,GAAG,CACb,IAAI,gCAAsB,CAAC;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClC,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,uBAAe;aAC3B,CAAC,CACH,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IA1DgB,WAAW;;YACxB,MAAM,IAAI,0BAAiB,CACzB;;;yFAGmF,CACpF,CAAC;QACJ,CAAC;KAAA;IAEc,cAAc,CAC3B,aAAqB;;YAErB,MAAM,KAAK,GAAG,IAAA,2BAAY,EAAC,aAAa,CAAC,CAAC;YAE1C,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;aAClC;YAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;KAAA;IAEK,yBAAyB,CAAC,aAAqB;;YACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACpD,WAAW,CAAC,QAAQ,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,WAAW,CAAC,eAAe,GAAG,CAC5B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,kBAAkB,EAAE,CAClD,CAAC,SAAS,CAAC;YAEZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACrC;YAED,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;KAAA;CAcF;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solProviderHelper.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/solana/solProviderHelper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"solProviderHelper.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/solana/solProviderHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { Connection } from '@solana/web3.js';
|
|
3
|
+
import BloctoSDK from '@blocto/sdk';
|
|
3
4
|
import { ISolana } from './window';
|
|
4
5
|
import { IMyAlgoSigner } from './algorand/myalgoSigner';
|
|
5
6
|
export declare type Chain = 'ETH' | 'FLOW' | 'SOL' | 'EVM' | 'ALGO';
|
|
@@ -28,7 +29,7 @@ export interface WalletConnector {
|
|
|
28
29
|
fetchPublicAddress(opts?: FetchPublicAddressOpts, nonce?: string): Promise<string | undefined>;
|
|
29
30
|
getBalance(): Promise<string | undefined>;
|
|
30
31
|
getConnectedAccounts(): Promise<string[]>;
|
|
31
|
-
getSigner(): Promise<ethers.providers.JsonRpcSigner | ISolana | IMyAlgoSigner | undefined>;
|
|
32
|
+
getSigner(): Promise<ethers.providers.JsonRpcSigner | ISolana | IMyAlgoSigner | BloctoSDK | undefined>;
|
|
32
33
|
getWeb3Provider(): ethers.providers.Web3Provider | Connection | undefined | void;
|
|
33
34
|
isInstalledOnBrowser(): boolean;
|
|
34
35
|
name: string;
|
package/src/wallets/window.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Coinbase adds itself to window.coinbaseWalletExtension
|
|
6
6
|
* and also provider and previousProvider
|
|
7
7
|
*/
|
|
8
|
+
import { Transaction } from '@solana/web3.js';
|
|
8
9
|
export interface IProvider {
|
|
9
10
|
isBlocto?: boolean;
|
|
10
11
|
isBraveWallet?: boolean;
|
|
@@ -59,4 +60,5 @@ export interface ISolana {
|
|
|
59
60
|
removeAllListeners: () => void;
|
|
60
61
|
removeListener: (eventMessage: string, callback?: (publickey: string) => void) => Promise<void | object>;
|
|
61
62
|
signMessage: (message: Uint8Array, encoding?: string) => Promise<void | object>;
|
|
63
|
+
signTransaction: (transaction: Transaction) => Promise<Transaction>;
|
|
62
64
|
}
|