@dynamic-labs/multi-wallet 0.15.1-minimal.0 → 0.15.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/package.json +17 -13
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +1 -0
  5. package/src/index.js.map +1 -1
  6. package/src/multi-wallet.d.ts +1 -0
  7. package/src/multi-wallet.js +67 -2
  8. package/src/multi-wallet.js.map +1 -1
  9. package/src/types.d.ts +1 -0
  10. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +3 -0
  11. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +30 -0
  12. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js.map +1 -0
  13. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +1 -0
  14. package/src/utils/assignConfirmationScreenToProvider/index.js +6 -0
  15. package/src/utils/assignConfirmationScreenToProvider/index.js.map +1 -0
  16. package/src/wallets/algorand/myalgo.d.ts +34 -0
  17. package/src/wallets/algorand/myalgo.js +178 -0
  18. package/src/wallets/algorand/myalgo.js.map +1 -0
  19. package/src/wallets/algorand/myalgoSigner.d.ts +21 -0
  20. package/src/wallets/algorand/myalgoSigner.js +23 -0
  21. package/src/wallets/algorand/myalgoSigner.js.map +1 -0
  22. package/src/wallets/ethereum/BloctoEvm.d.ts +34 -0
  23. package/src/wallets/ethereum/BloctoEvm.js +135 -0
  24. package/src/wallets/ethereum/BloctoEvm.js.map +1 -0
  25. package/src/wallets/ethereum/MagicLink.d.ts +48 -0
  26. package/src/wallets/ethereum/MagicLink.js +178 -0
  27. package/src/wallets/ethereum/MagicLink.js.map +1 -0
  28. package/src/wallets/ethereum/fortmatic.d.ts +34 -0
  29. package/src/wallets/ethereum/fortmatic.js +93 -0
  30. package/src/wallets/ethereum/fortmatic.js.map +1 -0
  31. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +6 -0
  32. package/src/wallets/ethereum/injected/BloctoInjected.js +13 -0
  33. package/src/wallets/ethereum/injected/BloctoInjected.js.map +1 -0
  34. package/src/wallets/flow/blocto.d.ts +13 -0
  35. package/src/wallets/flow/blocto.js +29 -0
  36. package/src/wallets/flow/blocto.js.map +1 -0
  37. package/src/wallets/flow/dapper.d.ts +13 -0
  38. package/src/wallets/flow/dapper.js +29 -0
  39. package/src/wallets/flow/dapper.js.map +1 -0
  40. package/src/wallets/flow/flow-provider.d.ts +34 -0
  41. package/src/wallets/flow/flow-provider.js +184 -0
  42. package/src/wallets/flow/flow-provider.js.map +1 -0
  43. package/src/wallets/flow/lilico.d.ts +15 -0
  44. package/src/wallets/flow/lilico.js +50 -0
  45. package/src/wallets/flow/lilico.js.map +1 -0
  46. package/src/wallets/solana/CoinbaseSolana.d.ts +26 -0
  47. package/src/wallets/solana/CoinbaseSolana.js +76 -0
  48. package/src/wallets/solana/CoinbaseSolana.js.map +1 -0
  49. package/src/wallets/solana/glow.d.ts +25 -0
  50. package/src/wallets/solana/glow.js +73 -0
  51. package/src/wallets/solana/glow.js.map +1 -0
  52. package/src/wallets/solana/injected/BraveSol.d.ts +6 -0
  53. package/src/wallets/solana/injected/BraveSol.js +17 -0
  54. package/src/wallets/solana/injected/BraveSol.js.map +1 -0
  55. package/src/wallets/solana/injected/ExodusSol.d.ts +5 -0
  56. package/src/wallets/solana/injected/ExodusSol.js +12 -0
  57. package/src/wallets/solana/injected/ExodusSol.js.map +1 -0
  58. package/src/wallets/solana/phantom-ledger.d.ts +16 -0
  59. package/src/wallets/solana/phantom-ledger.js +67 -0
  60. package/src/wallets/solana/phantom-ledger.js.map +1 -0
  61. package/src/wallets/solana/phantom.d.ts +26 -0
  62. package/src/wallets/solana/phantom.js +99 -0
  63. package/src/wallets/solana/phantom.js.map +1 -0
  64. package/src/wallets/solana/slope.d.ts +39 -0
  65. package/src/wallets/solana/slope.js +124 -0
  66. package/src/wallets/solana/slope.js.map +1 -0
  67. package/src/wallets/solana/solProvider.d.ts +16 -0
  68. package/src/wallets/solana/solProvider.js +56 -0
  69. package/src/wallets/solana/solProvider.js.map +1 -0
  70. package/src/wallets/solana/solProviderHelper.d.ts +29 -0
  71. package/src/wallets/solana/solProviderHelper.js +144 -0
  72. package/src/wallets/solana/solProviderHelper.js.map +1 -0
  73. package/src/wallets/solana/solflare.d.ts +26 -0
  74. package/src/wallets/solana/solflare.js +93 -0
  75. package/src/wallets/solana/solflare.js.map +1 -0
  76. package/src/wallets/starknet/argentx.d.ts +6 -0
  77. package/src/wallets/starknet/argentx.js +11 -0
  78. package/src/wallets/starknet/argentx.js.map +1 -0
  79. package/src/wallets/starknet/braavos.d.ts +6 -0
  80. package/src/wallets/starknet/braavos.js +11 -0
  81. package/src/wallets/starknet/braavos.js.map +1 -0
  82. package/src/wallets/starknet/ethereumContractAbi.json +340 -0
  83. package/src/wallets/starknet/starknetProvider.d.ts +31 -0
  84. package/src/wallets/starknet/starknetProvider.js +98 -0
  85. package/src/wallets/starknet/starknetProvider.js.map +1 -0
  86. package/src/wallets/starknet/starknetProviderHelper.d.ts +17 -0
  87. package/src/wallets/starknet/starknetProviderHelper.js +159 -0
  88. package/src/wallets/starknet/starknetProviderHelper.js.map +1 -0
