@dynamic-labs/starknet 0.19.0-alpha.6 → 0.19.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,51 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.19.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.7...v0.19.0-alpha.8) (2023-09-11)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add onSignedMessage callback ([#3118](https://github.com/dynamic-labs/DynamicAuth/issues/3118)) ([acc36f6](https://github.com/dynamic-labs/DynamicAuth/commit/acc36f6cf584eb05a019027475a6e2e413fd6bd5))
|
|
8
|
+
* add social sign-in without embedded wallet ([#3172](https://github.com/dynamic-labs/DynamicAuth/issues/3172)) ([ff1acc6](https://github.com/dynamic-labs/DynamicAuth/commit/ff1acc6d9753ba745ac01c5ef6d26f2e4291b752))
|
|
9
|
+
* show default wallet icon when image breaks ([#3234](https://github.com/dynamic-labs/DynamicAuth/issues/3234)) ([657e6bb](https://github.com/dynamic-labs/DynamicAuth/commit/657e6bbc1cdcd840562d25194a827ea833237c1a))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* catch error sending sdkSettings and log warning ([#3274](https://github.com/dynamic-labs/DynamicAuth/issues/3274)) ([fcbe01b](https://github.com/dynamic-labs/DynamicAuth/commit/fcbe01bc733a73f38aebd6ffb0969b040dd2f781))
|
|
15
|
+
* detect if oauth popup is blocked and throw error ([#3250](https://github.com/dynamic-labs/DynamicAuth/issues/3250)) ([b87ddf3](https://github.com/dynamic-labs/DynamicAuth/commit/b87ddf399104e29c56566abbbecab6ff947992d6))
|
|
16
|
+
* display error message to user if social account already exits ([#3258](https://github.com/dynamic-labs/DynamicAuth/issues/3258)) ([bb52cb4](https://github.com/dynamic-labs/DynamicAuth/commit/bb52cb4ae42d89310d435584ed4ece126f9b6a4a))
|
|
17
|
+
* don't call callbacks if window closed due to oauth process complete ([#3252](https://github.com/dynamic-labs/DynamicAuth/issues/3252)) ([09a3c73](https://github.com/dynamic-labs/DynamicAuth/commit/09a3c73446aa337f24e0875cd4a0af617ea8ca84))
|
|
18
|
+
* issue where unexpected token would occur when bundlers defined process.env ([#3283](https://github.com/dynamic-labs/DynamicAuth/issues/3283)) ([d31d0a4](https://github.com/dynamic-labs/DynamicAuth/commit/d31d0a4011256f59cb3760acdc2c3dfe6c5b504a))
|
|
19
|
+
* login view layout updates ([#3231](https://github.com/dynamic-labs/DynamicAuth/issues/3231)) ([7762d06](https://github.com/dynamic-labs/DynamicAuth/commit/7762d067bdd4b3f313a15308262f18dac0b961ab))
|
|
20
|
+
* **MagicWalletConnector:** remove async from getWeb3Provider method ([#3230](https://github.com/dynamic-labs/DynamicAuth/issues/3230)) ([69356e9](https://github.com/dynamic-labs/DynamicAuth/commit/69356e9b0bd1800acdf24fc96c72b094b595eaa7))
|
|
21
|
+
* remove react component props from sending to sdk api ([#3282](https://github.com/dynamic-labs/DynamicAuth/issues/3282)) ([b0d8f2b](https://github.com/dynamic-labs/DynamicAuth/commit/b0d8f2b9dd0856a5a7bd862f6c3499b65ec29f64))
|
|
22
|
+
* seprate ls checks for dynamiccontext and wagmi settings ([#3275](https://github.com/dynamic-labs/DynamicAuth/issues/3275)) ([aa4e756](https://github.com/dynamic-labs/DynamicAuth/commit/aa4e756a10310ce216b5942d0d6845f7092a89a2))
|
|
23
|
+
* use context to handle social sign-in and display message while processing ([#3216](https://github.com/dynamic-labs/DynamicAuth/issues/3216)) ([0e3ce73](https://github.com/dynamic-labs/DynamicAuth/commit/0e3ce73eafbb8d5725377c9a8cbd86a82d6c525f))
|
|
24
|
+
* **wallet-connect-v2:** use appropriate default chain id with WC v2 ([#3218](https://github.com/dynamic-labs/DynamicAuth/issues/3218)) ([2e6e7be](https://github.com/dynamic-labs/DynamicAuth/commit/2e6e7beb801ea5a8dc7429970bcd1e705610d605))
|
|
25
|
+
|
|
26
|
+
## [0.19.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.6...v0.19.0-alpha.7) (2023-08-31)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
* include deepLinkPreference option for wallet connect deep linking mode ([#3174](https://github.com/dynamic-labs/DynamicAuth/issues/3174)) ([f715948](https://github.com/dynamic-labs/DynamicAuth/commit/f715948050ddab52373ab742ea47cfc0879842ae))
|
|
32
|
+
* add option to disable the locked wallet view ([#3184](https://github.com/dynamic-labs/DynamicAuth/issues/3184)) ([d9a1290](https://github.com/dynamic-labs/DynamicAuth/commit/d9a1290214b7f86337abb544acd96f65ffe37759))
|
|
33
|
+
* migrate starknet version to v5 ([#3153](https://github.com/dynamic-labs/DynamicAuth/issues/3153)) ([b674011](https://github.com/dynamic-labs/DynamicAuth/commit/b67401133bf75d416118b51be11e3f099d2e2cda))
|
|
34
|
+
* add editable text with react i18next ([#3170](https://github.com/dynamic-labs/DynamicAuth/issues/3170)) ([a46b2ca](https://github.com/dynamic-labs/DynamicAuth/commit/a46b2ca880a4e14356024d2936920f72c8bc447e))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
|
|
39
|
+
* allow to select L2 wallet after changing L1 network ([#3158](https://github.com/dynamic-labs/DynamicAuth/issues/3158)) ([cf68472](https://github.com/dynamic-labs/DynamicAuth/commit/cf6847270181f7fd33537ac1ff2a03e70b67daf2))
|
|
40
|
+
* allow user to cancel magic login to choose another email ([#3123](https://github.com/dynamic-labs/DynamicAuth/issues/3123)) ([cd73d6d](https://github.com/dynamic-labs/DynamicAuth/commit/cd73d6d0500c313dda01bca6245c52d2d8fca93a))
|
|
41
|
+
* verify email OTP when email is updated ([#3168](https://github.com/dynamic-labs/DynamicAuth/issues/3168)) ([641eeb6](https://github.com/dynamic-labs/DynamicAuth/commit/641eeb685b0c9d77cc72912f29b137c699c192f0))
|
|
42
|
+
* end connector session when unlinking in bridge ([#3120](https://github.com/dynamic-labs/DynamicAuth/issues/3120)) ([4c15da2](https://github.com/dynamic-labs/DynamicAuth/commit/4c15da27646c7bd176f6080dee6d76833e30f8a1))
|
|
43
|
+
* improves loading the sdk setting once per session ([#3189](https://github.com/dynamic-labs/DynamicAuth/issues/3189)) ([c9b0241](https://github.com/dynamic-labs/DynamicAuth/commit/c9b0241da28d2a73c90fd7643280c8632772c90b))
|
|
44
|
+
* update wallet address when switching network on bridge ([#3171](https://github.com/dynamic-labs/DynamicAuth/issues/3171)) ([f35f35e](https://github.com/dynamic-labs/DynamicAuth/commit/f35f35e632bcf88794884b66e0466cdf2e924812))
|
|
45
|
+
* updates the user email when updateUserWithModal method is used ([#3186](https://github.com/dynamic-labs/DynamicAuth/issues/3186)) ([8c71863](https://github.com/dynamic-labs/DynamicAuth/commit/8c718632cef0165328b929c27b6eef313641458d))
|
|
46
|
+
* sign message for embedded wallet when auth mode is connect only ([#3185](https://github.com/dynamic-labs/DynamicAuth/issues/3185)) ([0e3859c](https://github.com/dynamic-labs/DynamicAuth/commit/0e3859cfc738d3ecf8f19976e5cdaebc0c4f01c9))
|
|
47
|
+
* sync wagmi with wallet connector ([#3149](https://github.com/dynamic-labs/DynamicAuth/issues/3149)) ([3216e15](https://github.com/dynamic-labs/DynamicAuth/commit/3216e1570ac12ded6b3ce50b7efb762fe6814815))
|
|
48
|
+
|
|
2
49
|
## [0.19.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.5...v0.19.0-alpha.6) (2023-08-25)
|
|
3
50
|
|
|
4
51
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/starknet",
|
|
3
|
-
"version": "0.19.0-alpha.
|
|
3
|
+
"version": "0.19.0-alpha.8",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"./package.json": "./package.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"starknet": "5.
|
|
30
|
-
"get-starknet-core": "3.0
|
|
29
|
+
"starknet": "^5.19.5",
|
|
30
|
+
"get-starknet-core": "^3.2.0",
|
|
31
31
|
"text-encoding": "0.7.0",
|
|
32
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
33
|
-
"@dynamic-labs/utils": "0.19.0-alpha.
|
|
34
|
-
"@dynamic-labs/wallet-book": "0.19.0-alpha.
|
|
35
|
-
"@dynamic-labs/wallet-connector-core": "0.19.0-alpha.
|
|
32
|
+
"@dynamic-labs/sdk-api": "0.0.272",
|
|
33
|
+
"@dynamic-labs/utils": "0.19.0-alpha.8",
|
|
34
|
+
"@dynamic-labs/wallet-book": "0.19.0-alpha.8",
|
|
35
|
+
"@dynamic-labs/wallet-connector-core": "0.19.0-alpha.8"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {}
|
|
38
38
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
3
5
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
4
6
|
var getStarknetCore = require('get-starknet-core');
|
|
5
7
|
var starknet = require('starknet');
|
|
@@ -11,6 +13,7 @@ var convertors = require('./utils/convertors.cjs');
|
|
|
11
13
|
|
|
12
14
|
const ACCOUNT_CHANGED_EVENT_LISTENER = 'accountsChanged';
|
|
13
15
|
const NETWORK_CHANGED_EVENT_LISTENER = 'networkChanged';
|
|
16
|
+
const STARKNET_VERSION = 'v5';
|
|
14
17
|
class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
15
18
|
constructor(name, windowKey, opts) {
|
|
16
19
|
super(opts);
|
|
@@ -40,9 +43,9 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
40
43
|
return Promise.resolve(undefined);
|
|
41
44
|
}
|
|
42
45
|
if (!wallet.isConnected) {
|
|
43
|
-
yield wallet.enable();
|
|
46
|
+
yield wallet.enable({ starknetVersion: STARKNET_VERSION });
|
|
44
47
|
}
|
|
45
|
-
return Promise.resolve((_a = wallet.provider) === null || _a === void 0 ? void 0 : _a.
|
|
48
|
+
return Promise.resolve((_a = wallet.provider) === null || _a === void 0 ? void 0 : _a.getChainId());
|
|
46
49
|
});
|
|
47
50
|
}
|
|
48
51
|
connect() {
|
|
@@ -50,7 +53,7 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
50
53
|
const wallet = yield this.getWallet();
|
|
51
54
|
try {
|
|
52
55
|
if (wallet && !wallet.isConnected) {
|
|
53
|
-
yield wallet.enable();
|
|
56
|
+
yield wallet.enable({ starknetVersion: STARKNET_VERSION });
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
catch (err) {
|
|
@@ -100,8 +103,7 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
100
103
|
walletConnectorCore.logger.error('Could not fetch wallet address for signing message');
|
|
101
104
|
return undefined;
|
|
102
105
|
}
|
|
103
|
-
const
|
|
104
|
-
const encodedMessage = convertors.formatTypedDataMessage(messageToSign, chainId);
|
|
106
|
+
const encodedMessage = convertors.formatTypedDataMessage(messageToSign, (yield wallet.provider.getChainId()));
|
|
105
107
|
const signature = yield wallet.account.signMessage(encodedMessage);
|
|
106
108
|
return signature === null || signature === void 0 ? void 0 : signature.join(',');
|
|
107
109
|
});
|
|
@@ -117,12 +119,11 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
117
119
|
const contract = new starknet.Contract(ethereumContractAbi, constants.ETH_STARKNET_ADDRESS, provider);
|
|
118
120
|
try {
|
|
119
121
|
const { balance } = yield contract.balanceOf(walletAddress);
|
|
120
|
-
const gweiBalance = parseInt(starknet.uint256.uint256ToBN(balance).toString(10));
|
|
121
122
|
/**
|
|
122
123
|
* Dividing by 1e18 as the returned balance is a Gwei number.
|
|
123
124
|
* Read more here: https://www.investopedia.com/terms/g/gwei-ethereum.asp#toc-what-is-gwei
|
|
124
125
|
*/
|
|
125
|
-
return (
|
|
126
|
+
return (Number(starknet.cairo.uint256(balance.low).low) / 1e18).toFixed(6);
|
|
126
127
|
}
|
|
127
128
|
catch (error) {
|
|
128
129
|
throw new utils.DynamicError('Something went wrong');
|
|
@@ -149,36 +150,40 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
149
150
|
return (starknetWindowInstance === null || starknetWindowInstance === void 0 ? void 0 : starknetWindowInstance.name) === this.name;
|
|
150
151
|
}
|
|
151
152
|
getConnectedAccounts() {
|
|
152
|
-
var _a;
|
|
153
153
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
154
154
|
const wallet = yield this.getWallet();
|
|
155
|
-
|
|
155
|
+
if (!wallet) {
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
const needsReconnection = !wallet.isConnected && (yield wallet.isPreauthorized());
|
|
159
|
+
if (needsReconnection) {
|
|
160
|
+
yield this.connect();
|
|
161
|
+
}
|
|
162
|
+
return wallet.selectedAddress ? [wallet.selectedAddress] : [];
|
|
156
163
|
});
|
|
157
164
|
}
|
|
158
|
-
setupEventListeners(
|
|
165
|
+
setupEventListeners() {
|
|
159
166
|
const wallet = this.getStarknetWindowObject();
|
|
160
167
|
if (!wallet) {
|
|
161
168
|
return walletConnectorCore.logger.error('Wallet has not been found');
|
|
162
169
|
}
|
|
163
170
|
this.handleAccountChange = (address) => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
var _a, _b;
|
|
165
171
|
if (!address) {
|
|
166
|
-
|
|
172
|
+
this.emit('disconnect');
|
|
167
173
|
return;
|
|
168
174
|
}
|
|
169
175
|
if (address.toString()) {
|
|
170
|
-
|
|
176
|
+
this.emit('accountChange', { accounts: [address.toString()] });
|
|
171
177
|
}
|
|
172
178
|
});
|
|
173
179
|
this.handleNetworkChange = (network) => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
174
|
-
var _c, _d;
|
|
175
180
|
if (!network) {
|
|
176
|
-
|
|
181
|
+
this.emit('disconnect');
|
|
177
182
|
return;
|
|
178
183
|
}
|
|
179
|
-
const
|
|
180
|
-
if (
|
|
181
|
-
|
|
184
|
+
const chain = this.mapChainUrlToChainId(network.toString());
|
|
185
|
+
if (chain) {
|
|
186
|
+
this.emit('chainChange', { chain });
|
|
182
187
|
}
|
|
183
188
|
});
|
|
184
189
|
wallet === null || wallet === void 0 ? void 0 : wallet.on(ACCOUNT_CHANGED_EVENT_LISTENER, this.handleAccountChange);
|
|
@@ -208,4 +213,6 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
208
213
|
}
|
|
209
214
|
}
|
|
210
215
|
|
|
211
|
-
|
|
216
|
+
exports.ACCOUNT_CHANGED_EVENT_LISTENER = ACCOUNT_CHANGED_EVENT_LISTENER;
|
|
217
|
+
exports.NETWORK_CHANGED_EVENT_LISTENER = NETWORK_CHANGED_EVENT_LISTENER;
|
|
218
|
+
exports["default"] = StarknetWalletConnector;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StarknetWindowObject } from 'get-starknet-core';
|
|
2
2
|
import { ProviderInterface, constants, AccountInterface, RpcProvider } from 'starknet';
|
|
3
|
-
import { Chain, WalletConnectorBase
|
|
3
|
+
import { Chain, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { NetworkConfiguration } from '@dynamic-labs/sdk-api';
|
|
5
5
|
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
6
6
|
import { StarknetWalletKey } from './types';
|
|
@@ -10,6 +10,8 @@ type AccountChangeEventHandler = (address: {
|
|
|
10
10
|
type NetworkChangeEventHandler = (network: {
|
|
11
11
|
toString(): string;
|
|
12
12
|
}) => Promise<void>;
|
|
13
|
+
export declare const ACCOUNT_CHANGED_EVENT_LISTENER = "accountsChanged";
|
|
14
|
+
export declare const NETWORK_CHANGED_EVENT_LISTENER = "networkChanged";
|
|
13
15
|
declare abstract class StarknetWalletConnector extends WalletConnectorBase {
|
|
14
16
|
name: string;
|
|
15
17
|
windowKey: StarknetWalletKey;
|
|
@@ -40,7 +42,7 @@ declare abstract class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
40
42
|
getStarknetWindowObject(): StarknetWindowObject | undefined;
|
|
41
43
|
isInstalledOnBrowser(): boolean;
|
|
42
44
|
getConnectedAccounts(): Promise<string[]>;
|
|
43
|
-
setupEventListeners(
|
|
45
|
+
setupEventListeners(): void;
|
|
44
46
|
teardownEventListeners(): Promise<void>;
|
|
45
47
|
mapChainUrlToChainId(baseUrl: string): constants.StarknetChainId | undefined;
|
|
46
48
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
2
|
import { getStarknet } from 'get-starknet-core';
|
|
3
|
-
import { RpcProvider, Contract,
|
|
3
|
+
import { RpcProvider, Contract, cairo, constants } from 'starknet';
|
|
4
4
|
import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
6
6
|
import { ETH_STARKNET_ADDRESS } from './constants.js';
|
|
@@ -9,6 +9,7 @@ import { formatTypedDataMessage } from './utils/convertors.js';
|
|
|
9
9
|
|
|
10
10
|
const ACCOUNT_CHANGED_EVENT_LISTENER = 'accountsChanged';
|
|
11
11
|
const NETWORK_CHANGED_EVENT_LISTENER = 'networkChanged';
|
|
12
|
+
const STARKNET_VERSION = 'v5';
|
|
12
13
|
class StarknetWalletConnector extends WalletConnectorBase {
|
|
13
14
|
constructor(name, windowKey, opts) {
|
|
14
15
|
super(opts);
|
|
@@ -38,9 +39,9 @@ class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
38
39
|
return Promise.resolve(undefined);
|
|
39
40
|
}
|
|
40
41
|
if (!wallet.isConnected) {
|
|
41
|
-
yield wallet.enable();
|
|
42
|
+
yield wallet.enable({ starknetVersion: STARKNET_VERSION });
|
|
42
43
|
}
|
|
43
|
-
return Promise.resolve((_a = wallet.provider) === null || _a === void 0 ? void 0 : _a.
|
|
44
|
+
return Promise.resolve((_a = wallet.provider) === null || _a === void 0 ? void 0 : _a.getChainId());
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
47
|
connect() {
|
|
@@ -48,7 +49,7 @@ class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
48
49
|
const wallet = yield this.getWallet();
|
|
49
50
|
try {
|
|
50
51
|
if (wallet && !wallet.isConnected) {
|
|
51
|
-
yield wallet.enable();
|
|
52
|
+
yield wallet.enable({ starknetVersion: STARKNET_VERSION });
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
catch (err) {
|
|
@@ -98,8 +99,7 @@ class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
98
99
|
logger.error('Could not fetch wallet address for signing message');
|
|
99
100
|
return undefined;
|
|
100
101
|
}
|
|
101
|
-
const
|
|
102
|
-
const encodedMessage = formatTypedDataMessage(messageToSign, chainId);
|
|
102
|
+
const encodedMessage = formatTypedDataMessage(messageToSign, (yield wallet.provider.getChainId()));
|
|
103
103
|
const signature = yield wallet.account.signMessage(encodedMessage);
|
|
104
104
|
return signature === null || signature === void 0 ? void 0 : signature.join(',');
|
|
105
105
|
});
|
|
@@ -115,12 +115,11 @@ class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
115
115
|
const contract = new Contract(ETH_CONTRACT_ABI, ETH_STARKNET_ADDRESS, provider);
|
|
116
116
|
try {
|
|
117
117
|
const { balance } = yield contract.balanceOf(walletAddress);
|
|
118
|
-
const gweiBalance = parseInt(uint256.uint256ToBN(balance).toString(10));
|
|
119
118
|
/**
|
|
120
119
|
* Dividing by 1e18 as the returned balance is a Gwei number.
|
|
121
120
|
* Read more here: https://www.investopedia.com/terms/g/gwei-ethereum.asp#toc-what-is-gwei
|
|
122
121
|
*/
|
|
123
|
-
return (
|
|
122
|
+
return (Number(cairo.uint256(balance.low).low) / 1e18).toFixed(6);
|
|
124
123
|
}
|
|
125
124
|
catch (error) {
|
|
126
125
|
throw new DynamicError('Something went wrong');
|
|
@@ -147,36 +146,40 @@ class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
147
146
|
return (starknetWindowInstance === null || starknetWindowInstance === void 0 ? void 0 : starknetWindowInstance.name) === this.name;
|
|
148
147
|
}
|
|
149
148
|
getConnectedAccounts() {
|
|
150
|
-
var _a;
|
|
151
149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
152
150
|
const wallet = yield this.getWallet();
|
|
153
|
-
|
|
151
|
+
if (!wallet) {
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
const needsReconnection = !wallet.isConnected && (yield wallet.isPreauthorized());
|
|
155
|
+
if (needsReconnection) {
|
|
156
|
+
yield this.connect();
|
|
157
|
+
}
|
|
158
|
+
return wallet.selectedAddress ? [wallet.selectedAddress] : [];
|
|
154
159
|
});
|
|
155
160
|
}
|
|
156
|
-
setupEventListeners(
|
|
161
|
+
setupEventListeners() {
|
|
157
162
|
const wallet = this.getStarknetWindowObject();
|
|
158
163
|
if (!wallet) {
|
|
159
164
|
return logger.error('Wallet has not been found');
|
|
160
165
|
}
|
|
161
166
|
this.handleAccountChange = (address) => __awaiter(this, void 0, void 0, function* () {
|
|
162
|
-
var _a, _b;
|
|
163
167
|
if (!address) {
|
|
164
|
-
|
|
168
|
+
this.emit('disconnect');
|
|
165
169
|
return;
|
|
166
170
|
}
|
|
167
171
|
if (address.toString()) {
|
|
168
|
-
|
|
172
|
+
this.emit('accountChange', { accounts: [address.toString()] });
|
|
169
173
|
}
|
|
170
174
|
});
|
|
171
175
|
this.handleNetworkChange = (network) => __awaiter(this, void 0, void 0, function* () {
|
|
172
|
-
var _c, _d;
|
|
173
176
|
if (!network) {
|
|
174
|
-
|
|
177
|
+
this.emit('disconnect');
|
|
175
178
|
return;
|
|
176
179
|
}
|
|
177
|
-
const
|
|
178
|
-
if (
|
|
179
|
-
|
|
180
|
+
const chain = this.mapChainUrlToChainId(network.toString());
|
|
181
|
+
if (chain) {
|
|
182
|
+
this.emit('chainChange', { chain });
|
|
180
183
|
}
|
|
181
184
|
});
|
|
182
185
|
wallet === null || wallet === void 0 ? void 0 : wallet.on(ACCOUNT_CHANGED_EVENT_LISTENER, this.handleAccountChange);
|
|
@@ -206,4 +209,4 @@ class StarknetWalletConnector extends WalletConnectorBase {
|
|
|
206
209
|
}
|
|
207
210
|
}
|
|
208
211
|
|
|
209
|
-
export { StarknetWalletConnector as default };
|
|
212
|
+
export { ACCOUNT_CHANGED_EVENT_LISTENER, NETWORK_CHANGED_EVENT_LISTENER, StarknetWalletConnector as default };
|
package/src/wallets/argentx.cjs
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
6
|
var starknetWalletConnector = require('../starknetWalletConnector.cjs');
|
|
7
7
|
|
|
8
|
-
class ArgentX extends starknetWalletConnector {
|
|
8
|
+
class ArgentX extends starknetWalletConnector["default"] {
|
|
9
9
|
constructor(opts) {
|
|
10
10
|
super('Argent X', 'argentX', opts);
|
|
11
11
|
}
|
package/src/wallets/braavos.cjs
CHANGED
|
@@ -6,7 +6,7 @@ var _tslib = require('../../_virtual/_tslib.cjs');
|
|
|
6
6
|
var utils = require('@dynamic-labs/utils');
|
|
7
7
|
var starknetWalletConnector = require('../starknetWalletConnector.cjs');
|
|
8
8
|
|
|
9
|
-
class Braavos extends starknetWalletConnector {
|
|
9
|
+
class Braavos extends starknetWalletConnector["default"] {
|
|
10
10
|
constructor(opts) {
|
|
11
11
|
super('Braavos', 'braavos', opts);
|
|
12
12
|
}
|