@dynamic-labs/multi-wallet 0.14.30-beta-minimal.0 → 0.14.31

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.
Files changed (64) hide show
  1. package/package.json +11 -1
  2. package/src/multi-wallet.js +22 -3
  3. package/src/multi-wallet.js.map +1 -1
  4. package/src/utils/convertors.d.ts +2 -19
  5. package/src/utils/convertors.js.map +1 -1
  6. package/src/utils/isWalletConnectV2Enabled.d.ts +1 -0
  7. package/src/utils/isWalletConnectV2Enabled.js +10 -0
  8. package/src/utils/isWalletConnectV2Enabled.js.map +1 -0
  9. package/src/utils/walletConnect.d.ts +2 -1
  10. package/src/utils/walletConnect.js +9 -1
  11. package/src/utils/walletConnect.js.map +1 -1
  12. package/src/wallets/algorand/myalgo.d.ts +34 -0
  13. package/src/wallets/algorand/myalgo.js +178 -0
  14. package/src/wallets/algorand/myalgo.js.map +1 -0
  15. package/src/wallets/algorand/myalgoSigner.d.ts +21 -0
  16. package/src/wallets/algorand/myalgoSigner.js +23 -0
  17. package/src/wallets/algorand/myalgoSigner.js.map +1 -0
  18. package/src/wallets/constants.d.ts +2 -6
  19. package/src/wallets/constants.js.map +1 -1
  20. package/src/wallets/ethereum/BloctoEvm.d.ts +34 -0
  21. package/src/wallets/ethereum/BloctoEvm.js +135 -0
  22. package/src/wallets/ethereum/BloctoEvm.js.map +1 -0
  23. package/src/wallets/ethereum/fortmatic.d.ts +34 -0
  24. package/src/wallets/ethereum/fortmatic.js +93 -0
  25. package/src/wallets/ethereum/fortmatic.js.map +1 -0
  26. package/src/wallets/flow/blocto.d.ts +13 -0
  27. package/src/wallets/flow/blocto.js +35 -0
  28. package/src/wallets/flow/blocto.js.map +1 -0
  29. package/src/wallets/flow/dapper.d.ts +13 -0
  30. package/src/wallets/flow/dapper.js +35 -0
  31. package/src/wallets/flow/dapper.js.map +1 -0
  32. package/src/wallets/flow/flow-provider.d.ts +30 -0
  33. package/src/wallets/flow/flow-provider.js +175 -0
  34. package/src/wallets/flow/flow-provider.js.map +1 -0
  35. package/src/wallets/getTrustConnector.d.ts +2 -1
  36. package/src/wallets/getTrustConnector.js +5 -0
  37. package/src/wallets/getTrustConnector.js.map +1 -1
  38. package/src/wallets/getWalletConnectConnector.d.ts +2 -1
  39. package/src/wallets/getWalletConnectConnector.js +11 -4
  40. package/src/wallets/getWalletConnectConnector.js.map +1 -1
  41. package/src/wallets/starknet/argentx.d.ts +6 -0
  42. package/src/wallets/starknet/argentx.js +11 -0
  43. package/src/wallets/starknet/argentx.js.map +1 -0
  44. package/src/wallets/starknet/braavos.d.ts +6 -0
  45. package/src/wallets/starknet/braavos.js +11 -0
  46. package/src/wallets/starknet/braavos.js.map +1 -0
  47. package/src/wallets/starknet/ethereumContractAbi.json +340 -0
  48. package/src/wallets/starknet/starknetProvider.d.ts +31 -0
  49. package/src/wallets/starknet/starknetProvider.js +98 -0
  50. package/src/wallets/starknet/starknetProvider.js.map +1 -0
  51. package/src/wallets/starknet/starknetProviderHelper.d.ts +17 -0
  52. package/src/wallets/starknet/starknetProviderHelper.js +159 -0
  53. package/src/wallets/starknet/starknetProviderHelper.js.map +1 -0
  54. package/src/wallets/wallet-connector.d.ts +6 -3
  55. package/src/wallets/walletConnect/index.d.ts +1 -0
  56. package/src/wallets/walletConnect/index.js +3 -1
  57. package/src/wallets/walletConnect/index.js.map +1 -1
  58. package/src/wallets/walletConnect/trustV2.d.ts +8 -0
  59. package/src/wallets/walletConnect/trustV2.js +11 -0
  60. package/src/wallets/walletConnect/trustV2.js.map +1 -0
  61. package/src/wallets/walletConnect/walletConnectV2.d.ts +34 -0
  62. package/src/wallets/walletConnect/walletConnectV2.js +195 -0
  63. package/src/wallets/walletConnect/walletConnectV2.js.map +1 -0
  64. package/src/wallets/window.d.ts +3 -0
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const sdk_1 = tslib_1.__importDefault(require("@blocto/sdk"));
5
+ const ethers_1 = require("ethers");
6
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
7
+ const console_1 = tslib_1.__importDefault(require("../../utils/console"));
8
+ const ethProvider_1 = require("./ethProvider");
9
+ const ethProviderHelper_1 = require("./ethProviderHelper");
10
+ class BloctoEvm extends ethProvider_1.EthProvider {
11
+ constructor({ evmNetworks }) {
12
+ var _a, _b;
13
+ // Taken from : https://docs.blocto.app/blocto-sdk/javascript-sdk/evm-sdk/provider
14
+ const BLOCTO_SUPPORTED_CHAIN_IDS = [1, 4, 56, 97, 137, 80001, 43114, 43113];
15
+ const bloctoSupportedNetworks = evmNetworks.filter((n) => BLOCTO_SUPPORTED_CHAIN_IDS.includes(n.chainId));
16
+ super({ evmNetworks: bloctoSupportedNetworks });
17
+ this.LOCAL_STORAGE_KEY = 'dynamic_blocto_evm_chain_id';
18
+ this.name = 'bloctoevm';
19
+ this.canConnectViaQrCode = false;
20
+ this.canConnectViaCustodialService = true;
21
+ this.isWalletConnect = false;
22
+ this.connectedChain = 'EVM';
23
+ this.supportedChains = ['EVM', 'ETH'];
24
+ this.ethProviderHelper = new ethProviderHelper_1.EthProviderHelper();
25
+ this.supportsNetworkSwitching = () => false;
26
+ this.chainId =
27
+ Number(localStorage.getItem(this.LOCAL_STORAGE_KEY)) ||
28
+ ((_a = bloctoSupportedNetworks.find((n) => n.chainId === 137)) === null || _a === void 0 ? void 0 : _a.chainId) ||
29
+ ((_b = bloctoSupportedNetworks[0]) === null || _b === void 0 ? void 0 : _b.chainId);
30
+ }
31
+ get key() {
32
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
33
+ }
34
+ getClient() {
35
+ if (!this.client) {
36
+ const network = this.evmNetworks.find((n) => n.chainId === this.chainId);
37
+ if (network) {
38
+ this.client = new sdk_1.default({
39
+ ethereum: {
40
+ chainId: `0x${this.chainId.toString(16)}`,
41
+ rpc: network.rpcUrls[0],
42
+ },
43
+ });
44
+ }
45
+ else {
46
+ console_1.default.error("Couldn't find a configured network for Blocto EVM");
47
+ }
48
+ }
49
+ return this.client;
50
+ }
51
+ getWeb3Provider() {
52
+ const client = this.getClient();
53
+ // If there are no accounts yet, we shouldn't wrap the provider in ethers
54
+ if (client && client.ethereum && client.ethereum.accounts.length > 0) {
55
+ return new ethers_1.ethers.providers.Web3Provider(client.ethereum);
56
+ }
57
+ else {
58
+ return undefined;
59
+ }
60
+ }
61
+ // We are calling the client directly and not via Web3Provider because if we will wrap it in Ethers,
62
+ // Ethers will be making retries on failure. This becomes an issue on the connect step.
63
+ // When Blocto's modal closes prior to receiving a response with the address on the connect step,
64
+ // then ethers would retry and the modal will open again.
65
+ fetchPublicAddress() {
66
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
67
+ try {
68
+ const client = this.getClient();
69
+ if (client && client.ethereum) {
70
+ const addresses = yield client.ethereum.request({
71
+ method: 'eth_requestAccounts',
72
+ });
73
+ if (addresses.length > 0) {
74
+ return addresses[0];
75
+ }
76
+ }
77
+ return undefined;
78
+ }
79
+ catch (e) {
80
+ console_1.default.error(e);
81
+ return Promise.reject(e);
82
+ }
83
+ });
84
+ }
85
+ connect() {
86
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
87
+ yield this.fetchPublicAddress();
88
+ });
89
+ }
90
+ isInstalledOnBrowser() {
91
+ return false;
92
+ }
93
+ proveOwnership(messageToSign) {
94
+ return this.signMessage(messageToSign);
95
+ }
96
+ signMessage(messageToSign) {
97
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
98
+ try {
99
+ const signer = yield this.getSigner();
100
+ return yield (signer === null || signer === void 0 ? void 0 : signer.signMessage(messageToSign));
101
+ }
102
+ catch (e) {
103
+ if (e.message === 'User declined the signing request') {
104
+ return Promise.reject({ code: '4001' });
105
+ }
106
+ else {
107
+ return Promise.reject(e);
108
+ }
109
+ }
110
+ });
111
+ }
112
+ endSession() {
113
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
114
+ const client = this.getClient();
115
+ localStorage.removeItem('sdk.session');
116
+ if (client && client.ethereum && client.ethereum.accounts.length > 0) {
117
+ yield client.ethereum.request({ method: 'wallet_disconnect' });
118
+ }
119
+ });
120
+ }
121
+ // *********************
122
+ // Unimplemented methods
123
+ // *********************
124
+ switchNetwork() {
125
+ return Promise.resolve();
126
+ }
127
+ setupEventListeners() {
128
+ return;
129
+ }
130
+ teardownEventListeners() {
131
+ return;
132
+ }
133
+ }
134
+ exports.default = BloctoEvm;
135
+ //# 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":"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"}
@@ -0,0 +1,34 @@
1
+ import { ethers } from 'ethers';
2
+ import { Chain, WalletConnector } from '../wallet-connector';
3
+ import { EthProviderHelper } from './ethProviderHelper';
4
+ import { EthProvider } from './ethProvider';
5
+ import { EvmNetwork } from './evm-network';
6
+ declare class Fortmatic extends EthProvider implements WalletConnector {
7
+ name: string;
8
+ supportedChains: Chain[];
9
+ connectedChain: Chain;
10
+ canConnectViaQrCode: boolean;
11
+ canConnectViaCustodialService: boolean;
12
+ isWalletConnect: boolean;
13
+ ethProviderHelper: EthProviderHelper;
14
+ publicAddress: string | undefined;
15
+ private apiKey;
16
+ constructor({ evmNetworks, apiKey, }: {
17
+ apiKey: string;
18
+ evmNetworks: EvmNetwork[];
19
+ });
20
+ get key(): string;
21
+ setupEventListeners(): void;
22
+ teardownEventListeners(): void;
23
+ getFortmaticProvider(): import("fortmatic/dist/cjs/src/core/fm-provider").FmProvider;
24
+ getWeb3Provider(): ethers.providers.Web3Provider;
25
+ isInstalledOnBrowser(): boolean;
26
+ connect(): Promise<void>;
27
+ fetchPublicAddress(): Promise<string | undefined>;
28
+ signMessage(messageToSign: string): Promise<string | undefined>;
29
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
30
+ endSession(): Promise<void>;
31
+ supportsNetworkSwitching(): boolean;
32
+ providerSwitchNetwork(): Promise<void>;
33
+ }
34
+ export default Fortmatic;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const ethers_1 = require("ethers");
5
+ const fortmatic_1 = tslib_1.__importDefault(require("fortmatic"));
6
+ const console_1 = tslib_1.__importDefault(require("../../utils/console"));
7
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
8
+ const errors_1 = require("../../errors");
9
+ const ethProviderHelper_1 = require("./ethProviderHelper");
10
+ const ethProvider_1 = require("./ethProvider");
11
+ class Fortmatic extends ethProvider_1.EthProvider {
12
+ constructor({ evmNetworks, apiKey, }) {
13
+ super({ evmNetworks });
14
+ this.name = 'Fortmatic';
15
+ this.supportedChains = ['ETH', 'EVM'];
16
+ this.connectedChain = 'EVM';
17
+ this.canConnectViaQrCode = false;
18
+ this.canConnectViaCustodialService = true;
19
+ this.isWalletConnect = false;
20
+ this.ethProviderHelper = new ethProviderHelper_1.EthProviderHelper();
21
+ this.apiKey = apiKey;
22
+ }
23
+ get key() {
24
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
25
+ }
26
+ setupEventListeners() {
27
+ return;
28
+ }
29
+ teardownEventListeners() {
30
+ return;
31
+ }
32
+ getFortmaticProvider() {
33
+ const fm = new fortmatic_1.default(this.apiKey);
34
+ return fm.getProvider();
35
+ }
36
+ getWeb3Provider() {
37
+ const provider = new ethers_1.ethers.providers.Web3Provider(this.getFortmaticProvider());
38
+ return provider;
39
+ }
40
+ isInstalledOnBrowser() {
41
+ return false;
42
+ }
43
+ connect() {
44
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
+ yield this.fetchPublicAddress();
46
+ });
47
+ }
48
+ fetchPublicAddress() {
49
+ var _a;
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ const fmProvider = this.getFortmaticProvider();
52
+ try {
53
+ const [address] = yield fmProvider.enable();
54
+ return address;
55
+ }
56
+ catch (error) {
57
+ if ((error === null || error === void 0 ? void 0 : error.code) === -32603 && ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('User denied'))) {
58
+ error.code = 4001; // hack the error code to be the same as Metamask
59
+ }
60
+ throw error;
61
+ }
62
+ });
63
+ }
64
+ signMessage(messageToSign) {
65
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
66
+ const signer = this.getWeb3Provider().getSigner();
67
+ const signedMessage = yield signer.signMessage(messageToSign);
68
+ console_1.default.log('signedMessage:', signedMessage);
69
+ return signedMessage;
70
+ });
71
+ }
72
+ proveOwnership(messageToSign) {
73
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
74
+ return this.signMessage(messageToSign);
75
+ });
76
+ }
77
+ endSession() {
78
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
79
+ const fm = new fortmatic_1.default(this.apiKey);
80
+ fm.user.logout();
81
+ });
82
+ }
83
+ supportsNetworkSwitching() {
84
+ return false;
85
+ }
86
+ providerSwitchNetwork() {
87
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
88
+ throw new errors_1.DynamicError('Not supported');
89
+ });
90
+ }
91
+ }
92
+ exports.default = Fortmatic;
93
+ //# sourceMappingURL=fortmatic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fortmatic.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/fortmatic.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,kEAAwC;AAGxC,0EAA0C;AAC1C,yEAAsE;AACtE,yCAA4C;AAE5C,2DAAwD;AACxD,+CAA4C;AAG5C,MAAM,SAAU,SAAQ,yBAAW;IAcjC,YAAY,EACV,WAAW,EACX,MAAM,GAIP;QACC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QApBzB,SAAI,GAAG,WAAW,CAAC;QAEnB,oBAAe,GAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1C,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,IAAI,CAAC;QACrC,oBAAe,GAAG,KAAK,CAAC;QACxB,sBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QAY1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAA,yCAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,mBAAmB;QACjB,OAAO;IACT,CAAC;IAED,sBAAsB;QACpB,OAAO;IACT,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,GAAG,IAAI,mBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAEQ,eAAe;QACtB,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAChD,IAAI,CAAC,oBAAoB,EAAS,CACnC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,OAAO;;YACX,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClC,CAAC;KAAA;IAEK,kBAAkB;;;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/C,IAAI;gBACF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC5C,OAAO,OAAO,CAAC;aAChB;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,CAAC,KAAK,KAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,QAAQ,CAAC,aAAa,CAAC,CAAA,EAAE;oBACrE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,iDAAiD;iBACrE;gBACD,MAAM,KAAK,CAAC;aACb;;KACF;IAEK,WAAW,CAAC,aAAqB;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC9D,iBAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC7C,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAEK,cAAc,CAAC,aAAqB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,UAAU;;YACd,MAAM,EAAE,GAAG,IAAI,mBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;KAAA;IAEQ,wBAAwB;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAEc,qBAAqB;;YAClC,MAAM,IAAI,qBAAY,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC;KAAA;CACF;AAED,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Chain, WalletConnector } from '../wallet-connector';
2
+ import { FlowProvider } from './flow-provider';
3
+ declare class Blocto extends FlowProvider implements WalletConnector {
4
+ name: string;
5
+ supportedChains: Chain[];
6
+ connectedChain: Chain;
7
+ canConnectViaQrCode: boolean;
8
+ canConnectViaCustodialService: boolean;
9
+ isWalletConnect: boolean;
10
+ get key(): string;
11
+ setupConfig(): Promise<void>;
12
+ }
13
+ export default Blocto;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const fcl_1 = require("@onflow/fcl");
5
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
6
+ const flow_provider_1 = require("./flow-provider");
7
+ class Blocto extends flow_provider_1.FlowProvider {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'Blocto';
11
+ this.supportedChains = ['FLOW'];
12
+ this.connectedChain = 'FLOW';
13
+ this.canConnectViaQrCode = false;
14
+ this.canConnectViaCustodialService = true;
15
+ this.isWalletConnect = false;
16
+ }
17
+ get key() {
18
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
19
+ }
20
+ setupConfig() {
21
+ const _super = Object.create(null, {
22
+ setupConfig: { get: () => super.setupConfig }
23
+ });
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ yield _super.setupConfig.call(this);
26
+ yield (0, fcl_1.config)()
27
+ .put('challenge.scope', 'email')
28
+ .put('discovery.wallet', 'https://flow-wallet.blocto.app/authn')
29
+ .put('service.OpenID.scopes', 'email!')
30
+ .put('discovery.wallet.method', undefined);
31
+ });
32
+ }
33
+ }
34
+ exports.default = Blocto;
35
+ //# sourceMappingURL=blocto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocto.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/flow/blocto.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAErC,yEAAsE;AAGtE,mDAA+C;AAE/C,MAAM,MAAO,SAAQ,4BAAY;IAAjC;;QACE,SAAI,GAAG,QAAQ,CAAC;QAEhB,oBAAe,GAAY,CAAC,MAAM,CAAC,CAAC;QAEpC,mBAAc,GAAU,MAAM,CAAC;QAE/B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,IAAI,CAAC;QACrC,oBAAe,GAAG,KAAK,CAAC;IAe1B,CAAC;IAbC,IAAI,GAAG;QACL,OAAO,IAAA,yCAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEc,WAAW;;;;;YACxB,MAAM,OAAM,WAAW,WAAE,CAAC;YAE1B,MAAM,IAAA,YAAM,GAAE;iBACX,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC;iBAC/B,GAAG,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;iBAC/D,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC;iBACtC,GAAG,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;KAAA;CACF;AAED,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Chain, WalletConnector } from '../wallet-connector';
2
+ import { FlowProvider } from './flow-provider';
3
+ declare class Dapper extends FlowProvider implements WalletConnector {
4
+ name: string;
5
+ supportedChains: Chain[];
6
+ connectedChain: Chain;
7
+ canConnectViaQrCode: boolean;
8
+ canConnectViaCustodialService: boolean;
9
+ isWalletConnect: boolean;
10
+ get key(): string;
11
+ setupConfig(): Promise<void>;
12
+ }
13
+ export default Dapper;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const fcl_1 = require("@onflow/fcl");
5
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
6
+ const flow_provider_1 = require("./flow-provider");
7
+ class Dapper extends flow_provider_1.FlowProvider {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'Dapper';
11
+ this.supportedChains = ['FLOW'];
12
+ this.connectedChain = 'FLOW';
13
+ this.canConnectViaQrCode = false;
14
+ this.canConnectViaCustodialService = true;
15
+ this.isWalletConnect = false;
16
+ }
17
+ get key() {
18
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
19
+ }
20
+ setupConfig() {
21
+ const _super = Object.create(null, {
22
+ setupConfig: { get: () => super.setupConfig }
23
+ });
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ yield _super.setupConfig.call(this);
26
+ yield (0, fcl_1.config)()
27
+ .put('challenge.scope', undefined)
28
+ .put('discovery.wallet', 'https://accounts.meetdapper.com/fcl/authn-restricted')
29
+ .put('service.OpenID.scopes', undefined)
30
+ .put('discovery.wallet.method', 'POP/RPC');
31
+ });
32
+ }
33
+ }
34
+ exports.default = Dapper;
35
+ //# sourceMappingURL=dapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dapper.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/flow/dapper.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAErC,yEAAsE;AAGtE,mDAA+C;AAE/C,MAAM,MAAO,SAAQ,4BAAY;IAAjC;;QACE,SAAI,GAAG,QAAQ,CAAC;QAEhB,oBAAe,GAAY,CAAC,MAAM,CAAC,CAAC;QAEpC,mBAAc,GAAU,MAAM,CAAC;QAE/B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,IAAI,CAAC;QACrC,oBAAe,GAAG,KAAK,CAAC;IAkB1B,CAAC;IAhBC,IAAI,GAAG;QACL,OAAO,IAAA,yCAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEc,WAAW;;;;;YACxB,MAAM,OAAM,WAAW,WAAE,CAAC;YAE1B,MAAM,IAAA,YAAM,GAAE;iBACX,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC;iBACjC,GAAG,CACF,kBAAkB,EAClB,sDAAsD,CACvD;iBACA,GAAG,CAAC,uBAAuB,EAAE,SAAS,CAAC;iBACvC,GAAG,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;KAAA;CACF;AAED,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare const LOCAL_STORAGE: {
2
+ can: boolean;
3
+ get: (key: string) => Promise<any>;
4
+ put: (key: string, value: any) => Promise<void>;
5
+ };
6
+ export declare class FlowProvider {
7
+ protected appName?: string;
8
+ protected appLogoUrl?: string;
9
+ constructor({ appName, appLogoUrl, }: {
10
+ appLogoUrl?: string;
11
+ appName?: string;
12
+ });
13
+ isInstalledOnBrowser(): boolean;
14
+ setupEventListeners(): void;
15
+ getNetwork(): Promise<number | undefined>;
16
+ teardownEventListeners(): void;
17
+ connect(): Promise<void>;
18
+ setupConfig(): Promise<void>;
19
+ fetchPublicAddress(): Promise<string | undefined>;
20
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
21
+ signMessage(messageToSign: string): Promise<string | undefined>;
22
+ getWeb3Provider(): undefined;
23
+ getRpcProvider(): Promise<void>;
24
+ getSigner(): Promise<undefined>;
25
+ getBalance(): Promise<string | undefined>;
26
+ endSession(): Promise<void>;
27
+ supportsNetworkSwitching(): boolean;
28
+ switchNetwork(): Promise<void>;
29
+ getConnectedAccounts(): Promise<string[]>;
30
+ }
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlowProvider = exports.LOCAL_STORAGE = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+ const fcl_1 = require("@onflow/fcl");
7
+ const errors_1 = require("../../errors");
8
+ const console_1 = tslib_1.__importDefault(require("../../utils/console"));
9
+ const get = (key) => {
10
+ if (typeof window === 'undefined') {
11
+ return undefined;
12
+ }
13
+ const value = window.localStorage.getItem(key);
14
+ try {
15
+ if (value) {
16
+ return JSON.parse(value);
17
+ }
18
+ }
19
+ catch (e) {
20
+ console_1.default.error(e);
21
+ }
22
+ return undefined;
23
+ };
24
+ const set = (key, value) => {
25
+ if (typeof window !== 'undefined') {
26
+ window.localStorage.setItem(key, JSON.stringify(value));
27
+ }
28
+ };
29
+ exports.LOCAL_STORAGE = {
30
+ can: true,
31
+ get: (key) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return get(key); }),
32
+ put: (key, value) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return set(key, value); }),
33
+ };
34
+ class FlowProvider {
35
+ constructor({ appName, appLogoUrl, }) {
36
+ this.appName = appName;
37
+ this.appLogoUrl = appLogoUrl;
38
+ }
39
+ isInstalledOnBrowser() {
40
+ return false;
41
+ }
42
+ setupEventListeners() {
43
+ return;
44
+ }
45
+ getNetwork() {
46
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
+ return undefined;
48
+ });
49
+ }
50
+ teardownEventListeners() {
51
+ return;
52
+ }
53
+ connect() {
54
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
55
+ yield this.setupConfig();
56
+ yield (0, fcl_1.currentUser)().authenticate();
57
+ });
58
+ }
59
+ setupConfig() {
60
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
+ yield (0, fcl_1.config)()
62
+ .put('app.detail.title', this.appName)
63
+ .put('app.detail.icon', this.appLogoUrl)
64
+ .put('accessNode.api', 'https://rest-mainnet.onflow.org')
65
+ .put('flow.network', 'mainnet')
66
+ .put('fcl.storage', exports.LOCAL_STORAGE);
67
+ });
68
+ }
69
+ fetchPublicAddress() {
70
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
+ try {
72
+ yield this.connect();
73
+ const user = yield (0, fcl_1.currentUser)().snapshot();
74
+ return user.addr;
75
+ }
76
+ catch (error) {
77
+ console_1.default.error(error);
78
+ return undefined;
79
+ }
80
+ });
81
+ }
82
+ proveOwnership(messageToSign) {
83
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
+ try {
85
+ yield this.connect();
86
+ const signedMessage = yield this.signMessage(messageToSign);
87
+ if (!signedMessage) {
88
+ return undefined;
89
+ }
90
+ const data = {
91
+ appName: this.appName,
92
+ signedMessage: JSON.parse(signedMessage),
93
+ };
94
+ return JSON.stringify(data);
95
+ }
96
+ catch (error) {
97
+ console_1.default.error(error);
98
+ return undefined;
99
+ }
100
+ });
101
+ }
102
+ signMessage(messageToSign) {
103
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
+ const message = Buffer.from(messageToSign).toString('hex');
105
+ yield this.setupConfig();
106
+ const signedMessage = yield (0, fcl_1.currentUser)().signUserMessage(message);
107
+ if (signedMessage.includes('Declined')) {
108
+ throw new errors_1.DynamicError('User declined the signature');
109
+ }
110
+ return JSON.stringify(signedMessage);
111
+ });
112
+ }
113
+ getWeb3Provider() {
114
+ return undefined;
115
+ }
116
+ getRpcProvider() {
117
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
118
+ return;
119
+ });
120
+ }
121
+ getSigner() {
122
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
123
+ return undefined;
124
+ });
125
+ }
126
+ getBalance() {
127
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
128
+ yield this.setupConfig();
129
+ const address = yield this.fetchPublicAddress();
130
+ if (address) {
131
+ const code = `
132
+ pub fun main(): UFix64 {
133
+ let account = getAccount(${address});
134
+ return account.balance;
135
+ }
136
+ `;
137
+ try {
138
+ return yield (0, fcl_1.send)([(0, fcl_1.script)(code)]).then(fcl_1.decode);
139
+ }
140
+ catch (error) {
141
+ console_1.default.error(error);
142
+ return undefined;
143
+ }
144
+ }
145
+ else {
146
+ return undefined;
147
+ }
148
+ });
149
+ }
150
+ endSession() {
151
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
152
+ (0, fcl_1.currentUser)().unauthenticate();
153
+ });
154
+ }
155
+ supportsNetworkSwitching() {
156
+ return false;
157
+ }
158
+ switchNetwork() {
159
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
160
+ throw new errors_1.DynamicError('Not supported');
161
+ });
162
+ }
163
+ getConnectedAccounts() {
164
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
165
+ yield this.setupConfig();
166
+ const user = yield (0, fcl_1.currentUser)().snapshot();
167
+ if (user.addr) {
168
+ return [user.addr];
169
+ }
170
+ return [];
171
+ });
172
+ }
173
+ }
174
+ exports.FlowProvider = FlowProvider;
175
+ //# sourceMappingURL=flow-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-provider.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/flow/flow-provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import TrustBrowser from './ethereum/injected/Trust';
2
2
  import TrustWalletConnect from './walletConnect/trust';