@@ -0,0 +1,26 @@
1
+ import { Chain, WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ import { ISolana } from '../window';
3
+ import { SolProvider } from './solProvider';
4
+ import { SolProviderHelper } from './solProviderHelper';
5
+ declare class Solflare extends SolProvider implements WalletConnector {
6
+ name: string;
7
+ supportedChains: Chain[];
8
+ connectedChain: Chain;
9
+ canConnectViaQrCode: boolean;
10
+ canConnectViaCustodialService: boolean;
11
+ isWalletConnect: boolean;
12
+ solProviderHelper: SolProviderHelper;
13
+ get key(): string;
14
+ setupEventListeners(): void;
15
+ teardownEventListeners(): void;
16
+ isInstalledOnBrowser(): boolean;
17
+ fetchPublicAddress(): Promise<string | undefined>;
18
+ connect(): Promise<void>;
19
+ getSigner(): Promise<ISolana | undefined>;
20
+ signMessage(messageToSign: string): Promise<string | undefined>;
21
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
22
+ supportsNetworkSwitching(): boolean;
23
+ switchNetwork(): Promise<void>;
24
+ getConnectedAccounts(): Promise<string[]>;
25
+ }
26
+ export default Solflare;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const errors_1 = require("../../errors");
5
+ const convertors_1 = require("../../utils/convertors");
6
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
7
+ const solProvider_1 = require("./solProvider");
8
+ const solProviderHelper_1 = require("./solProviderHelper");
9
+ class Solflare extends solProvider_1.SolProvider {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'Solflare';
13
+ this.supportedChains = ['SOL'];
14
+ this.connectedChain = 'SOL';
15
+ this.canConnectViaQrCode = false;
16
+ this.canConnectViaCustodialService = false;
17
+ this.isWalletConnect = false;
18
+ this.solProviderHelper = new solProviderHelper_1.SolProviderHelper();
19
+ }
20
+ get key() {
21
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
22
+ }
23
+ setupEventListeners() {
24
+ return;
25
+ }
26
+ teardownEventListeners() {
27
+ return;
28
+ }
29
+ isInstalledOnBrowser() {
30
+ return this.solProviderHelper.isInstalledHelper(this.name);
31
+ }
32
+ fetchPublicAddress() {
33
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
+ return this.solProviderHelper.fetchPublicAddressWithName(this.name);
35
+ });
36
+ }
37
+ connect() {
38
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
39
+ yield this.solProviderHelper.connectWithName(this.name);
40
+ });
41
+ }
42
+ getSigner() {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ return this.solProviderHelper.connectWithName(this.name);
45
+ });
46
+ }
47
+ signMessage(messageToSign) {
48
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
+ const walletAddress = yield this.fetchPublicAddress();
50
+ if (!walletAddress) {
51
+ return undefined;
52
+ }
53
+ const provider = this.solProviderHelper.findProvider(this.name);
54
+ if (!provider) {
55
+ return undefined;
56
+ }
57
+ const encodedMessage = new TextEncoder().encode(messageToSign);
58
+ const isSignedMessage = (value) => value.signature !== undefined;
59
+ yield provider.connect();
60
+ /**
61
+ * TODO: Remove the sleep once problem is fixed on Solflare's extension.
62
+ * Tracked in DYN-442
63
+ */
64
+ yield new Promise((resolve) => {
65
+ setTimeout(resolve, 100);
66
+ });
67
+ const rawMessage = yield provider.signMessage(encodedMessage, 'utf8');
68
+ return isSignedMessage(rawMessage)
69
+ ? (0, convertors_1.bufferToBase64)(rawMessage.signature)
70
+ : undefined;
71
+ });
72
+ }
73
+ proveOwnership(messageToSign) {
74
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
75
+ return this.signMessage(messageToSign);
76
+ });
77
+ }
78
+ supportsNetworkSwitching() {
79
+ return false;
80
+ }
81
+ switchNetwork() {
82
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
83
+ throw new errors_1.DynamicError('Not supported');
84
+ });
85
+ }
86
+ getConnectedAccounts() {
87
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
88
+ return this.solProviderHelper.getConnectedAccountsWithName(this.name);
89
+ });
90
+ }
91
+ }
92
+ exports.default = Solflare;
93
+ //# sourceMappingURL=solflare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solflare.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/solana/solflare.ts"],"names":[],"mappings":";;;AAEA,yCAA4C;AAC5C,uDAAwD;AACxD,yEAAsE;AAGtE,+CAA4C;AAC5C,2DAAuE;AAEvE,MAAM,QAAS,SAAQ,yBAAW;IAAlC;;QACE,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,KAAK,CAAC;QACtC,oBAAe,GAAG,KAAK,CAAC;QACxB,sBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;IA4E9C,CAAC;IA1EC,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,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEK,kBAAkB;;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;KAAA;IAEc,OAAO;;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEc,SAAS;;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEtD,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO,SAAS,CAAC;aAClB;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,SAAS,CAAC;aAClB;YAED,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CAChE,KAAuB,CAAC,SAAS,KAAK,SAAS,CAAC;YAEnD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB;;;eAGG;YACH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,eAAe,CAAC,UAAU,CAAC;gBAChC,CAAC,CAAC,IAAA,2BAAc,EAAC,UAAU,CAAC,SAAS,CAAC;gBACtC,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;KAAA;IAEK,cAAc,CAAC,aAAqB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;KAAA;IAED,wBAAwB;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,aAAa;;YACjB,MAAM,IAAI,qBAAY,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,oBAAoB;;YACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ import StarknetProvider from './starknetProvider';
3
+ declare class ArgentX extends StarknetProvider implements WalletConnector {
4
+ constructor();
5
+ }
6
+ export default ArgentX;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const starknetProvider_1 = tslib_1.__importDefault(require("./starknetProvider"));
5
+ class ArgentX extends starknetProvider_1.default {
6
+ constructor() {
7
+ super('Argent X');
8
+ }
9
+ }
10
+ exports.default = ArgentX;
11
+ //# sourceMappingURL=argentx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argentx.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/argentx.ts"],"names":[],"mappings":";;;AAEA,kFAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ import StarknetProvider from './starknetProvider';
3
+ declare class Braavos extends StarknetProvider implements WalletConnector {
4
+ constructor();
5
+ }
6
+ export default Braavos;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const starknetProvider_1 = tslib_1.__importDefault(require("./starknetProvider"));
5
+ class Braavos extends starknetProvider_1.default {
6
+ constructor() {
7
+ super('Braavos');
8
+ }
9
+ }
10
+ exports.default = Braavos;
11
+ //# sourceMappingURL=braavos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"braavos.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/braavos.ts"],"names":[],"mappings":";;;AAEA,kFAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,340 @@
1
+ [
2
+ {
3
+ "members": [
4
+ {
5
+ "name": "low",
6
+ "offset": 0,
7
+ "type": "felt"
8
+ },
9
+ {
10
+ "name": "high",
11
+ "offset": 1,
12
+ "type": "felt"
13
+ }
14
+ ],
15
+ "name": "Uint256",
16
+ "size": 2,
17
+ "type": "struct"
18
+ },
19
+ {
20
+ "data": [
21
+ {
22
+ "name": "from_",
23
+ "type": "felt"
24
+ },
25
+ {
26
+ "name": "to",
27
+ "type": "felt"
28
+ },
29
+ {
30
+ "name": "value",
31
+ "type": "Uint256"
32
+ }
33
+ ],
34
+ "keys": [],
35
+ "name": "Transfer",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "data": [
40
+ {
41
+ "name": "owner",
42
+ "type": "felt"
43
+ },
44
+ {
45
+ "name": "spender",
46
+ "type": "felt"
47
+ },
48
+ {
49
+ "name": "value",
50
+ "type": "Uint256"
51
+ }
52
+ ],
53
+ "keys": [],
54
+ "name": "Approval",
55
+ "type": "event"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "name",
60
+ "outputs": [
61
+ {
62
+ "name": "name",
63
+ "type": "felt"
64
+ }
65
+ ],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "symbol",
72
+ "outputs": [
73
+ {
74
+ "name": "symbol",
75
+ "type": "felt"
76
+ }
77
+ ],
78
+ "stateMutability": "view",
79
+ "type": "function"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "totalSupply",
84
+ "outputs": [
85
+ {
86
+ "name": "totalSupply",
87
+ "type": "Uint256"
88
+ }
89
+ ],
90
+ "stateMutability": "view",
91
+ "type": "function"
92
+ },
93
+ {
94
+ "inputs": [],
95
+ "name": "decimals",
96
+ "outputs": [
97
+ {
98
+ "name": "decimals",
99
+ "type": "felt"
100
+ }
101
+ ],
102
+ "stateMutability": "view",
103
+ "type": "function"
104
+ },
105
+ {
106
+ "inputs": [
107
+ {
108
+ "name": "account",
109
+ "type": "felt"
110
+ }
111
+ ],
112
+ "name": "balanceOf",
113
+ "outputs": [
114
+ {
115
+ "name": "balance",
116
+ "type": "Uint256"
117
+ }
118
+ ],
119
+ "stateMutability": "view",
120
+ "type": "function"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "name": "owner",
126
+ "type": "felt"
127
+ },
128
+ {
129
+ "name": "spender",
130
+ "type": "felt"
131
+ }
132
+ ],
133
+ "name": "allowance",
134
+ "outputs": [
135
+ {
136
+ "name": "remaining",
137
+ "type": "Uint256"
138
+ }
139
+ ],
140
+ "stateMutability": "view",
141
+ "type": "function"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "permittedMinter",
146
+ "outputs": [
147
+ {
148
+ "name": "minter",
149
+ "type": "felt"
150
+ }
151
+ ],
152
+ "stateMutability": "view",
153
+ "type": "function"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "initialized",
158
+ "outputs": [
159
+ {
160
+ "name": "res",
161
+ "type": "felt"
162
+ }
163
+ ],
164
+ "stateMutability": "view",
165
+ "type": "function"
166
+ },
167
+ {
168
+ "inputs": [],
169
+ "name": "get_version",
170
+ "outputs": [
171
+ {
172
+ "name": "version",
173
+ "type": "felt"
174
+ }
175
+ ],
176
+ "stateMutability": "view",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "get_identity",
182
+ "outputs": [
183
+ {
184
+ "name": "identity",
185
+ "type": "felt"
186
+ }
187
+ ],
188
+ "stateMutability": "view",
189
+ "type": "function"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "name": "init_vector_len",
195
+ "type": "felt"
196
+ },
197
+ {
198
+ "name": "init_vector",
199
+ "type": "felt*"
200
+ }
201
+ ],
202
+ "name": "initialize",
203
+ "outputs": [],
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "name": "recipient",
210
+ "type": "felt"
211
+ },
212
+ {
213
+ "name": "amount",
214
+ "type": "Uint256"
215
+ }
216
+ ],
217
+ "name": "transfer",
218
+ "outputs": [
219
+ {
220
+ "name": "success",
221
+ "type": "felt"
222
+ }
223
+ ],
224
+ "type": "function"
225
+ },
226
+ {
227
+ "inputs": [
228
+ {
229
+ "name": "sender",
230
+ "type": "felt"
231
+ },
232
+ {
233
+ "name": "recipient",
234
+ "type": "felt"
235
+ },
236
+ {
237
+ "name": "amount",
238
+ "type": "Uint256"
239
+ }
240
+ ],
241
+ "name": "transferFrom",
242
+ "outputs": [
243
+ {
244
+ "name": "success",
245
+ "type": "felt"
246
+ }
247
+ ],
248
+ "type": "function"
249
+ },
250
+ {
251
+ "inputs": [
252
+ {
253
+ "name": "spender",
254
+ "type": "felt"
255
+ },
256
+ {
257
+ "name": "amount",
258
+ "type": "Uint256"
259
+ }
260
+ ],
261
+ "name": "approve",
262
+ "outputs": [
263
+ {
264
+ "name": "success",
265
+ "type": "felt"
266
+ }
267
+ ],
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "name": "spender",
274
+ "type": "felt"
275
+ },
276
+ {
277
+ "name": "added_value",
278
+ "type": "Uint256"
279
+ }
280
+ ],
281
+ "name": "increaseAllowance",
282
+ "outputs": [
283
+ {
284
+ "name": "success",
285
+ "type": "felt"
286
+ }
287
+ ],
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [
292
+ {
293
+ "name": "spender",
294
+ "type": "felt"
295
+ },
296
+ {
297
+ "name": "subtracted_value",
298
+ "type": "Uint256"
299
+ }
300
+ ],
301
+ "name": "decreaseAllowance",
302
+ "outputs": [
303
+ {
304
+ "name": "success",
305
+ "type": "felt"
306
+ }
307
+ ],
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "name": "recipient",
314
+ "type": "felt"
315
+ },
316
+ {
317
+ "name": "amount",
318
+ "type": "Uint256"
319
+ }
320
+ ],
321
+ "name": "permissionedMint",
322
+ "outputs": [],
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "name": "account",
329
+ "type": "felt"
330
+ },
331
+ {
332
+ "name": "amount",
333
+ "type": "Uint256"
334
+ }
335
+ ],
336
+ "name": "permissionedBurn",
337
+ "outputs": [],
338
+ "type": "function"
339
+ }
340
+ ]
@@ -0,0 +1,31 @@
1
+ import { SignerInterface } from 'starknet';
2
+ import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
+ import { StarknetProviderHelper } from './starknetProviderHelper';
4
+ declare class StarknetProvider extends StarknetProviderHelper implements WalletConnector {
5
+ name: string;
6
+ connectedChain: Chain;
7
+ supportedChains: Chain[];
8
+ canConnectViaQrCode: boolean;
9
+ canConnectViaCustodialService: boolean;
10
+ isWalletConnect: boolean;
11
+ protected starknetProviderHelper: StarknetProviderHelper;
12
+ constructor(name: string);
13
+ get key(): string;
14
+ connect(): Promise<void>;
15
+ fetchPublicAddress(): Promise<string | undefined>;
16
+ getNetwork(): Promise<number | undefined>;
17
+ getSigner(): Promise<SignerInterface | undefined>;
18
+ getWeb3Provider(): void;
19
+ getRpcProvider(): Promise<void>;
20
+ signMessage(messageToSign: string): Promise<string | undefined>;
21
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
22
+ getBalance(): Promise<string | undefined>;
23
+ endSession(): Promise<void>;
24
+ isInstalledOnBrowser(): boolean;
25
+ supportsNetworkSwitching(): boolean;
26
+ switchNetwork(): Promise<void>;
27
+ setupEventListeners(listeners: WalletEventListeners): void;
28
+ teardownEventListeners(): void;
29
+ getConnectedAccounts(): Promise<string[]>;
30
+ }
31
+ export default StarknetProvider;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const get_starknet_1 = require("get-starknet");
5
+ const errors_1 = require("../../errors");
6
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
7
+ const starknetProviderHelper_1 = require("./starknetProviderHelper");
8
+ class StarknetProvider extends starknetProviderHelper_1.StarknetProviderHelper {
9
+ constructor(name) {
10
+ super();
11
+ this.connectedChain = 'STARK';
12
+ this.supportedChains = ['STARK'];
13
+ this.canConnectViaQrCode = false;
14
+ this.canConnectViaCustodialService = false;
15
+ this.isWalletConnect = false;
16
+ this.starknetProviderHelper = new starknetProviderHelper_1.StarknetProviderHelper();
17
+ this.name = name;
18
+ }
19
+ get key() {
20
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
21
+ }
22
+ connect() {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ yield this.starknetProviderHelper.connectWithName(this.name);
25
+ });
26
+ }
27
+ fetchPublicAddress() {
28
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
+ const address = yield this.starknetProviderHelper.getPublicAddressWithName(this.name);
30
+ return address;
31
+ });
32
+ }
33
+ getNetwork() {
34
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
+ return undefined;
36
+ });
37
+ }
38
+ getSigner() {
39
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
+ const account = yield this.starknetProviderHelper.getConnectedAccountWithName(this.name);
41
+ return account === null || account === void 0 ? void 0 : account.signer;
42
+ });
43
+ }
44
+ getWeb3Provider() {
45
+ return;
46
+ }
47
+ getRpcProvider() {
48
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
+ return;
50
+ });
51
+ }
52
+ signMessage(messageToSign) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const signature = yield this.starknetProviderHelper._signMessage(this.name, messageToSign);
55
+ return signature === null || signature === void 0 ? void 0 : signature.join(',');
56
+ });
57
+ }
58
+ proveOwnership(messageToSign) {
59
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
+ return this.signMessage(messageToSign);
61
+ });
62
+ }
63
+ getBalance() {
64
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
+ return this.starknetProviderHelper._getBalance(this.name);
66
+ });
67
+ }
68
+ endSession() {
69
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
70
+ (0, get_starknet_1.disconnect)({
71
+ clearLastWallet: true,
72
+ });
73
+ });
74
+ }
75
+ isInstalledOnBrowser() {
76
+ return this.starknetProviderHelper.isInstalledHelper(this.name);
77
+ }
78
+ supportsNetworkSwitching() {
79
+ return false;
80
+ }
81
+ switchNetwork() {
82
+ throw new errors_1.DynamicError('switchNetwork - Not supported');
83
+ }
84
+ setupEventListeners(listeners) {
85
+ this.starknetProviderHelper._setupEventListeners(listeners, this.name);
86
+ }
87
+ teardownEventListeners() {
88
+ this.starknetProviderHelper._teardownEventListeners(this.name);
89
+ }
90
+ getConnectedAccounts() {
91
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
92
+ const account = yield this.starknetProviderHelper.getConnectedAccountWithName(this.name);
93
+ return (account === null || account === void 0 ? void 0 : account.address) ? [account === null || account === void 0 ? void 0 : account.address] : [];
94
+ });
95
+ }
96
+ }
97
+ exports.default = StarknetProvider;
98
+ //# sourceMappingURL=starknetProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starknetProvider.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/starknetProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { IStarknetWindowObject } from 'get-starknet';
2
+ import { AccountInterface } from 'starknet';
3
+ import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
+ export declare class StarknetProviderHelper {
5
+ private _client?;
6
+ _getConnectedChainType(): 'SN_GOERLI' | 'SN_MAIN' | undefined;
7
+ _getProviderFromWallet(walletName: string): Promise<IStarknetWindowObject | undefined>;
8
+ getInstance(walletName: string): Promise<IStarknetWindowObject | undefined>;
9
+ isInstalledHelper(walletName: string): boolean;
10
+ getPublicAddressWithName(walletName: string): Promise<string | undefined>;
11
+ connectWithName(walletName: string): Promise<IStarknetWindowObject | undefined>;
12
+ _signMessage(walletName: string, messageToSign: string): Promise<string[] | undefined>;
13
+ _getBalance(walletName: string): Promise<string | undefined>;
14
+ _setupEventListeners(listeners: WalletEventListeners, walletName: string): Promise<() => void>;
15
+ _teardownEventListeners(walletName: string): Promise<void>;
16
+ getConnectedAccountWithName(walletName: string): Promise<AccountInterface | undefined>;
17
+ }