@injectivelabs/wallet-wallet-connect 1.20.8 → 1.20.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +19 -11
- package/dist/cjs/index.d.cts +2 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +17 -9
- package/package.json +5 -5
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
let __reown_appkit = require("@reown/appkit");
|
|
2
1
|
let __injectivelabs_utils = require("@injectivelabs/utils");
|
|
3
2
|
let __injectivelabs_sdk_ts_utils = require("@injectivelabs/sdk-ts/utils");
|
|
4
3
|
let __injectivelabs_ts_types = require("@injectivelabs/ts-types");
|
|
5
4
|
let __injectivelabs_sdk_ts_core_tx = require("@injectivelabs/sdk-ts/core/tx");
|
|
6
|
-
let __reown_appkit_adapter_ethers = require("@reown/appkit-adapter-ethers");
|
|
7
5
|
let __injectivelabs_exceptions = require("@injectivelabs/exceptions");
|
|
8
6
|
let __injectivelabs_wallet_base = require("@injectivelabs/wallet-base");
|
|
9
7
|
|
|
@@ -56,7 +54,7 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
56
54
|
async getWalletDeviceType() {
|
|
57
55
|
return Promise.resolve(__injectivelabs_wallet_base.WalletDeviceType.Browser);
|
|
58
56
|
}
|
|
59
|
-
createAppKit() {
|
|
57
|
+
async createAppKit() {
|
|
60
58
|
var _this$metadata;
|
|
61
59
|
const projectId = (_this$metadata = this.metadata) === null || _this$metadata === void 0 || (_this$metadata = _this$metadata.walletConnect) === null || _this$metadata === void 0 ? void 0 : _this$metadata.projectId;
|
|
62
60
|
if (!projectId) throw new __injectivelabs_exceptions.WalletException(/* @__PURE__ */ new Error("Please provide projectId in metadata for WalletConnect"), {
|
|
@@ -65,15 +63,24 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
65
63
|
contextModule: __injectivelabs_wallet_base.WalletAction.GetAccounts
|
|
66
64
|
});
|
|
67
65
|
if (WalletConnect.appKit) return WalletConnect.appKit;
|
|
66
|
+
if (WalletConnect.appKitPromise) return WalletConnect.appKitPromise;
|
|
67
|
+
WalletConnect.appKitPromise = this.createAppKitInstance(projectId).catch((e) => {
|
|
68
|
+
WalletConnect.appKitPromise = void 0;
|
|
69
|
+
throw e;
|
|
70
|
+
});
|
|
71
|
+
return WalletConnect.appKitPromise;
|
|
72
|
+
}
|
|
73
|
+
async createAppKitInstance(projectId) {
|
|
68
74
|
const chainId = this.evmChainId || __injectivelabs_ts_types.EvmChainId.Mainnet;
|
|
69
|
-
|
|
75
|
+
const [{ createAppKit }, { EthersAdapter }] = await Promise.all([import("@reown/appkit"), import("@reown/appkit-adapter-ethers")]);
|
|
76
|
+
WalletConnect.appKit = createAppKit({
|
|
70
77
|
projectId,
|
|
71
78
|
allWallets: "HIDE",
|
|
72
79
|
enableEIP6963: false,
|
|
73
80
|
enableInjected: false,
|
|
74
81
|
enableCoinbase: false,
|
|
75
82
|
enableReconnect: true,
|
|
76
|
-
adapters: [new
|
|
83
|
+
adapters: [new EthersAdapter()],
|
|
77
84
|
networks: [{
|
|
78
85
|
id: chainId,
|
|
79
86
|
name: "Injective",
|
|
@@ -128,11 +135,11 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
128
135
|
});
|
|
129
136
|
}
|
|
130
137
|
async initStrategy() {
|
|
131
|
-
this.createAppKit();
|
|
138
|
+
await this.createAppKit();
|
|
132
139
|
if (WalletConnect.sessionRestorePromise) await WalletConnect.sessionRestorePromise;
|
|
133
140
|
}
|
|
134
141
|
async getProvider() {
|
|
135
|
-
return this.createAppKit().getUniversalProvider();
|
|
142
|
+
return (await this.createAppKit()).getUniversalProvider();
|
|
136
143
|
}
|
|
137
144
|
async getWalletProvider(contextModule) {
|
|
138
145
|
const provider = (await this.getAppKit()).getWalletProvider();
|
|
@@ -145,7 +152,7 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
145
152
|
}
|
|
146
153
|
async getAppKit() {
|
|
147
154
|
await this.initStrategy();
|
|
148
|
-
const modal = this.createAppKit();
|
|
155
|
+
const modal = await this.createAppKit();
|
|
149
156
|
if (!modal.getIsConnectedState()) throw new __injectivelabs_exceptions.WalletException(/* @__PURE__ */ new Error("Wallet not connected. Please call enable() first."), {
|
|
150
157
|
code: __injectivelabs_exceptions.UnspecifiedErrorCode,
|
|
151
158
|
type: __injectivelabs_exceptions.ErrorType.WalletError,
|
|
@@ -155,12 +162,12 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
155
162
|
}
|
|
156
163
|
async enable() {
|
|
157
164
|
await this.initStrategy();
|
|
158
|
-
if (this.createAppKit().getIsConnectedState()) return true;
|
|
165
|
+
if ((await this.createAppKit()).getIsConnectedState()) return true;
|
|
159
166
|
await this.connect();
|
|
160
167
|
return true;
|
|
161
168
|
}
|
|
162
169
|
async connect() {
|
|
163
|
-
const modal = this.createAppKit();
|
|
170
|
+
const modal = await this.createAppKit();
|
|
164
171
|
if (modal.getIsConnectedState()) return;
|
|
165
172
|
try {
|
|
166
173
|
var _provider$client;
|
|
@@ -189,7 +196,7 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
189
196
|
}
|
|
190
197
|
async disconnect() {
|
|
191
198
|
try {
|
|
192
|
-
const modal = this.createAppKit();
|
|
199
|
+
const modal = await this.createAppKit();
|
|
193
200
|
const provider = modal.getWalletProvider();
|
|
194
201
|
if (provider === null || provider === void 0 ? void 0 : provider.removeListener) {
|
|
195
202
|
if (this.listeners[__injectivelabs_wallet_base.WalletEventListener.AccountChange]) provider.removeListener("accountsChanged", this.listeners[__injectivelabs_wallet_base.WalletEventListener.AccountChange]);
|
|
@@ -378,6 +385,7 @@ var WalletConnect = class WalletConnect extends __injectivelabs_wallet_base.Base
|
|
|
378
385
|
}
|
|
379
386
|
};
|
|
380
387
|
_defineProperty(WalletConnect, "appKit", void 0);
|
|
388
|
+
_defineProperty(WalletConnect, "appKitPromise", void 0);
|
|
381
389
|
_defineProperty(WalletConnect, "sessionRestorePromise", void 0);
|
|
382
390
|
|
|
383
391
|
//#endregion
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -6,9 +6,11 @@ import { AminoSignResponse, DirectSignResponse, TxRaw } from "@injectivelabs/sdk
|
|
|
6
6
|
//#region src/strategy/strategy.d.ts
|
|
7
7
|
declare class WalletConnect extends BaseConcreteStrategy implements ConcreteWalletStrategy {
|
|
8
8
|
private static appKit;
|
|
9
|
+
private static appKitPromise;
|
|
9
10
|
private static sessionRestorePromise;
|
|
10
11
|
getWalletDeviceType(): Promise<WalletDeviceType>;
|
|
11
12
|
private createAppKit;
|
|
13
|
+
private createAppKitInstance;
|
|
12
14
|
/**
|
|
13
15
|
* Waits for AppKit to restore session from localStorage on page refresh.
|
|
14
16
|
* Resolves immediately if already connected, otherwise waits for provider
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -6,9 +6,11 @@ import { AminoSignResponse, DirectSignResponse, TxRaw } from "@injectivelabs/sdk
|
|
|
6
6
|
//#region src/strategy/strategy.d.ts
|
|
7
7
|
declare class WalletConnect extends BaseConcreteStrategy implements ConcreteWalletStrategy {
|
|
8
8
|
private static appKit;
|
|
9
|
+
private static appKitPromise;
|
|
9
10
|
private static sessionRestorePromise;
|
|
10
11
|
getWalletDeviceType(): Promise<WalletDeviceType>;
|
|
11
12
|
private createAppKit;
|
|
13
|
+
private createAppKitInstance;
|
|
12
14
|
/**
|
|
13
15
|
* Waits for AppKit to restore session from localStorage on page refresh.
|
|
14
16
|
* Resolves immediately if already connected, otherwise waits for provider
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { createAppKit } from "@reown/appkit";
|
|
2
1
|
import { sleep } from "@injectivelabs/utils";
|
|
3
2
|
import { toUtf8 } from "@injectivelabs/sdk-ts/utils";
|
|
4
3
|
import { EvmChainId } from "@injectivelabs/ts-types";
|
|
5
4
|
import { TxGrpcApi } from "@injectivelabs/sdk-ts/core/tx";
|
|
6
|
-
import { EthersAdapter } from "@reown/appkit-adapter-ethers";
|
|
7
5
|
import { ErrorType, TransactionException, UnspecifiedErrorCode, WalletConnectException, WalletException } from "@injectivelabs/exceptions";
|
|
8
6
|
import { BaseConcreteStrategy, WalletAction, WalletConnectStrategyEventType, WalletDeviceType, WalletEventListener } from "@injectivelabs/wallet-base";
|
|
9
7
|
|
|
@@ -56,7 +54,7 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
56
54
|
async getWalletDeviceType() {
|
|
57
55
|
return Promise.resolve(WalletDeviceType.Browser);
|
|
58
56
|
}
|
|
59
|
-
createAppKit() {
|
|
57
|
+
async createAppKit() {
|
|
60
58
|
var _this$metadata;
|
|
61
59
|
const projectId = (_this$metadata = this.metadata) === null || _this$metadata === void 0 || (_this$metadata = _this$metadata.walletConnect) === null || _this$metadata === void 0 ? void 0 : _this$metadata.projectId;
|
|
62
60
|
if (!projectId) throw new WalletException(/* @__PURE__ */ new Error("Please provide projectId in metadata for WalletConnect"), {
|
|
@@ -65,7 +63,16 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
65
63
|
contextModule: WalletAction.GetAccounts
|
|
66
64
|
});
|
|
67
65
|
if (WalletConnect.appKit) return WalletConnect.appKit;
|
|
66
|
+
if (WalletConnect.appKitPromise) return WalletConnect.appKitPromise;
|
|
67
|
+
WalletConnect.appKitPromise = this.createAppKitInstance(projectId).catch((e) => {
|
|
68
|
+
WalletConnect.appKitPromise = void 0;
|
|
69
|
+
throw e;
|
|
70
|
+
});
|
|
71
|
+
return WalletConnect.appKitPromise;
|
|
72
|
+
}
|
|
73
|
+
async createAppKitInstance(projectId) {
|
|
68
74
|
const chainId = this.evmChainId || EvmChainId.Mainnet;
|
|
75
|
+
const [{ createAppKit }, { EthersAdapter }] = await Promise.all([import("@reown/appkit"), import("@reown/appkit-adapter-ethers")]);
|
|
69
76
|
WalletConnect.appKit = createAppKit({
|
|
70
77
|
projectId,
|
|
71
78
|
allWallets: "HIDE",
|
|
@@ -128,11 +135,11 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
128
135
|
});
|
|
129
136
|
}
|
|
130
137
|
async initStrategy() {
|
|
131
|
-
this.createAppKit();
|
|
138
|
+
await this.createAppKit();
|
|
132
139
|
if (WalletConnect.sessionRestorePromise) await WalletConnect.sessionRestorePromise;
|
|
133
140
|
}
|
|
134
141
|
async getProvider() {
|
|
135
|
-
return this.createAppKit().getUniversalProvider();
|
|
142
|
+
return (await this.createAppKit()).getUniversalProvider();
|
|
136
143
|
}
|
|
137
144
|
async getWalletProvider(contextModule) {
|
|
138
145
|
const provider = (await this.getAppKit()).getWalletProvider();
|
|
@@ -145,7 +152,7 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
145
152
|
}
|
|
146
153
|
async getAppKit() {
|
|
147
154
|
await this.initStrategy();
|
|
148
|
-
const modal = this.createAppKit();
|
|
155
|
+
const modal = await this.createAppKit();
|
|
149
156
|
if (!modal.getIsConnectedState()) throw new WalletException(/* @__PURE__ */ new Error("Wallet not connected. Please call enable() first."), {
|
|
150
157
|
code: UnspecifiedErrorCode,
|
|
151
158
|
type: ErrorType.WalletError,
|
|
@@ -155,12 +162,12 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
155
162
|
}
|
|
156
163
|
async enable() {
|
|
157
164
|
await this.initStrategy();
|
|
158
|
-
if (this.createAppKit().getIsConnectedState()) return true;
|
|
165
|
+
if ((await this.createAppKit()).getIsConnectedState()) return true;
|
|
159
166
|
await this.connect();
|
|
160
167
|
return true;
|
|
161
168
|
}
|
|
162
169
|
async connect() {
|
|
163
|
-
const modal = this.createAppKit();
|
|
170
|
+
const modal = await this.createAppKit();
|
|
164
171
|
if (modal.getIsConnectedState()) return;
|
|
165
172
|
try {
|
|
166
173
|
var _provider$client;
|
|
@@ -189,7 +196,7 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
189
196
|
}
|
|
190
197
|
async disconnect() {
|
|
191
198
|
try {
|
|
192
|
-
const modal = this.createAppKit();
|
|
199
|
+
const modal = await this.createAppKit();
|
|
193
200
|
const provider = modal.getWalletProvider();
|
|
194
201
|
if (provider === null || provider === void 0 ? void 0 : provider.removeListener) {
|
|
195
202
|
if (this.listeners[WalletEventListener.AccountChange]) provider.removeListener("accountsChanged", this.listeners[WalletEventListener.AccountChange]);
|
|
@@ -378,6 +385,7 @@ var WalletConnect = class WalletConnect extends BaseConcreteStrategy {
|
|
|
378
385
|
}
|
|
379
386
|
};
|
|
380
387
|
_defineProperty(WalletConnect, "appKit", void 0);
|
|
388
|
+
_defineProperty(WalletConnect, "appKitPromise", void 0);
|
|
381
389
|
_defineProperty(WalletConnect, "sessionRestorePromise", void 0);
|
|
382
390
|
|
|
383
391
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@injectivelabs/wallet-wallet-connect",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.10",
|
|
4
4
|
"description": "Wallet connect strategy for use with @injectivelabs/wallet-core.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@reown/appkit": "1.8.15",
|
|
46
46
|
"@reown/appkit-adapter-ethers": "1.8.15",
|
|
47
|
-
"@injectivelabs/exceptions": "1.20.
|
|
48
|
-
"@injectivelabs/sdk-ts": "1.20.
|
|
49
|
-
"@injectivelabs/
|
|
50
|
-
"@injectivelabs/
|
|
47
|
+
"@injectivelabs/exceptions": "1.20.10",
|
|
48
|
+
"@injectivelabs/sdk-ts": "1.20.10",
|
|
49
|
+
"@injectivelabs/wallet-base": "1.20.10",
|
|
50
|
+
"@injectivelabs/ts-types": "1.20.10"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public"
|