3
+ import TrustWalletConnectV2 from './walletConnect/trustV2';
3
4
  import { EvmNetwork } from './ethereum/evm-network';
4
5
  export declare const getTrustConnector: ({ evmNetworks, }: {
5
6
  evmNetworks: EvmNetwork[];
6
- }) => TrustBrowser | TrustWalletConnect;
7
+ }) => TrustBrowser | TrustWalletConnect | TrustWalletConnectV2;
@@ -2,13 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTrustConnector = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const isWalletConnectV2Enabled_1 = require("../utils/isWalletConnectV2Enabled");
5
6
  const Trust_1 = tslib_1.__importDefault(require("./ethereum/injected/Trust"));
6
7
  const trust_1 = tslib_1.__importDefault(require("./walletConnect/trust"));
8
+ const trustV2_1 = tslib_1.__importDefault(require("./walletConnect/trustV2"));
7
9
  const getTrustConnector = ({ evmNetworks, }) => {
8
10
  const trust = new Trust_1.default({ evmNetworks });
9
11
  if (trust.isInstalledOnBrowser()) {
10
12
  return trust;
11
13
  }
14
+ else if ((0, isWalletConnectV2Enabled_1.isWalletConnectV2Enabled)()) {
15
+ return new trustV2_1.default({ evmNetworks });
16
+ }
12
17
  else {
13
18
  return new trust_1.default({ evmNetworks });
14
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTrustConnector.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/getTrustConnector.ts"],"names":[],"mappings":";;;;AAAA,8EAAqD;AACrD,0EAAuD;AAGhD,MAAM,iBAAiB,GAAG,CAAC,EAChC,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,IAAI,eAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;SAAM;QACL,OAAO,IAAI,eAAkB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KAChD;AACH,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B"}
1
+ {"version":3,"file":"getTrustConnector.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/getTrustConnector.ts"],"names":[],"mappings":";;;;AAAA,gFAA6E;AAE7E,8EAAqD;AACrD,0EAAuD;AACvD,8EAA2D;AAGpD,MAAM,iBAAiB,GAAG,CAAC,EAChC,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,IAAI,eAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,IAAA,mDAAwB,GAAE,EAAE;QACrC,OAAO,IAAI,iBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KAClD;SAAM;QACL,OAAO,IAAI,eAAkB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KAChD;AACH,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B"}
@@ -1,5 +1,6 @@
1
1
  import { EvmNetwork } from './ethereum/evm-network';
2
2
  import WalletConnect from './walletConnect';
3
+ import WalletConnectV2 from './walletConnect/walletConnectV2';
3
4
  export declare const getWalletConnectConnector: ({ evmNetworks, }: {
4
5
  evmNetworks: EvmNetwork[];
5
- }) => WalletConnect;
6
+ }) => WalletConnect | WalletConnectV2;