@aptos-labs/wallet-adapter-core 4.24.0 → 5.0.0
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/WalletCore.d.ts +71 -112
- package/dist/WalletCore.d.ts.map +1 -1
- package/dist/constants.d.ts +4 -14
- package/dist/constants.d.ts.map +1 -1
- package/dist/error/index.d.ts +3 -0
- package/dist/error/index.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +384 -864
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +411 -898
- package/dist/index.mjs.map +1 -1
- package/dist/{AIP62StandardWallets/registry.d.ts → registry.d.ts} +1 -1
- package/dist/registry.d.ts.map +1 -0
- package/dist/sdkWallets.d.ts +3 -0
- package/dist/sdkWallets.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +7 -7
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/localStorage.d.ts +1 -2
- package/dist/utils/localStorage.d.ts.map +1 -1
- package/dist/utils/types.d.ts +26 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/walletSelector.d.ts +18 -19
- package/dist/utils/walletSelector.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/WalletCore.ts +466 -678
- package/src/constants.ts +3 -13
- package/src/error/index.ts +4 -0
- package/src/ga/index.ts +1 -1
- package/src/index.ts +3 -3
- package/src/{AIP62StandardWallets/registry.ts → registry.ts} +21 -7
- package/src/{AIP62StandardWallets/sdkWallets.ts → sdkWallets.ts} +5 -5
- package/src/utils/helpers.ts +42 -28
- package/src/utils/index.ts +1 -1
- package/src/utils/localStorage.ts +1 -3
- package/src/{AIP62StandardWallets → utils}/types.ts +22 -3
- package/src/utils/walletSelector.ts +31 -23
- package/src/version.ts +1 -1
- package/dist/AIP62StandardWallets/WalletStandard.d.ts +0 -44
- package/dist/AIP62StandardWallets/WalletStandard.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/index.d.ts +0 -3
- package/dist/AIP62StandardWallets/index.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/registry.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/sdkWallets.d.ts +0 -4
- package/dist/AIP62StandardWallets/sdkWallets.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/types.d.ts +0 -12
- package/dist/AIP62StandardWallets/types.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/WalletCoreV1.d.ts +0 -50
- package/dist/LegacyWalletPlugins/WalletCoreV1.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/conversion.d.ts +0 -21
- package/dist/LegacyWalletPlugins/conversion.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/index.d.ts +0 -4
- package/dist/LegacyWalletPlugins/index.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/types.d.ts +0 -116
- package/dist/LegacyWalletPlugins/types.d.ts.map +0 -1
- package/dist/__tests__/WalletCore.test.d.ts +0 -2
- package/dist/__tests__/WalletCore.test.d.ts.map +0 -1
- package/dist/utils/scopePollingDetectionStrategy.d.ts +0 -2
- package/dist/utils/scopePollingDetectionStrategy.d.ts.map +0 -1
- package/src/AIP62StandardWallets/WalletStandard.ts +0 -242
- package/src/AIP62StandardWallets/index.ts +0 -2
- package/src/LegacyWalletPlugins/WalletCoreV1.ts +0 -258
- package/src/LegacyWalletPlugins/conversion.ts +0 -126
- package/src/LegacyWalletPlugins/index.ts +0 -3
- package/src/LegacyWalletPlugins/types.ts +0 -188
- package/src/utils/scopePollingDetectionStrategy.ts +0 -46
package/dist/index.mjs
CHANGED
|
@@ -1,87 +1,55 @@
|
|
|
1
1
|
// src/version.ts
|
|
2
|
-
var WALLET_ADAPTER_CORE_VERSION = "
|
|
2
|
+
var WALLET_ADAPTER_CORE_VERSION = "5.0.0";
|
|
3
3
|
|
|
4
4
|
// src/WalletCore.ts
|
|
5
|
-
import
|
|
5
|
+
import EventEmitter from "eventemitter3";
|
|
6
6
|
import {
|
|
7
|
-
Network as Network4,
|
|
8
7
|
AccountAddress,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
AnyPublicKey,
|
|
9
|
+
AnyPublicKeyVariant,
|
|
10
|
+
Aptos as Aptos2,
|
|
11
|
+
MultiEd25519PublicKey,
|
|
12
|
+
MultiEd25519Signature,
|
|
13
|
+
Network as Network3,
|
|
15
14
|
NetworkToChainId
|
|
16
15
|
} from "@aptos-labs/ts-sdk";
|
|
17
|
-
import EventEmitter2 from "eventemitter3";
|
|
18
16
|
import {
|
|
19
17
|
getAptosWallets,
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
isWalletWithRequiredFeatureSet,
|
|
19
|
+
UserResponseStatus
|
|
22
20
|
} from "@aptos-labs/wallet-standard";
|
|
23
21
|
|
|
24
|
-
// src/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
import { Network } from "@aptos-labs/ts-sdk";
|
|
30
|
-
import { DevTWallet, TWallet } from "@atomrigslab/aptos-wallet-adapter";
|
|
31
|
-
import { MizuWallet } from "@mizuwallet-sdk/aptos-wallet-adapter";
|
|
32
|
-
function getSDKWallets(dappConfig) {
|
|
33
|
-
const sdkWallets = [];
|
|
34
|
-
if (typeof window !== "undefined") {
|
|
35
|
-
sdkWallets.push(
|
|
36
|
-
new AptosConnectGoogleWallet({
|
|
37
|
-
network: dappConfig == null ? void 0 : dappConfig.network,
|
|
38
|
-
dappId: dappConfig == null ? void 0 : dappConfig.aptosConnectDappId,
|
|
39
|
-
...dappConfig == null ? void 0 : dappConfig.aptosConnect
|
|
40
|
-
}),
|
|
41
|
-
new AptosConnectAppleWallet({
|
|
42
|
-
network: dappConfig == null ? void 0 : dappConfig.network,
|
|
43
|
-
dappId: dappConfig == null ? void 0 : dappConfig.aptosConnectDappId,
|
|
44
|
-
...dappConfig == null ? void 0 : dappConfig.aptosConnect
|
|
45
|
-
})
|
|
46
|
-
);
|
|
47
|
-
if ((dappConfig == null ? void 0 : dappConfig.mizuwallet) && (dappConfig == null ? void 0 : dappConfig.network) && [Network.MAINNET, Network.TESTNET].includes(dappConfig.network)) {
|
|
48
|
-
sdkWallets.push(
|
|
49
|
-
new MizuWallet({
|
|
50
|
-
network: dappConfig.network,
|
|
51
|
-
manifestURL: dappConfig.mizuwallet.manifestURL,
|
|
52
|
-
appId: dappConfig.mizuwallet.appId
|
|
53
|
-
})
|
|
54
|
-
);
|
|
55
|
-
}
|
|
22
|
+
// src/ga/index.ts
|
|
23
|
+
var GA4 = class {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.aptosGAID = "G-GNVVWBL3J9";
|
|
26
|
+
this.injectGA(this.aptosGAID);
|
|
56
27
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
28
|
+
gtag(a, b, c) {
|
|
29
|
+
let dataLayer = window.dataLayer || [];
|
|
30
|
+
dataLayer.push(arguments);
|
|
31
|
+
}
|
|
32
|
+
injectGA(gaID) {
|
|
33
|
+
if (typeof window === "undefined")
|
|
34
|
+
return;
|
|
35
|
+
if (!gaID)
|
|
36
|
+
return;
|
|
37
|
+
const head = document.getElementsByTagName("head")[0];
|
|
38
|
+
var myScript = document.createElement("script");
|
|
39
|
+
myScript.setAttribute(
|
|
40
|
+
"src",
|
|
41
|
+
`https://www.googletagmanager.com/gtag/js?id=${gaID}`
|
|
42
|
+
);
|
|
43
|
+
const that = this;
|
|
44
|
+
myScript.onload = function() {
|
|
45
|
+
that.gtag("js", new Date());
|
|
46
|
+
that.gtag("config", `${gaID}`, {
|
|
47
|
+
send_page_view: false
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
head.insertBefore(myScript, head.children[1]);
|
|
61
51
|
}
|
|
62
|
-
return sdkWallets;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// src/constants.ts
|
|
66
|
-
var WalletReadyState = /* @__PURE__ */ ((WalletReadyState2) => {
|
|
67
|
-
WalletReadyState2["Installed"] = "Installed";
|
|
68
|
-
WalletReadyState2["NotDetected"] = "NotDetected";
|
|
69
|
-
WalletReadyState2["Loadable"] = "Loadable";
|
|
70
|
-
WalletReadyState2["Unsupported"] = "Unsupported";
|
|
71
|
-
return WalletReadyState2;
|
|
72
|
-
})(WalletReadyState || {});
|
|
73
|
-
var NetworkName = /* @__PURE__ */ ((NetworkName2) => {
|
|
74
|
-
NetworkName2["Mainnet"] = "mainnet";
|
|
75
|
-
NetworkName2["Testnet"] = "testnet";
|
|
76
|
-
NetworkName2["Devnet"] = "devnet";
|
|
77
|
-
return NetworkName2;
|
|
78
|
-
})(NetworkName || {});
|
|
79
|
-
var ChainIdToAnsSupportedNetworkMap = {
|
|
80
|
-
"1": "mainnet",
|
|
81
|
-
"2": "testnet"
|
|
82
52
|
};
|
|
83
|
-
var APTOS_CONNECT_BASE_URL = "https://aptosconnect.app";
|
|
84
|
-
var APTOS_CONNECT_ACCOUNT_URL = "https://aptosconnect.app/dashboard/main-account";
|
|
85
53
|
|
|
86
54
|
// src/error/index.ts
|
|
87
55
|
var WalletError = class extends Error {
|
|
@@ -168,119 +136,45 @@ var WalletSignTransactionError = class extends WalletError {
|
|
|
168
136
|
this.name = "WalletSignTransactionError";
|
|
169
137
|
}
|
|
170
138
|
};
|
|
171
|
-
var
|
|
139
|
+
var WalletChangeNetworkError = class extends WalletError {
|
|
172
140
|
constructor() {
|
|
173
141
|
super(...arguments);
|
|
174
|
-
this.name = "
|
|
142
|
+
this.name = "WalletChangeNetworkError";
|
|
175
143
|
}
|
|
176
144
|
};
|
|
177
|
-
var
|
|
145
|
+
var WalletSubmitTransactionError = class extends WalletError {
|
|
178
146
|
constructor() {
|
|
179
147
|
super(...arguments);
|
|
180
|
-
this.name = "
|
|
148
|
+
this.name = "WalletSubmitTransactionError";
|
|
181
149
|
}
|
|
182
150
|
};
|
|
183
151
|
|
|
184
|
-
// src/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
case "mainnet":
|
|
203
|
-
return Network2.MAINNET;
|
|
204
|
-
case "testnet":
|
|
205
|
-
return Network2.TESTNET;
|
|
206
|
-
case "devnet":
|
|
207
|
-
return Network2.DEVNET;
|
|
208
|
-
case "local":
|
|
209
|
-
return Network2.LOCAL;
|
|
210
|
-
default:
|
|
211
|
-
throw new Error("Invalid Aptos network name");
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
function convertV2TransactionPayloadToV1BCSPayload(payload) {
|
|
215
|
-
const deserializer = new BCS.Deserializer(payload.bcsToBytes());
|
|
216
|
-
return TxnBuilderTypes.TransactionPayload.deserialize(deserializer);
|
|
217
|
-
}
|
|
218
|
-
function convertV2PayloadToV1JSONPayload(payload) {
|
|
219
|
-
var _a, _b;
|
|
220
|
-
if ("bytecode" in payload) {
|
|
221
|
-
throw new Error("script payload not supported");
|
|
222
|
-
} else if ("multisigAddress" in payload) {
|
|
223
|
-
const stringTypeTags = (_a = payload.typeArguments) == null ? void 0 : _a.map(
|
|
224
|
-
(typeTag) => {
|
|
225
|
-
if (typeTag instanceof TypeTag) {
|
|
226
|
-
return typeTag.toString();
|
|
227
|
-
}
|
|
228
|
-
return typeTag;
|
|
229
|
-
}
|
|
230
|
-
);
|
|
231
|
-
const newPayload = {
|
|
232
|
-
type: "multisig_payload",
|
|
233
|
-
multisig_address: payload.multisigAddress.toString(),
|
|
234
|
-
function: payload.function,
|
|
235
|
-
type_arguments: stringTypeTags || [],
|
|
236
|
-
arguments: payload.functionArguments
|
|
237
|
-
};
|
|
238
|
-
return newPayload;
|
|
239
|
-
} else {
|
|
240
|
-
const stringTypeTags = (_b = payload.typeArguments) == null ? void 0 : _b.map(
|
|
241
|
-
(typeTag) => {
|
|
242
|
-
if (typeTag instanceof TypeTag) {
|
|
243
|
-
return typeTag.toString();
|
|
244
|
-
}
|
|
245
|
-
return typeTag;
|
|
246
|
-
}
|
|
247
|
-
);
|
|
248
|
-
const newPayload = {
|
|
249
|
-
type: "entry_function_payload",
|
|
250
|
-
function: payload.function,
|
|
251
|
-
type_arguments: stringTypeTags || [],
|
|
252
|
-
arguments: payload.functionArguments
|
|
253
|
-
};
|
|
254
|
-
return newPayload;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
function convertPayloadInputV1ToV2(inputV1) {
|
|
258
|
-
if ("function" in inputV1) {
|
|
259
|
-
const inputV2 = {
|
|
260
|
-
function: inputV1.function,
|
|
261
|
-
functionArguments: inputV1.arguments,
|
|
262
|
-
typeArguments: inputV1.type_arguments
|
|
263
|
-
};
|
|
264
|
-
return inputV2;
|
|
265
|
-
}
|
|
266
|
-
throw new Error("Payload type not supported");
|
|
267
|
-
}
|
|
268
|
-
async function generateTransactionPayloadFromV1Input(aptosConfig, inputV1) {
|
|
269
|
-
if ("function" in inputV1) {
|
|
270
|
-
const inputV2 = convertPayloadInputV1ToV2(inputV1);
|
|
271
|
-
return generateTransactionPayload({ ...inputV2, aptosConfig });
|
|
272
|
-
}
|
|
273
|
-
throw new Error("Payload type not supported");
|
|
274
|
-
}
|
|
152
|
+
// src/constants.ts
|
|
153
|
+
var WalletReadyState = /* @__PURE__ */ ((WalletReadyState2) => {
|
|
154
|
+
WalletReadyState2["Installed"] = "Installed";
|
|
155
|
+
WalletReadyState2["NotDetected"] = "NotDetected";
|
|
156
|
+
return WalletReadyState2;
|
|
157
|
+
})(WalletReadyState || {});
|
|
158
|
+
var NetworkName = /* @__PURE__ */ ((NetworkName2) => {
|
|
159
|
+
NetworkName2["Mainnet"] = "mainnet";
|
|
160
|
+
NetworkName2["Testnet"] = "testnet";
|
|
161
|
+
NetworkName2["Devnet"] = "devnet";
|
|
162
|
+
return NetworkName2;
|
|
163
|
+
})(NetworkName || {});
|
|
164
|
+
var ChainIdToAnsSupportedNetworkMap = {
|
|
165
|
+
"1": "mainnet",
|
|
166
|
+
"2": "testnet"
|
|
167
|
+
};
|
|
168
|
+
var APTOS_CONNECT_BASE_URL = "https://aptosconnect.app";
|
|
169
|
+
var APTOS_CONNECT_ACCOUNT_URL = "https://aptosconnect.app/dashboard/main-account";
|
|
275
170
|
|
|
276
171
|
// src/utils/helpers.ts
|
|
277
172
|
import {
|
|
278
173
|
Aptos,
|
|
279
|
-
AptosConfig
|
|
174
|
+
AptosConfig,
|
|
280
175
|
Hex,
|
|
281
|
-
Network
|
|
282
|
-
NetworkToNodeAPI
|
|
283
|
-
Serializable
|
|
176
|
+
Network,
|
|
177
|
+
NetworkToNodeAPI
|
|
284
178
|
} from "@aptos-labs/ts-sdk";
|
|
285
179
|
function isMobile() {
|
|
286
180
|
return /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/i.test(
|
|
@@ -304,13 +198,6 @@ function isRedirectable() {
|
|
|
304
198
|
function generalizedErrorMessage(error) {
|
|
305
199
|
return typeof error === "object" && "message" in error ? error.message : error;
|
|
306
200
|
}
|
|
307
|
-
var areBCSArguments = (args) => {
|
|
308
|
-
if (args.length === 0)
|
|
309
|
-
return false;
|
|
310
|
-
return args.every(
|
|
311
|
-
(arg) => arg instanceof Serializable
|
|
312
|
-
);
|
|
313
|
-
};
|
|
314
201
|
var getAptosConfig = (networkInfo, dappConfig) => {
|
|
315
202
|
if (!networkInfo) {
|
|
316
203
|
throw new Error("Undefined network");
|
|
@@ -319,19 +206,32 @@ var getAptosConfig = (networkInfo, dappConfig) => {
|
|
|
319
206
|
const currentNetwork = convertNetwork(networkInfo);
|
|
320
207
|
if (isAptosLiveNetwork(currentNetwork)) {
|
|
321
208
|
const apiKey = dappConfig == null ? void 0 : dappConfig.aptosApiKeys;
|
|
322
|
-
return new
|
|
209
|
+
return new AptosConfig({
|
|
323
210
|
network: currentNetwork,
|
|
324
211
|
clientConfig: { API_KEY: apiKey ? apiKey[currentNetwork] : void 0 }
|
|
325
212
|
});
|
|
326
213
|
}
|
|
327
|
-
return new
|
|
214
|
+
return new AptosConfig({
|
|
328
215
|
network: currentNetwork
|
|
329
216
|
});
|
|
330
217
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
218
|
+
const knownNetworks = {
|
|
219
|
+
okx: "https://wallet.okx.com/fullnode/aptos/discover/rpc"
|
|
220
|
+
};
|
|
221
|
+
if (networkInfo.url) {
|
|
222
|
+
const isKnownNetwork = Object.values(knownNetworks).includes(
|
|
223
|
+
networkInfo.url
|
|
224
|
+
);
|
|
225
|
+
if (isKnownNetwork) {
|
|
226
|
+
return new AptosConfig({
|
|
227
|
+
network: Network.CUSTOM,
|
|
228
|
+
fullnode: networkInfo.url
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
throw new Error(
|
|
233
|
+
`Invalid network, network ${networkInfo.name} not supported with Aptos wallet adapter to prevent user from using an unexpected network.`
|
|
234
|
+
);
|
|
335
235
|
};
|
|
336
236
|
var isAptosNetwork = (networkInfo) => {
|
|
337
237
|
if (!networkInfo) {
|
|
@@ -366,6 +266,20 @@ var handlePublishPackageTransaction = (transactionInput) => {
|
|
|
366
266
|
}
|
|
367
267
|
return { metadataBytes, byteCode };
|
|
368
268
|
};
|
|
269
|
+
function convertNetwork(networkInfo) {
|
|
270
|
+
switch (networkInfo == null ? void 0 : networkInfo.name) {
|
|
271
|
+
case "mainnet":
|
|
272
|
+
return Network.MAINNET;
|
|
273
|
+
case "testnet":
|
|
274
|
+
return Network.TESTNET;
|
|
275
|
+
case "devnet":
|
|
276
|
+
return Network.DEVNET;
|
|
277
|
+
case "local":
|
|
278
|
+
return Network.LOCAL;
|
|
279
|
+
default:
|
|
280
|
+
throw new Error("Invalid Aptos network name");
|
|
281
|
+
}
|
|
282
|
+
}
|
|
369
283
|
|
|
370
284
|
// src/utils/localStorage.ts
|
|
371
285
|
var LOCAL_STORAGE_ITEM_KEY = "AptosWalletName";
|
|
@@ -379,36 +293,6 @@ function getLocalStorage() {
|
|
|
379
293
|
localStorage.getItem(LOCAL_STORAGE_ITEM_KEY);
|
|
380
294
|
}
|
|
381
295
|
|
|
382
|
-
// src/utils/scopePollingDetectionStrategy.ts
|
|
383
|
-
function scopePollingDetectionStrategy(detect) {
|
|
384
|
-
if (typeof window === "undefined" || typeof document === "undefined")
|
|
385
|
-
return;
|
|
386
|
-
const disposers = [];
|
|
387
|
-
function detectAndDispose() {
|
|
388
|
-
const detected = detect();
|
|
389
|
-
if (detected) {
|
|
390
|
-
for (const dispose of disposers) {
|
|
391
|
-
dispose();
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
const interval = setInterval(detectAndDispose, 1e3);
|
|
396
|
-
disposers.push(() => clearInterval(interval));
|
|
397
|
-
if (document.readyState === "loading") {
|
|
398
|
-
document.addEventListener("DOMContentLoaded", detectAndDispose, {
|
|
399
|
-
once: true
|
|
400
|
-
});
|
|
401
|
-
disposers.push(
|
|
402
|
-
() => document.removeEventListener("DOMContentLoaded", detectAndDispose)
|
|
403
|
-
);
|
|
404
|
-
}
|
|
405
|
-
if (document.readyState !== "complete") {
|
|
406
|
-
window.addEventListener("load", detectAndDispose, { once: true });
|
|
407
|
-
disposers.push(() => window.removeEventListener("load", detectAndDispose));
|
|
408
|
-
}
|
|
409
|
-
detectAndDispose();
|
|
410
|
-
}
|
|
411
|
-
|
|
412
296
|
// src/utils/walletSelector.ts
|
|
413
297
|
function partitionWallets(wallets, partitionFunction = isInstalledOrLoadable) {
|
|
414
298
|
const defaultWallets = [];
|
|
@@ -422,7 +306,7 @@ function partitionWallets(wallets, partitionFunction = isInstalledOrLoadable) {
|
|
|
422
306
|
return { defaultWallets, moreWallets };
|
|
423
307
|
}
|
|
424
308
|
function isInstalledOrLoadable(wallet) {
|
|
425
|
-
return wallet.readyState === "Installed" /* Installed
|
|
309
|
+
return wallet.readyState === "Installed" /* Installed */;
|
|
426
310
|
}
|
|
427
311
|
function isInstallRequired(wallet) {
|
|
428
312
|
const isWalletReady = isInstalledOrLoadable(wallet);
|
|
@@ -436,333 +320,44 @@ function truncateAddress(address) {
|
|
|
436
320
|
}
|
|
437
321
|
function isAptosConnectWallet(wallet) {
|
|
438
322
|
if (!wallet.url)
|
|
439
|
-
return false;
|
|
440
|
-
return wallet.url.startsWith(APTOS_CONNECT_BASE_URL);
|
|
441
|
-
}
|
|
442
|
-
function getAptosConnectWallets(wallets) {
|
|
443
|
-
const { defaultWallets, moreWallets } = partitionWallets(
|
|
444
|
-
wallets,
|
|
445
|
-
isAptosConnectWallet
|
|
446
|
-
);
|
|
447
|
-
return { aptosConnectWallets: defaultWallets, otherWallets: moreWallets };
|
|
448
|
-
}
|
|
449
|
-
function groupAndSortWallets(wallets, options) {
|
|
450
|
-
const { aptosConnectWallets, otherWallets } = getAptosConnectWallets(wallets);
|
|
451
|
-
const { defaultWallets, moreWallets } = partitionWallets(otherWallets);
|
|
452
|
-
if (options == null ? void 0 : options.sortAptosConnectWallets) {
|
|
453
|
-
aptosConnectWallets.sort(options.sortAptosConnectWallets);
|
|
454
|
-
}
|
|
455
|
-
if (options == null ? void 0 : options.sortAvailableWallets) {
|
|
456
|
-
defaultWallets.sort(options.sortAvailableWallets);
|
|
457
|
-
}
|
|
458
|
-
if (options == null ? void 0 : options.sortInstallableWallets) {
|
|
459
|
-
moreWallets.sort(options.sortInstallableWallets);
|
|
460
|
-
}
|
|
461
|
-
return {
|
|
462
|
-
aptosConnectWallets,
|
|
463
|
-
availableWallets: defaultWallets,
|
|
464
|
-
installableWallets: moreWallets
|
|
465
|
-
};
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
// src/LegacyWalletPlugins/WalletCoreV1.ts
|
|
469
|
-
var WalletCoreV1 = class extends EventEmitter {
|
|
470
|
-
async connect(wallet) {
|
|
471
|
-
const account = await wallet.connect();
|
|
472
|
-
return account;
|
|
473
|
-
}
|
|
474
|
-
async resolveSignAndSubmitTransaction(payloadData, network, wallet, transactionInput, dappConfig) {
|
|
475
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
476
|
-
if (areBCSArguments(payloadData.functionArguments)) {
|
|
477
|
-
const aptosConfig = getAptosConfig(network, dappConfig);
|
|
478
|
-
const newPayload = await generateTransactionPayload2({
|
|
479
|
-
...payloadData,
|
|
480
|
-
aptosConfig
|
|
481
|
-
});
|
|
482
|
-
const oldTransactionPayload2 = convertV2TransactionPayloadToV1BCSPayload(newPayload);
|
|
483
|
-
return await this.signAndSubmitBCSTransaction(
|
|
484
|
-
oldTransactionPayload2,
|
|
485
|
-
wallet,
|
|
486
|
-
{
|
|
487
|
-
max_gas_amount: ((_a = transactionInput.options) == null ? void 0 : _a.maxGasAmount) ? BigInt((_b = transactionInput.options) == null ? void 0 : _b.maxGasAmount) : void 0,
|
|
488
|
-
gas_unit_price: ((_c = transactionInput.options) == null ? void 0 : _c.gasUnitPrice) ? BigInt((_d = transactionInput.options) == null ? void 0 : _d.gasUnitPrice) : void 0
|
|
489
|
-
}
|
|
490
|
-
);
|
|
491
|
-
}
|
|
492
|
-
const oldTransactionPayload = convertV2PayloadToV1JSONPayload(payloadData);
|
|
493
|
-
return await this.signAndSubmitTransaction(oldTransactionPayload, wallet, {
|
|
494
|
-
max_gas_amount: ((_e = transactionInput.options) == null ? void 0 : _e.maxGasAmount) ? BigInt((_f = transactionInput.options) == null ? void 0 : _f.maxGasAmount) : void 0,
|
|
495
|
-
gas_unit_price: ((_g = transactionInput.options) == null ? void 0 : _g.gasUnitPrice) ? BigInt((_h = transactionInput.options) == null ? void 0 : _h.gasUnitPrice) : void 0
|
|
496
|
-
});
|
|
497
|
-
}
|
|
498
|
-
async signAndSubmitTransaction(transaction, wallet, options) {
|
|
499
|
-
try {
|
|
500
|
-
const response = await wallet.signAndSubmitTransaction(
|
|
501
|
-
transaction,
|
|
502
|
-
options
|
|
503
|
-
);
|
|
504
|
-
return response;
|
|
505
|
-
} catch (error) {
|
|
506
|
-
const errMsg = typeof error == "object" && "message" in error ? error.message : error;
|
|
507
|
-
throw new WalletSignAndSubmitMessageError(errMsg).message;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
async signAndSubmitBCSTransaction(transaction, wallet, options) {
|
|
511
|
-
if (!("signAndSubmitBCSTransaction" in wallet)) {
|
|
512
|
-
throw new WalletNotSupportedMethod(
|
|
513
|
-
`Submit a BCS Transaction is not supported by ${wallet.name}`
|
|
514
|
-
).message;
|
|
515
|
-
}
|
|
516
|
-
try {
|
|
517
|
-
const response = await wallet.signAndSubmitBCSTransaction(
|
|
518
|
-
transaction,
|
|
519
|
-
options
|
|
520
|
-
);
|
|
521
|
-
return response;
|
|
522
|
-
} catch (error) {
|
|
523
|
-
const errMsg = typeof error == "object" && "message" in error ? error.message : error;
|
|
524
|
-
throw new WalletSignAndSubmitMessageError(errMsg).message;
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
async signTransaction(transaction, wallet, options) {
|
|
528
|
-
try {
|
|
529
|
-
const response = await wallet.signTransaction(
|
|
530
|
-
transaction,
|
|
531
|
-
options
|
|
532
|
-
);
|
|
533
|
-
return response;
|
|
534
|
-
} catch (error) {
|
|
535
|
-
const errMsg = typeof error == "object" && "message" in error ? error.message : error;
|
|
536
|
-
throw new WalletSignTransactionError(errMsg).message;
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
async signMessageAndVerify(message, wallet, account) {
|
|
540
|
-
try {
|
|
541
|
-
const response = await wallet.signMessage(message);
|
|
542
|
-
if (!response)
|
|
543
|
-
throw new WalletSignMessageAndVerifyError("Failed to sign a message").message;
|
|
544
|
-
console.log("signMessageAndVerify signMessage response", response);
|
|
545
|
-
let verified = false;
|
|
546
|
-
if (Array.isArray(response.signature)) {
|
|
547
|
-
const { fullMessage, signature, bitmap } = response;
|
|
548
|
-
if (bitmap) {
|
|
549
|
-
const minKeysRequired = account.minKeysRequired;
|
|
550
|
-
if (signature.length < minKeysRequired) {
|
|
551
|
-
verified = false;
|
|
552
|
-
} else {
|
|
553
|
-
const bits = Array.from(bitmap).flatMap(
|
|
554
|
-
(n) => Array.from({ length: 8 }).map((_, i) => n >> i & 1)
|
|
555
|
-
);
|
|
556
|
-
const index = bits.map((_, i) => i).filter((i) => bits[i]);
|
|
557
|
-
const publicKeys = account.publicKey;
|
|
558
|
-
const matchedPublicKeys = publicKeys.filter(
|
|
559
|
-
(_, i) => index.includes(i)
|
|
560
|
-
);
|
|
561
|
-
verified = true;
|
|
562
|
-
for (let i = 0; i < signature.length; i++) {
|
|
563
|
-
const isSigVerified = nacl.sign.detached.verify(
|
|
564
|
-
Buffer.from(fullMessage),
|
|
565
|
-
Buffer.from(signature[i], "hex"),
|
|
566
|
-
Buffer.from(matchedPublicKeys[i], "hex")
|
|
567
|
-
);
|
|
568
|
-
if (!isSigVerified) {
|
|
569
|
-
verified = false;
|
|
570
|
-
break;
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
} else {
|
|
575
|
-
throw new WalletSignMessageAndVerifyError("Failed to get a bitmap").message;
|
|
576
|
-
}
|
|
577
|
-
} else {
|
|
578
|
-
const currentAccountPublicKey = new HexString(
|
|
579
|
-
account.publicKey
|
|
580
|
-
);
|
|
581
|
-
const signature = new HexString(
|
|
582
|
-
response.signature
|
|
583
|
-
);
|
|
584
|
-
verified = nacl.sign.detached.verify(
|
|
585
|
-
Buffer.from(response.fullMessage),
|
|
586
|
-
Buffer.from(signature.noPrefix(), "hex"),
|
|
587
|
-
Buffer.from(currentAccountPublicKey.noPrefix(), "hex")
|
|
588
|
-
);
|
|
589
|
-
}
|
|
590
|
-
return verified;
|
|
591
|
-
} catch (error) {
|
|
592
|
-
const errMsg = generalizedErrorMessage(error);
|
|
593
|
-
throw new WalletSignMessageAndVerifyError(errMsg).message;
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
};
|
|
597
|
-
|
|
598
|
-
// src/LegacyWalletPlugins/types.ts
|
|
599
|
-
import { TxnBuilderTypes as TxnBuilderTypes3, Types as Types3 } from "aptos";
|
|
600
|
-
|
|
601
|
-
// src/AIP62StandardWallets/WalletStandard.ts
|
|
602
|
-
import {
|
|
603
|
-
UserResponseStatus
|
|
604
|
-
} from "@aptos-labs/wallet-standard";
|
|
605
|
-
import {
|
|
606
|
-
AnyPublicKey,
|
|
607
|
-
AnyPublicKeyVariant,
|
|
608
|
-
MultiEd25519Signature,
|
|
609
|
-
MultiEd25519PublicKey
|
|
610
|
-
} from "@aptos-labs/ts-sdk";
|
|
611
|
-
var WalletStandardCore = class {
|
|
612
|
-
async connect(wallet) {
|
|
613
|
-
const response = await wallet.connect();
|
|
614
|
-
if (response.status === UserResponseStatus.REJECTED) {
|
|
615
|
-
throw new WalletConnectionError("User has rejected the request").message;
|
|
616
|
-
}
|
|
617
|
-
return response.args;
|
|
618
|
-
}
|
|
619
|
-
async signAndSubmitTransaction(transactionInput, aptos, account, wallet, standardWallets) {
|
|
620
|
-
var _a, _b, _c;
|
|
621
|
-
try {
|
|
622
|
-
const standardWallet = standardWallets.find(
|
|
623
|
-
(standardWallet2) => wallet.name === standardWallet2.name
|
|
624
|
-
);
|
|
625
|
-
if (((_a = standardWallet == null ? void 0 : standardWallet.features["aptos:signAndSubmitTransaction"]) == null ? void 0 : _a.version) !== "1.1.0") {
|
|
626
|
-
const transaction2 = await aptos.transaction.build.simple({
|
|
627
|
-
sender: account.address.toString(),
|
|
628
|
-
data: transactionInput.data,
|
|
629
|
-
options: transactionInput.options
|
|
630
|
-
});
|
|
631
|
-
const response2 = await wallet.signAndSubmitTransaction(
|
|
632
|
-
transaction2
|
|
633
|
-
);
|
|
634
|
-
if (response2.status === UserResponseStatus.REJECTED) {
|
|
635
|
-
throw new WalletConnectionError("User has rejected the request").message;
|
|
636
|
-
}
|
|
637
|
-
return response2.args;
|
|
638
|
-
}
|
|
639
|
-
const transaction = {
|
|
640
|
-
gasUnitPrice: (_b = transactionInput.options) == null ? void 0 : _b.gasUnitPrice,
|
|
641
|
-
maxGasAmount: (_c = transactionInput.options) == null ? void 0 : _c.maxGasAmount,
|
|
642
|
-
payload: transactionInput.data
|
|
643
|
-
};
|
|
644
|
-
const response = await wallet.signAndSubmitTransaction(
|
|
645
|
-
transaction
|
|
646
|
-
);
|
|
647
|
-
if (response.status === UserResponseStatus.REJECTED) {
|
|
648
|
-
throw new WalletConnectionError("User has rejected the request").message;
|
|
649
|
-
}
|
|
650
|
-
return response.args;
|
|
651
|
-
} catch (error) {
|
|
652
|
-
const errMsg = generalizedErrorMessage(error);
|
|
653
|
-
throw new WalletSignAndSubmitMessageError(errMsg).message;
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
async signTransaction(transactionOrInput, wallet, asFeePayer) {
|
|
657
|
-
const response = await wallet.signTransaction(
|
|
658
|
-
transactionOrInput,
|
|
659
|
-
asFeePayer
|
|
660
|
-
);
|
|
661
|
-
if (response.status === UserResponseStatus.REJECTED) {
|
|
662
|
-
throw new WalletConnectionError("User has rejected the request").message;
|
|
663
|
-
}
|
|
664
|
-
return response.args;
|
|
665
|
-
}
|
|
666
|
-
async signMessage(message, wallet) {
|
|
667
|
-
try {
|
|
668
|
-
const response = await wallet.signMessage(
|
|
669
|
-
message
|
|
670
|
-
);
|
|
671
|
-
if (response.status === UserResponseStatus.REJECTED) {
|
|
672
|
-
throw new WalletConnectionError("User has rejected the request").message;
|
|
673
|
-
}
|
|
674
|
-
return response.args;
|
|
675
|
-
} catch (error) {
|
|
676
|
-
const errMsg = generalizedErrorMessage(error);
|
|
677
|
-
throw new WalletSignMessageError(errMsg).message;
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
async signMessageAndVerify(message, wallet) {
|
|
681
|
-
try {
|
|
682
|
-
const response = await wallet.signMessage(
|
|
683
|
-
message
|
|
684
|
-
);
|
|
685
|
-
const account = await wallet.account();
|
|
686
|
-
if (response.status === UserResponseStatus.REJECTED) {
|
|
687
|
-
throw new WalletConnectionError("Failed to sign a message").message;
|
|
688
|
-
}
|
|
689
|
-
if (account.publicKey instanceof AnyPublicKey && account.publicKey.variant === AnyPublicKeyVariant.Keyless) {
|
|
690
|
-
return true;
|
|
691
|
-
}
|
|
692
|
-
let verified = false;
|
|
693
|
-
if (response.args.signature instanceof MultiEd25519Signature) {
|
|
694
|
-
if (!(account.publicKey instanceof MultiEd25519PublicKey)) {
|
|
695
|
-
throw new WalletSignMessageAndVerifyError(
|
|
696
|
-
"Public key and Signature type mismatch"
|
|
697
|
-
).message;
|
|
698
|
-
}
|
|
699
|
-
const { fullMessage, signature } = response.args;
|
|
700
|
-
const bitmap = signature.bitmap;
|
|
701
|
-
if (bitmap) {
|
|
702
|
-
const minKeysRequired = account.publicKey.threshold;
|
|
703
|
-
if (signature.signatures.length < minKeysRequired) {
|
|
704
|
-
verified = false;
|
|
705
|
-
} else {
|
|
706
|
-
verified = account.publicKey.verifySignature({
|
|
707
|
-
message: new TextEncoder().encode(fullMessage),
|
|
708
|
-
signature
|
|
709
|
-
});
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
} else {
|
|
713
|
-
verified = account.publicKey.verifySignature({
|
|
714
|
-
message: new TextEncoder().encode(response.args.fullMessage),
|
|
715
|
-
signature: response.args.signature
|
|
716
|
-
});
|
|
717
|
-
}
|
|
718
|
-
return verified;
|
|
719
|
-
} catch (error) {
|
|
720
|
-
const errMsg = generalizedErrorMessage(error);
|
|
721
|
-
throw new WalletSignMessageAndVerifyError(errMsg).message;
|
|
722
|
-
}
|
|
723
|
-
}
|
|
724
|
-
};
|
|
725
|
-
|
|
726
|
-
// src/ga/index.ts
|
|
727
|
-
var GA4 = class {
|
|
728
|
-
constructor() {
|
|
729
|
-
this.aptosGAID = "G-GNVVWBL3J9";
|
|
730
|
-
this.injectGA(this.aptosGAID);
|
|
323
|
+
return false;
|
|
324
|
+
return wallet.url.startsWith(APTOS_CONNECT_BASE_URL);
|
|
325
|
+
}
|
|
326
|
+
function getAptosConnectWallets(wallets) {
|
|
327
|
+
const { defaultWallets, moreWallets } = partitionWallets(
|
|
328
|
+
wallets,
|
|
329
|
+
isAptosConnectWallet
|
|
330
|
+
);
|
|
331
|
+
return { aptosConnectWallets: defaultWallets, otherWallets: moreWallets };
|
|
332
|
+
}
|
|
333
|
+
function groupAndSortWallets(wallets, options) {
|
|
334
|
+
const { aptosConnectWallets, otherWallets } = getAptosConnectWallets(wallets);
|
|
335
|
+
const { defaultWallets, moreWallets } = partitionWallets(otherWallets);
|
|
336
|
+
if (options == null ? void 0 : options.sortAptosConnectWallets) {
|
|
337
|
+
aptosConnectWallets.sort(options.sortAptosConnectWallets);
|
|
731
338
|
}
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
dataLayer.push(arguments);
|
|
339
|
+
if (options == null ? void 0 : options.sortAvailableWallets) {
|
|
340
|
+
defaultWallets.sort(options.sortAvailableWallets);
|
|
735
341
|
}
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
return;
|
|
739
|
-
if (!gaID)
|
|
740
|
-
return;
|
|
741
|
-
const head = document.getElementsByTagName("head")[0];
|
|
742
|
-
var myScript = document.createElement("script");
|
|
743
|
-
myScript.setAttribute(
|
|
744
|
-
"src",
|
|
745
|
-
`https://www.googletagmanager.com/gtag/js?id=${gaID}`
|
|
746
|
-
);
|
|
747
|
-
const that = this;
|
|
748
|
-
myScript.onload = function() {
|
|
749
|
-
that.gtag("js", new Date());
|
|
750
|
-
that.gtag("config", `${gaID}`, {
|
|
751
|
-
send_page_view: false
|
|
752
|
-
});
|
|
753
|
-
};
|
|
754
|
-
head.insertBefore(myScript, head.children[1]);
|
|
342
|
+
if (options == null ? void 0 : options.sortInstallableWallets) {
|
|
343
|
+
moreWallets.sort(options.sortInstallableWallets);
|
|
755
344
|
}
|
|
756
|
-
|
|
345
|
+
return {
|
|
346
|
+
aptosConnectWallets,
|
|
347
|
+
availableWallets: defaultWallets,
|
|
348
|
+
installableWallets: moreWallets
|
|
349
|
+
};
|
|
350
|
+
}
|
|
757
351
|
|
|
758
|
-
// src/
|
|
352
|
+
// src/registry.ts
|
|
759
353
|
var aptosStandardSupportedWalletList = [
|
|
760
354
|
{
|
|
761
355
|
name: "Nightly",
|
|
762
|
-
url: "https://
|
|
356
|
+
url: "https://nightly.app/",
|
|
763
357
|
icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iV2Fyc3R3YV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDg1MS41IDg1MS41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4NTEuNSA4NTEuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzYwNjdGOTt9DQoJLnN0MXtmaWxsOiNGN0Y3Rjc7fQ0KPC9zdHlsZT4NCjxnPg0KCTxnIGlkPSJXYXJzdHdhXzJfMDAwMDAwMTQ2MDk2NTQyNTMxODA5NDY0NjAwMDAwMDg2NDc4NTIwMDIxMTY5MTg2ODhfIj4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyNCwwaDYwMy42YzY4LjUsMCwxMjQsNTUuNSwxMjQsMTI0djYwMy42YzAsNjguNS01NS41LDEyNC0xMjQsMTI0SDEyNGMtNjguNSwwLTEyNC01NS41LTEyNC0xMjRWMTI0DQoJCQlDMCw1NS41LDU1LjUsMCwxMjQsMHoiLz4NCgk8L2c+DQoJPGcgaWQ9IldhcnN0d2FfMyI+DQoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik02MjMuNSwxNzAuM2MtMzcuNCw1Mi4yLTg0LjIsODguNC0xMzkuNSwxMTIuNmMtMTkuMi01LjMtMzguOS04LTU4LjMtNy44Yy0xOS40LTAuMi0zOS4xLDIuNi01OC4zLDcuOA0KCQkJYy01NS4zLTI0LjMtMTAyLjEtNjAuMy0xMzkuNS0xMTIuNmMtMTEuMywyOC40LTU0LjgsMTI2LjQtMi42LDI2My40YzAsMC0xNi43LDcxLjUsMTQsMTMyLjljMCwwLDQ0LjQtMjAuMSw3OS43LDguMg0KCQkJYzM2LjksMjkuOSwyNS4xLDU4LjcsNTEuMSw4My41YzIyLjQsMjIuOSw1NS43LDIyLjksNTUuNywyMi45czMzLjMsMCw1NS43LTIyLjhjMjYtMjQuNywxNC4zLTUzLjUsNTEuMS04My41DQoJCQljMzUuMi0yOC4zLDc5LjctOC4yLDc5LjctOC4yYzMwLjYtNjEuNCwxNC0xMzIuOSwxNC0xMzIuOUM2NzguMywyOTYuNyw2MzQuOSwxOTguNyw2MjMuNSwxNzAuM3ogTTI1My4xLDQxNC44DQoJCQljLTI4LjQtNTguMy0zNi4yLTEzOC4zLTE4LjMtMjAxLjVjMjMuNyw2MCw1NS45LDg2LjksOTQuMiwxMTUuM0MzMTIuOCwzNjIuMywyODIuMywzOTQuMSwyNTMuMSw0MTQuOHogTTMzNC44LDUxNy41DQoJCQljLTIyLjQtOS45LTI3LjEtMjkuNC0yNy4xLTI5LjRjMzAuNS0xOS4yLDc1LjQtNC41LDc2LjgsNDAuOUMzNjAuOSw1MTQuNywzNTMsNTI1LjQsMzM0LjgsNTE3LjV6IE00MjUuNyw2NzguNw0KCQkJYy0xNiwwLTI5LTExLjUtMjktMjUuNnMxMy0yNS42LDI5LTI1LjZzMjksMTEuNSwyOSwyNS42QzQ1NC43LDY2Ny4zLDQ0MS43LDY3OC43LDQyNS43LDY3OC43eiBNNTE2LjcsNTE3LjUNCgkJCWMtMTguMiw4LTI2LTIuOC00OS43LDExLjVjMS41LTQ1LjQsNDYuMi02MC4xLDc2LjgtNDAuOUM1NDMuOCw0ODgsNTM5LDUwNy42LDUxNi43LDUxNy41eiBNNTk4LjMsNDE0LjgNCgkJCWMtMjkuMS0yMC43LTU5LjctNTIuNC03Ni04Ni4yYzM4LjMtMjguNCw3MC42LTU1LjQsOTQuMi0xMTUuM0M2MzQuNiwyNzYuNSw2MjYuOCwzNTYuNiw1OTguMyw0MTQuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==",
|
|
764
358
|
readyState: "NotDetected" /* NotDetected */,
|
|
765
|
-
isAIP62Standard: true
|
|
359
|
+
isAIP62Standard: true,
|
|
360
|
+
deeplinkProvider: "nightly://v1?network=aptos&url="
|
|
766
361
|
},
|
|
767
362
|
{
|
|
768
363
|
name: "Petra",
|
|
@@ -778,99 +373,90 @@ var aptosStandardSupportedWalletList = [
|
|
|
778
373
|
icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4IDBDOC4wNzMwNCAwIDAgOC4wNzEzOSAwIDE3Ljk5NjNDMCAyNS4xMjk4IDQuMTczMTYgMzEuMzEwOCAxMC4yMDc2IDM0LjIyMDNWMzQuMjM1MUgxMC4yMzcyQzEyLjU4NiAzNS4zNjQ5IDE1LjIyMjggMzYgMTggMzZDMjcuOTI3IDM2IDM2IDI3LjkyODYgMzYgMTguMDAzN0MzNiA4LjA3MTM4IDI3LjkyNyAwIDE4IDBaTTE4IDEuNDc2OTJDMjcuMTA3MSAxLjQ3NjkyIDM0LjUyMjggOC44OTEwOCAzNC41MjI4IDE3Ljk5NjNDMzQuNTIyOCAyMC42MTA1IDMzLjkwOTcgMjMuMDkxNyAzMi44MjQgMjUuMjkyM0MzMC40NDU2IDI0LjE0MDMgMjguMDMwNCAyMy4yODM3IDI1LjU5MjkgMjIuNzAwM1Y4LjkyMDYyQzI1LjU5MjkgOC40NDA2MiAyNS4yMTYyIDguMDU2NjIgMjQuNzQzNSA4LjA1NjYySDIxLjcxNTJIMTQuMDg1NEgxMS4wNTdDMTAuNTkxNyA4LjA1NjYyIDEwLjIwNzYgOC40NDA2MiAxMC4yMDc2IDguOTIwNjJWMjIuNzY2OEM3Ljg0NDA3IDIzLjM1MDIgNS40OTUyOCAyNC4xOTIgMy4xODM0MiAyNS4yOTk3QzIuMDkwMjcgMjMuMDkxNyAxLjQ3NzIzIDIwLjYxNzggMS40NzcyMyAxNy45OTYzQzEuNDc3MjMgOC44OTEwOCA4Ljg5MjkgMS40NzY5MiAxOCAxLjQ3NjkyWk00LjEzNjIzIDI2Ljk2MTJDNi4wOTM1NiAyNS45OTM4IDguMTI0NzQgMjUuMjQ4IDEwLjIxNSAyNC43MzExVjMyLjU1ODhDNy43NDA2NiAzMS4yMzY5IDUuNjUwMzkgMjkuMzAyMiA0LjEzNjIzIDI2Ljk2MTJaTTE0LjA4NTQgMzQuMDQzMVYxNS42MDM3QzE0LjA4NTQgMTMuNDY5NSAxNS44MzU5IDExLjcwNDYgMTcuOTI2MSAxMS43MDQ2QzIwLjAxNjQgMTEuNzA0NiAyMS43MTUyIDEzLjQzMjYgMjEuNzE1MiAxNS41NTk0QzIxLjcxNTIgMTUuNTc0MiAyMS43MDc4IDE1LjU4ODkgMjEuNzA3OCAxNS42MDM3SDIxLjcxNTJWMjIuMDIwOUMxOS45MzUyIDIxLjgxNDIgMTguMTQ3NyAyMS43NDc3IDE2LjM2MDMgMjEuODQzN0wxNC44OTA0IDIzLjk3NzhDMTcuMTgwMSAyMy43ODU4IDE5LjQxMDcgMjMuODAwNiAyMS42MTE4IDI0LjA1MTdDMjEuNjM0IDI0LjA1MTcgMjEuNjQ4NyAyNC4wNTE3IDIxLjY3MDkgMjQuMDU5MUMyMS42ODU3IDI0LjA1OTEgMjEuNzAwNSAyNC4wNTkxIDIxLjcyMjYgMjQuMDY2NUMyMi4xMDY3IDI0LjExMDggMjMuNTAyNyAyNC4yODggMjQuNzgwNSAyNC42MDU1TDIxLjcyMjYgMjUuNjQ2OFYzNC4xMDIyQzIwLjUyNjEgMzQuMzc1NCAxOS4yODUyIDM0LjUzMDUgMTguMDE0OCAzNC41MzA1QzE2LjY0ODMgMzQuNTE1NyAxNS4zNDEgMzQuMzQ1OCAxNC4wODU0IDM0LjA0MzFaTTI1LjU4NTYgMzIuNjYyMlYyNC43NjhDMjcuNjY4NCAyNS4yOTIzIDI5LjcyOTIgMjYuMDYwMyAzMS43OTczIDI3LjA2NDZDMzAuMjQ2MiAyOS40MjAzIDI4LjEwNDIgMzEuMzU1MSAyNS41ODU2IDMyLjY2MjJaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMjIyXzE2NzApIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIyXzE2NzAiIHgxPSIxNy45OTk3IiB5MT0iMzYuNzc4OSIgeDI9IjE3Ljk5OTciIHkyPSItNS41MTk3OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBvZmZzZXQ9IjAuMDg1OCIgc3RvcC1jb2xvcj0iIzhEMjlDMSIvPgo8c3RvcCBvZmZzZXQ9IjAuMjM4MyIgc3RvcC1jb2xvcj0iIzk0MkJCQiIvPgo8c3RvcCBvZmZzZXQ9IjAuNDY2NyIgc3RvcC1jb2xvcj0iI0E5MkZBQyIvPgo8c3RvcCBvZmZzZXQ9IjAuNzQxMyIgc3RvcC1jb2xvcj0iI0NBMzc5MyIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGMDNGNzciLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",
|
|
779
374
|
readyState: "NotDetected" /* NotDetected */,
|
|
780
375
|
isAIP62Standard: true
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
name: "Rimosafe",
|
|
379
|
+
url: "https://chromewebstore.google.com/detail/rimo-safe-wallet/kiicddjcakdmobjkcpppkgcjbpakcagp",
|
|
380
|
+
icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiLz4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLCAzKSBzY2FsZSgwLjgpIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjkuNTMxMSA5Ljg0MzY5VjBIMTkuNjg3NEwxOS42ODc3IDAuMDAwMzQwNTU1TDAgMC4wMDAzNDE0MTVMNC4zMjEzNGUtMDcgOS44NDQwM0g5Ljg0MzY5QzQuNDA3MTcgOS44NDQwMyAwIDE0LjI1MTIgMCAxOS42ODc3VjMwLjAwMDFIOS44NDM2OVYxOS42ODc5TDE5LjY4NzEgMzAuMDAwMUwxOS42ODcxIDE5LjY4NzdMMjkuNTMwOCA5Ljg0NDAzTDI5LjUzMTEgOS44NDQwM1Y5Ljg0MzY1TDI5LjUzMTEgOS44NDM2OVpNMTkuNjg3MSAxOS42ODc2TDE5LjY4NzEgOS44NDQwM0g5Ljg0MzY5VjE5LjY4NzZIMTkuNjg3MVpNMjkuNTMxMSA5Ljg0MzY1TDE5LjY4NzcgMC4wMDAzNDA1NTVMMjkuNTMxMSAwLjAwMDM0MDEyNVY5Ljg0MzY1Wk0xOS42ODc0IDE5LjY4NzZIMjkuNTMxMVYzMC4wMDAxSDE5LjY4NzRWMTkuNjg3NloiIGZpbGw9IiNGRjVDMjgiLz4KICA8L2c+Cjwvc3ZnPgo=",
|
|
381
|
+
readyState: "NotDetected" /* NotDetected */,
|
|
382
|
+
isAIP62Standard: true
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
name: "OKX Wallet",
|
|
386
|
+
url: "https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",
|
|
387
|
+
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=",
|
|
388
|
+
readyState: "NotDetected" /* NotDetected */,
|
|
389
|
+
isAIP62Standard: true
|
|
781
390
|
}
|
|
782
391
|
];
|
|
783
392
|
|
|
393
|
+
// src/sdkWallets.ts
|
|
394
|
+
import {
|
|
395
|
+
AptosConnectAppleWallet,
|
|
396
|
+
AptosConnectGoogleWallet
|
|
397
|
+
} from "@aptos-connect/wallet-adapter-plugin";
|
|
398
|
+
import { Network as Network2 } from "@aptos-labs/ts-sdk";
|
|
399
|
+
import { DevTWallet, TWallet } from "@atomrigslab/aptos-wallet-adapter";
|
|
400
|
+
import { MizuWallet } from "@mizuwallet-sdk/aptos-wallet-adapter";
|
|
401
|
+
function getSDKWallets(dappConfig) {
|
|
402
|
+
const sdkWallets = [];
|
|
403
|
+
if (typeof window !== "undefined") {
|
|
404
|
+
sdkWallets.push(
|
|
405
|
+
new AptosConnectGoogleWallet({
|
|
406
|
+
network: dappConfig == null ? void 0 : dappConfig.network,
|
|
407
|
+
dappId: dappConfig == null ? void 0 : dappConfig.aptosConnectDappId,
|
|
408
|
+
...dappConfig == null ? void 0 : dappConfig.aptosConnect
|
|
409
|
+
}),
|
|
410
|
+
new AptosConnectAppleWallet({
|
|
411
|
+
network: dappConfig == null ? void 0 : dappConfig.network,
|
|
412
|
+
dappId: dappConfig == null ? void 0 : dappConfig.aptosConnectDappId,
|
|
413
|
+
...dappConfig == null ? void 0 : dappConfig.aptosConnect
|
|
414
|
+
})
|
|
415
|
+
);
|
|
416
|
+
if ((dappConfig == null ? void 0 : dappConfig.mizuwallet) && (dappConfig == null ? void 0 : dappConfig.network) && [Network2.MAINNET, Network2.TESTNET].includes(dappConfig.network)) {
|
|
417
|
+
sdkWallets.push(
|
|
418
|
+
new MizuWallet({
|
|
419
|
+
network: dappConfig.network,
|
|
420
|
+
manifestURL: dappConfig.mizuwallet.manifestURL,
|
|
421
|
+
appId: dappConfig.mizuwallet.appId
|
|
422
|
+
})
|
|
423
|
+
);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
if ((dappConfig == null ? void 0 : dappConfig.network) === Network2.MAINNET) {
|
|
427
|
+
sdkWallets.push(new TWallet());
|
|
428
|
+
} else {
|
|
429
|
+
sdkWallets.push(new DevTWallet());
|
|
430
|
+
}
|
|
431
|
+
return sdkWallets;
|
|
432
|
+
}
|
|
433
|
+
|
|
784
434
|
// src/WalletCore.ts
|
|
785
|
-
var WalletCore = class extends
|
|
786
|
-
constructor(
|
|
435
|
+
var WalletCore = class extends EventEmitter {
|
|
436
|
+
constructor(optInWallets, dappConfig, disableTelemetry) {
|
|
787
437
|
super();
|
|
788
|
-
this._wallets = [];
|
|
789
|
-
this._optInWallets = [];
|
|
790
|
-
this._standard_wallets = [];
|
|
791
|
-
this._all_wallets = [];
|
|
792
438
|
this._wallet = null;
|
|
793
|
-
this.
|
|
439
|
+
this._sdkWallets = [];
|
|
440
|
+
this._standard_wallets = [];
|
|
441
|
+
this._standard_not_detected_wallets = [];
|
|
794
442
|
this._network = null;
|
|
795
|
-
this.walletCoreV1 = new WalletCoreV1();
|
|
796
|
-
this.walletStandardCore = new WalletStandardCore();
|
|
797
|
-
this._connecting = false;
|
|
798
443
|
this._connected = false;
|
|
799
|
-
this.
|
|
444
|
+
this._connecting = false;
|
|
445
|
+
this._account = null;
|
|
446
|
+
this._optInWallets = [];
|
|
800
447
|
this._disableTelemetry = false;
|
|
801
|
-
this.
|
|
802
|
-
|
|
803
|
-
let standardWalletConvertedToWallet = {
|
|
804
|
-
name: standardWallet.name,
|
|
805
|
-
url: standardWallet.url,
|
|
806
|
-
icon: standardWallet.icon,
|
|
807
|
-
provider: standardWallet,
|
|
808
|
-
connect: standardWallet.features["aptos:connect"].connect,
|
|
809
|
-
disconnect: standardWallet.features["aptos:disconnect"].disconnect,
|
|
810
|
-
network: standardWallet.features["aptos:network"].network,
|
|
811
|
-
account: standardWallet.features["aptos:account"].account,
|
|
812
|
-
signAndSubmitTransaction: (_a = standardWallet.features["aptos:signAndSubmitTransaction"]) == null ? void 0 : _a.signAndSubmitTransaction,
|
|
813
|
-
signMessage: standardWallet.features["aptos:signMessage"].signMessage,
|
|
814
|
-
onAccountChange: standardWallet.features["aptos:onAccountChange"].onAccountChange,
|
|
815
|
-
onNetworkChange: standardWallet.features["aptos:onNetworkChange"].onNetworkChange,
|
|
816
|
-
signTransaction: standardWallet.features["aptos:signTransaction"].signTransaction,
|
|
817
|
-
openInMobileApp: (_b = standardWallet.features["aptos:openInMobileApp"]) == null ? void 0 : _b.openInMobileApp,
|
|
818
|
-
changeNetwork: (_c = standardWallet.features["aptos:changeNetwork"]) == null ? void 0 : _c.changeNetwork,
|
|
819
|
-
readyState: "Installed" /* Installed */,
|
|
820
|
-
isAIP62Standard: true,
|
|
821
|
-
isSignTransactionV1_1: ((_d = standardWallet.features["aptos:signTransaction"]) == null ? void 0 : _d.version) === "1.1"
|
|
822
|
-
};
|
|
823
|
-
this._all_wallets = this._all_wallets.filter(
|
|
824
|
-
(item) => item.name !== standardWalletConvertedToWallet.name
|
|
825
|
-
);
|
|
826
|
-
this._all_wallets.push(standardWalletConvertedToWallet);
|
|
827
|
-
this.emit("standardWalletsAdded", standardWalletConvertedToWallet);
|
|
828
|
-
};
|
|
829
|
-
this._wallets = plugins;
|
|
830
|
-
this._optInWallets = optInWallets;
|
|
448
|
+
this.ga4 = null;
|
|
449
|
+
this._optInWallets = optInWallets || [];
|
|
831
450
|
this._dappConfig = dappConfig;
|
|
832
|
-
this._disableTelemetry = disableTelemetry;
|
|
451
|
+
this._disableTelemetry = disableTelemetry != null ? disableTelemetry : false;
|
|
833
452
|
this._sdkWallets = getSDKWallets(this._dappConfig);
|
|
834
453
|
if (!this._disableTelemetry) {
|
|
835
454
|
this.ga4 = new GA4();
|
|
836
455
|
}
|
|
837
456
|
this.fetchExtensionAIP62AptosWallets();
|
|
838
457
|
this.fetchSDKAIP62AptosWallets();
|
|
839
|
-
this.scopePollingDetectionStrategy();
|
|
840
458
|
this.appendNotDetectedStandardSupportedWallets();
|
|
841
459
|
}
|
|
842
|
-
scopePollingDetectionStrategy() {
|
|
843
|
-
var _a;
|
|
844
|
-
(_a = this._wallets) == null ? void 0 : _a.forEach((wallet) => {
|
|
845
|
-
const existingStandardPontemWallet = this._standard_wallets.find(
|
|
846
|
-
(wallet2) => wallet2.name == "Pontem Wallet"
|
|
847
|
-
);
|
|
848
|
-
if (wallet.name === "Pontem" && existingStandardPontemWallet) {
|
|
849
|
-
return;
|
|
850
|
-
}
|
|
851
|
-
const existingWalletIndex = this._standard_wallets.findIndex(
|
|
852
|
-
(standardWallet) => standardWallet.name == wallet.name
|
|
853
|
-
);
|
|
854
|
-
if (existingWalletIndex !== -1)
|
|
855
|
-
return;
|
|
856
|
-
this._all_wallets.push(wallet);
|
|
857
|
-
if (!wallet.readyState) {
|
|
858
|
-
wallet.readyState = typeof window === "undefined" || typeof document === "undefined" ? "Unsupported" /* Unsupported */ : "NotDetected" /* NotDetected */;
|
|
859
|
-
}
|
|
860
|
-
if (typeof window !== "undefined") {
|
|
861
|
-
scopePollingDetectionStrategy(() => {
|
|
862
|
-
const providerName = wallet.providerName || wallet.name.toLowerCase();
|
|
863
|
-
if (Object.keys(window).includes(providerName)) {
|
|
864
|
-
wallet.readyState = "Installed" /* Installed */;
|
|
865
|
-
wallet.provider = window[providerName];
|
|
866
|
-
this.emit("readyStateChange", wallet);
|
|
867
|
-
return true;
|
|
868
|
-
}
|
|
869
|
-
return false;
|
|
870
|
-
});
|
|
871
|
-
}
|
|
872
|
-
});
|
|
873
|
-
}
|
|
874
460
|
fetchExtensionAIP62AptosWallets() {
|
|
875
461
|
let { aptosWallets, on } = getAptosWallets();
|
|
876
462
|
this.setExtensionAIP62Wallets(aptosWallets);
|
|
@@ -886,62 +472,63 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
886
472
|
that.setExtensionAIP62Wallets(aptosWallets2);
|
|
887
473
|
});
|
|
888
474
|
}
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
(wallet) => wallet.name === supportedWallet.name
|
|
893
|
-
);
|
|
894
|
-
if (existingPluginWalletIndex !== -1)
|
|
475
|
+
setExtensionAIP62Wallets(extensionwWallets) {
|
|
476
|
+
extensionwWallets.map((wallet) => {
|
|
477
|
+
if (this.excludeWallet(wallet)) {
|
|
895
478
|
return;
|
|
896
|
-
|
|
897
|
-
|
|
479
|
+
}
|
|
480
|
+
this._standard_wallets = this._standard_wallets.filter(
|
|
481
|
+
(item) => item.name !== wallet.name
|
|
898
482
|
);
|
|
899
|
-
|
|
483
|
+
const isValid = isWalletWithRequiredFeatureSet(wallet);
|
|
484
|
+
if (isValid) {
|
|
485
|
+
const index = this._standard_not_detected_wallets.findIndex(
|
|
486
|
+
(notDetctedWallet) => notDetctedWallet.name == wallet.name
|
|
487
|
+
);
|
|
488
|
+
if (index !== -1) {
|
|
489
|
+
this._standard_not_detected_wallets.splice(index, 1);
|
|
490
|
+
}
|
|
491
|
+
wallet.readyState = "Installed" /* Installed */;
|
|
492
|
+
this._standard_wallets.push(wallet);
|
|
493
|
+
this.emit("standardWalletsAdded", wallet);
|
|
494
|
+
}
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
fetchSDKAIP62AptosWallets() {
|
|
498
|
+
this._sdkWallets.map((wallet) => {
|
|
499
|
+
if (this.excludeWallet(wallet)) {
|
|
900
500
|
return;
|
|
901
501
|
}
|
|
502
|
+
const isValid = isWalletWithRequiredFeatureSet(wallet);
|
|
503
|
+
if (isValid) {
|
|
504
|
+
wallet.readyState = "Installed" /* Installed */;
|
|
505
|
+
this._standard_wallets.push(wallet);
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
appendNotDetectedStandardSupportedWallets() {
|
|
510
|
+
aptosStandardSupportedWalletList.map((supportedWallet) => {
|
|
902
511
|
const existingStandardWallet = this._standard_wallets.find(
|
|
903
512
|
(wallet) => wallet.name == supportedWallet.name
|
|
904
513
|
);
|
|
905
|
-
if (existingStandardWallet
|
|
514
|
+
if (existingStandardWallet) {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
if (this.excludeWallet(supportedWallet)) {
|
|
906
518
|
return;
|
|
907
519
|
}
|
|
908
520
|
if (!existingStandardWallet) {
|
|
909
|
-
this.
|
|
910
|
-
this.emit("
|
|
521
|
+
this._standard_not_detected_wallets.push(supportedWallet);
|
|
522
|
+
this.emit("standardNotDetectedWalletAdded", supportedWallet);
|
|
911
523
|
}
|
|
912
524
|
});
|
|
913
525
|
}
|
|
914
|
-
fetchSDKAIP62AptosWallets() {
|
|
915
|
-
this._sdkWallets.map((wallet) => {
|
|
916
|
-
this.standardizeAIP62WalletType(wallet);
|
|
917
|
-
});
|
|
918
|
-
}
|
|
919
|
-
setExtensionAIP62Wallets(extensionwWallets) {
|
|
920
|
-
const wallets = extensionwWallets.filter(
|
|
921
|
-
(wallet) => wallet.name !== "Dev T wallet" && wallet.name !== "T wallet"
|
|
922
|
-
);
|
|
923
|
-
wallets.map((wallet) => {
|
|
924
|
-
this.standardizeAIP62WalletType(wallet);
|
|
925
|
-
this._standard_wallets.push(wallet);
|
|
926
|
-
});
|
|
927
|
-
}
|
|
928
526
|
excludeWallet(wallet) {
|
|
929
527
|
if (this._optInWallets.length > 0 && !this._optInWallets.includes(wallet.name)) {
|
|
930
528
|
return true;
|
|
931
529
|
}
|
|
932
530
|
return false;
|
|
933
531
|
}
|
|
934
|
-
standardizeAIP62WalletType(wallet) {
|
|
935
|
-
if (this.excludeWallet(wallet)) {
|
|
936
|
-
return;
|
|
937
|
-
}
|
|
938
|
-
const isValid = isWalletWithRequiredFeatureSet(wallet);
|
|
939
|
-
if (isValid) {
|
|
940
|
-
wallet.readyState = "Installed" /* Installed */;
|
|
941
|
-
this.standardizeStandardWalletToPluginWalletType(wallet);
|
|
942
|
-
this._standard_wallets.push(wallet);
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
532
|
recordEvent(eventName, additionalInfo) {
|
|
946
533
|
var _a, _b, _c, _d;
|
|
947
534
|
(_d = this.ga4) == null ? void 0 : _d.gtag("event", `wallet_adapter_${eventName}`, {
|
|
@@ -957,7 +544,7 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
957
544
|
if (!wallet) {
|
|
958
545
|
throw new WalletNotConnectedError().name;
|
|
959
546
|
}
|
|
960
|
-
if (!(wallet.readyState === "
|
|
547
|
+
if (!(wallet.readyState === "Installed" /* Installed */))
|
|
961
548
|
throw new WalletNotReadyError("Wallet is not set").name;
|
|
962
549
|
}
|
|
963
550
|
ensureAccountExists(account) {
|
|
@@ -965,119 +552,53 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
965
552
|
throw new WalletAccountError("Account is not set").name;
|
|
966
553
|
}
|
|
967
554
|
}
|
|
968
|
-
doesWalletExist() {
|
|
969
|
-
if (!this._connected || this._connecting || !this._wallet)
|
|
970
|
-
throw new WalletNotConnectedError().name;
|
|
971
|
-
if (!(this._wallet.readyState === "Loadable" /* Loadable */ || this._wallet.readyState === "Installed" /* Installed */))
|
|
972
|
-
throw new WalletNotReadyError().name;
|
|
973
|
-
return true;
|
|
974
|
-
}
|
|
975
|
-
clearData() {
|
|
976
|
-
this._connected = false;
|
|
977
|
-
this.setWallet(null);
|
|
978
|
-
this.setAccount(null);
|
|
979
|
-
this.setNetwork(null);
|
|
980
|
-
removeLocalStorage();
|
|
981
|
-
}
|
|
982
555
|
async setAnsName() {
|
|
983
556
|
var _a;
|
|
984
557
|
if (((_a = this._network) == null ? void 0 : _a.chainId) && this._account) {
|
|
558
|
+
if (this._account.ansName)
|
|
559
|
+
return;
|
|
985
560
|
if (!ChainIdToAnsSupportedNetworkMap[this._network.chainId] || !isAptosNetwork(this._network)) {
|
|
986
561
|
this._account.ansName = void 0;
|
|
987
562
|
return;
|
|
988
563
|
}
|
|
989
564
|
const aptosConfig = getAptosConfig(this._network, this._dappConfig);
|
|
990
|
-
const aptos = new
|
|
565
|
+
const aptos = new Aptos2(aptosConfig);
|
|
991
566
|
const name = await aptos.ans.getPrimaryName({
|
|
992
567
|
address: this._account.address.toString()
|
|
993
568
|
});
|
|
994
569
|
this._account.ansName = name;
|
|
995
570
|
}
|
|
996
571
|
}
|
|
572
|
+
clearData() {
|
|
573
|
+
this._connected = false;
|
|
574
|
+
this.setWallet(null);
|
|
575
|
+
this.setAccount(null);
|
|
576
|
+
this.setNetwork(null);
|
|
577
|
+
removeLocalStorage();
|
|
578
|
+
}
|
|
997
579
|
setWallet(wallet) {
|
|
998
580
|
this._wallet = wallet;
|
|
999
581
|
}
|
|
1000
582
|
setAccount(account) {
|
|
1001
|
-
|
|
1002
|
-
if (account === null) {
|
|
1003
|
-
this._account = null;
|
|
1004
|
-
return;
|
|
1005
|
-
}
|
|
1006
|
-
if ((_a = this._wallet) == null ? void 0 : _a.isAIP62Standard) {
|
|
1007
|
-
if ("status" in account) {
|
|
1008
|
-
const connectStandardAccount = account;
|
|
1009
|
-
if (connectStandardAccount.status === UserResponseStatus2.REJECTED) {
|
|
1010
|
-
this._connecting = false;
|
|
1011
|
-
throw new WalletConnectionError("User has rejected the request").message;
|
|
1012
|
-
}
|
|
1013
|
-
this._account = {
|
|
1014
|
-
address: connectStandardAccount.args.address.toString(),
|
|
1015
|
-
publicKey: connectStandardAccount.args.publicKey.toString(),
|
|
1016
|
-
ansName: connectStandardAccount.args.ansName
|
|
1017
|
-
};
|
|
1018
|
-
return;
|
|
1019
|
-
} else {
|
|
1020
|
-
const standardAccount = account;
|
|
1021
|
-
this._account = {
|
|
1022
|
-
address: standardAccount.address.toString(),
|
|
1023
|
-
publicKey: standardAccount.publicKey.toString(),
|
|
1024
|
-
ansName: standardAccount.ansName
|
|
1025
|
-
};
|
|
1026
|
-
return;
|
|
1027
|
-
}
|
|
1028
|
-
}
|
|
1029
|
-
this._account = { ...account };
|
|
1030
|
-
return;
|
|
583
|
+
this._account = account;
|
|
1031
584
|
}
|
|
1032
585
|
setNetwork(network) {
|
|
1033
|
-
|
|
1034
|
-
if (network === null) {
|
|
1035
|
-
this._network = null;
|
|
1036
|
-
return;
|
|
1037
|
-
}
|
|
1038
|
-
if ((_a = this._wallet) == null ? void 0 : _a.isAIP62Standard) {
|
|
1039
|
-
const standardizeNetwork = network;
|
|
1040
|
-
this.recordEvent("network_change", {
|
|
1041
|
-
from: (_b = this._network) == null ? void 0 : _b.name,
|
|
1042
|
-
to: standardizeNetwork.name
|
|
1043
|
-
});
|
|
1044
|
-
this._network = {
|
|
1045
|
-
name: standardizeNetwork.name.toLowerCase(),
|
|
1046
|
-
chainId: standardizeNetwork.chainId.toString(),
|
|
1047
|
-
url: standardizeNetwork.url
|
|
1048
|
-
};
|
|
1049
|
-
return;
|
|
1050
|
-
}
|
|
1051
|
-
this.recordEvent("network_change", {
|
|
1052
|
-
from: (_c = this._network) == null ? void 0 : _c.name,
|
|
1053
|
-
to: network.name
|
|
1054
|
-
});
|
|
1055
|
-
this._network = {
|
|
1056
|
-
...network,
|
|
1057
|
-
name: network.name.toLowerCase()
|
|
1058
|
-
};
|
|
586
|
+
this._network = network;
|
|
1059
587
|
}
|
|
1060
588
|
isConnected() {
|
|
1061
589
|
return this._connected;
|
|
1062
590
|
}
|
|
1063
591
|
get wallets() {
|
|
1064
|
-
return this._all_wallets;
|
|
1065
|
-
}
|
|
1066
|
-
get pluginWallets() {
|
|
1067
|
-
return this._wallets;
|
|
1068
|
-
}
|
|
1069
|
-
get standardWallets() {
|
|
1070
592
|
return this._standard_wallets;
|
|
1071
593
|
}
|
|
594
|
+
get notDetectedWallets() {
|
|
595
|
+
return this._standard_not_detected_wallets;
|
|
596
|
+
}
|
|
1072
597
|
get wallet() {
|
|
1073
598
|
try {
|
|
1074
599
|
if (!this._wallet)
|
|
1075
600
|
return null;
|
|
1076
|
-
return
|
|
1077
|
-
name: this._wallet.name,
|
|
1078
|
-
icon: this._wallet.icon,
|
|
1079
|
-
url: this._wallet.url
|
|
1080
|
-
};
|
|
601
|
+
return this._wallet;
|
|
1081
602
|
} catch (error) {
|
|
1082
603
|
throw new WalletNotSelectedError(error).message;
|
|
1083
604
|
}
|
|
@@ -1097,8 +618,8 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1097
618
|
}
|
|
1098
619
|
}
|
|
1099
620
|
async connect(walletName) {
|
|
1100
|
-
var _a;
|
|
1101
|
-
const allDetectedWallets = this.
|
|
621
|
+
var _a, _b, _c;
|
|
622
|
+
const allDetectedWallets = this._standard_wallets;
|
|
1102
623
|
const selectedWallet = allDetectedWallets.find(
|
|
1103
624
|
(wallet) => wallet.name === walletName
|
|
1104
625
|
);
|
|
@@ -1110,12 +631,14 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1110
631
|
`${walletName} wallet is already connected`
|
|
1111
632
|
).message;
|
|
1112
633
|
}
|
|
1113
|
-
if (isRedirectable()
|
|
1114
|
-
if (selectedWallet.
|
|
1115
|
-
if (selectedWallet.openInMobileApp) {
|
|
1116
|
-
selectedWallet.openInMobileApp();
|
|
634
|
+
if (isRedirectable()) {
|
|
635
|
+
if (selectedWallet.readyState === "Installed" /* Installed */) {
|
|
636
|
+
if ((_b = selectedWallet.features["aptos:openInMobileApp"]) == null ? void 0 : _b.openInMobileApp) {
|
|
637
|
+
(_c = selectedWallet.features["aptos:openInMobileApp"]) == null ? void 0 : _c.openInMobileApp();
|
|
1117
638
|
return;
|
|
1118
639
|
}
|
|
640
|
+
}
|
|
641
|
+
if (selectedWallet.readyState === "NotDetected" /* NotDetected */) {
|
|
1119
642
|
const uninstalledWallet = selectedWallet;
|
|
1120
643
|
if (uninstalledWallet.deeplinkProvider) {
|
|
1121
644
|
const url = encodeURIComponent(window.location.href);
|
|
@@ -1124,15 +647,6 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1124
647
|
return;
|
|
1125
648
|
}
|
|
1126
649
|
}
|
|
1127
|
-
if (selectedWallet.deeplinkProvider) {
|
|
1128
|
-
const url = encodeURIComponent(window.location.href);
|
|
1129
|
-
const location = selectedWallet.deeplinkProvider({ url });
|
|
1130
|
-
window.location.href = location;
|
|
1131
|
-
}
|
|
1132
|
-
return;
|
|
1133
|
-
}
|
|
1134
|
-
if (selectedWallet.readyState !== "Installed" /* Installed */ && selectedWallet.readyState !== "Loadable" /* Loadable */) {
|
|
1135
|
-
return;
|
|
1136
650
|
}
|
|
1137
651
|
await this.connectWallet(selectedWallet);
|
|
1138
652
|
}
|
|
@@ -1140,14 +654,13 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1140
654
|
try {
|
|
1141
655
|
this._connecting = true;
|
|
1142
656
|
this.setWallet(selectedWallet);
|
|
1143
|
-
|
|
1144
|
-
if (
|
|
1145
|
-
|
|
1146
|
-
} else {
|
|
1147
|
-
account = await this.walletCoreV1.connect(selectedWallet);
|
|
657
|
+
const response = await selectedWallet.features["aptos:connect"].connect();
|
|
658
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
659
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
1148
660
|
}
|
|
661
|
+
const account = response.args;
|
|
1149
662
|
this.setAccount(account);
|
|
1150
|
-
const network = await selectedWallet.network();
|
|
663
|
+
const network = await selectedWallet.features["aptos:network"].network();
|
|
1151
664
|
this.setNetwork(network);
|
|
1152
665
|
await this.setAnsName();
|
|
1153
666
|
setLocalStorage(selectedWallet.name);
|
|
@@ -1165,7 +678,7 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1165
678
|
async disconnect() {
|
|
1166
679
|
try {
|
|
1167
680
|
this.ensureWalletExists(this._wallet);
|
|
1168
|
-
await this._wallet.disconnect();
|
|
681
|
+
await this._wallet.features["aptos:disconnect"].disconnect();
|
|
1169
682
|
this.clearData();
|
|
1170
683
|
this.recordEvent("wallet_disconnect");
|
|
1171
684
|
this.emit("disconnect");
|
|
@@ -1175,6 +688,7 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1175
688
|
}
|
|
1176
689
|
}
|
|
1177
690
|
async signAndSubmitTransaction(transactionInput) {
|
|
691
|
+
var _a, _b;
|
|
1178
692
|
try {
|
|
1179
693
|
if ("function" in transactionInput.data) {
|
|
1180
694
|
if (transactionInput.data.function === "0x1::account::rotate_authentication_key_call") {
|
|
@@ -1190,150 +704,129 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1190
704
|
this.ensureWalletExists(this._wallet);
|
|
1191
705
|
this.ensureAccountExists(this._account);
|
|
1192
706
|
this.recordEvent("sign_and_submit_transaction");
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
transactionInput,
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
return { hash, output };
|
|
1206
|
-
} else {
|
|
1207
|
-
const { hash, ...output } = await this.walletCoreV1.resolveSignAndSubmitTransaction(
|
|
1208
|
-
payloadData,
|
|
1209
|
-
this._network,
|
|
1210
|
-
this._wallet,
|
|
1211
|
-
transactionInput,
|
|
1212
|
-
this._dappConfig
|
|
707
|
+
if (this._wallet.features["aptos:signAndSubmitTransaction"]) {
|
|
708
|
+
if (this._wallet.features["aptos:signAndSubmitTransaction"].version !== "1.1.0") {
|
|
709
|
+
const aptosConfig2 = getAptosConfig(this._network, this._dappConfig);
|
|
710
|
+
const aptos2 = new Aptos2(aptosConfig2);
|
|
711
|
+
const transaction2 = await aptos2.transaction.build.simple({
|
|
712
|
+
sender: this._account.address.toString(),
|
|
713
|
+
data: transactionInput.data,
|
|
714
|
+
options: transactionInput.options
|
|
715
|
+
});
|
|
716
|
+
const signAndSubmitTransactionMethod = this._wallet.features["aptos:signAndSubmitTransaction"].signAndSubmitTransaction;
|
|
717
|
+
const response3 = await signAndSubmitTransactionMethod(
|
|
718
|
+
transaction2
|
|
1213
719
|
);
|
|
1214
|
-
|
|
720
|
+
if (response3.status === UserResponseStatus.REJECTED) {
|
|
721
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
722
|
+
}
|
|
723
|
+
return response3.args;
|
|
1215
724
|
}
|
|
725
|
+
const response2 = await this._wallet.features["aptos:signAndSubmitTransaction"].signAndSubmitTransaction({
|
|
726
|
+
payload: transactionInput.data,
|
|
727
|
+
gasUnitPrice: (_a = transactionInput.options) == null ? void 0 : _a.gasUnitPrice,
|
|
728
|
+
maxGasAmount: (_b = transactionInput.options) == null ? void 0 : _b.maxGasAmount
|
|
729
|
+
});
|
|
730
|
+
if (response2.status === UserResponseStatus.REJECTED) {
|
|
731
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
732
|
+
}
|
|
733
|
+
return response2.args;
|
|
1216
734
|
}
|
|
735
|
+
const aptosConfig = getAptosConfig(this._network, this._dappConfig);
|
|
736
|
+
const aptos = new Aptos2(aptosConfig);
|
|
1217
737
|
const transaction = await aptos.transaction.build.simple({
|
|
1218
738
|
sender: this._account.address,
|
|
1219
739
|
data: transactionInput.data,
|
|
1220
740
|
options: transactionInput.options
|
|
1221
741
|
});
|
|
1222
|
-
const
|
|
742
|
+
const signTransactionResponse = await this.signTransaction({
|
|
743
|
+
transactionOrPayload: transaction
|
|
744
|
+
});
|
|
1223
745
|
const response = await this.submitTransaction({
|
|
1224
746
|
transaction,
|
|
1225
|
-
senderAuthenticator
|
|
747
|
+
senderAuthenticator: signTransactionResponse.authenticator
|
|
1226
748
|
});
|
|
1227
|
-
return response;
|
|
749
|
+
return { hash: response.hash };
|
|
1228
750
|
} catch (error) {
|
|
1229
751
|
const errMsg = generalizedErrorMessage(error);
|
|
1230
752
|
throw new WalletSignAndSubmitMessageError(errMsg).message;
|
|
1231
753
|
}
|
|
1232
754
|
}
|
|
1233
|
-
async signTransaction(
|
|
1234
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
755
|
+
async signTransaction(args) {
|
|
756
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
757
|
+
const { transactionOrPayload, asFeePayer } = args;
|
|
1235
758
|
try {
|
|
1236
759
|
this.ensureWalletExists(this._wallet);
|
|
760
|
+
this.ensureAccountExists(this._account);
|
|
1237
761
|
this.recordEvent("sign_transaction");
|
|
1238
|
-
if (
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
);
|
|
1246
|
-
} else if (this._wallet.isSignTransactionV1_1) {
|
|
1247
|
-
const payload = convertPayloadInputV1ToV2(transactionOrPayload);
|
|
1248
|
-
const optionsV1 = options;
|
|
1249
|
-
const { authenticator } = await this.walletStandardCore.signTransaction(
|
|
1250
|
-
{
|
|
1251
|
-
payload,
|
|
1252
|
-
expirationTimestamp: (_a = optionsV1 == null ? void 0 : optionsV1.expireTimestamp) != null ? _a : optionsV1 == null ? void 0 : optionsV1.expirationTimestamp,
|
|
1253
|
-
expirationSecondsFromNow: optionsV1 == null ? void 0 : optionsV1.expirationSecondsFromNow,
|
|
1254
|
-
gasUnitPrice: (_b = optionsV1 == null ? void 0 : optionsV1.gasUnitPrice) != null ? _b : optionsV1 == null ? void 0 : optionsV1.gas_unit_price,
|
|
1255
|
-
maxGasAmount: (_c = optionsV1 == null ? void 0 : optionsV1.maxGasAmount) != null ? _c : optionsV1 == null ? void 0 : optionsV1.max_gas_amount,
|
|
1256
|
-
sequenceNumber: optionsV1 == null ? void 0 : optionsV1.sequenceNumber,
|
|
1257
|
-
sender: (optionsV1 == null ? void 0 : optionsV1.sender) ? { address: AccountAddress.from(optionsV1.sender) } : void 0
|
|
1258
|
-
},
|
|
1259
|
-
this._wallet
|
|
1260
|
-
);
|
|
1261
|
-
return authenticator;
|
|
1262
|
-
} else {
|
|
1263
|
-
const aptosConfig = getAptosConfig(this._network, this._dappConfig);
|
|
1264
|
-
this.ensureAccountExists(this._account);
|
|
1265
|
-
const sender = this._account.address;
|
|
1266
|
-
const payload = await generateTransactionPayloadFromV1Input(
|
|
1267
|
-
aptosConfig,
|
|
1268
|
-
transactionOrPayload
|
|
1269
|
-
);
|
|
1270
|
-
const optionsV1 = options;
|
|
1271
|
-
const optionsV2 = {
|
|
1272
|
-
accountSequenceNumber: optionsV1 == null ? void 0 : optionsV1.sequenceNumber,
|
|
1273
|
-
expireTimestamp: (_d = optionsV1 == null ? void 0 : optionsV1.expireTimestamp) != null ? _d : optionsV1 == null ? void 0 : optionsV1.expirationTimestamp,
|
|
1274
|
-
gasUnitPrice: (_e = optionsV1 == null ? void 0 : optionsV1.gasUnitPrice) != null ? _e : optionsV1 == null ? void 0 : optionsV1.gas_unit_price,
|
|
1275
|
-
maxGasAmount: (_f = optionsV1 == null ? void 0 : optionsV1.maxGasAmount) != null ? _f : optionsV1 == null ? void 0 : optionsV1.max_gas_amount
|
|
1276
|
-
};
|
|
1277
|
-
const rawTransaction = await generateRawTransaction({
|
|
1278
|
-
aptosConfig,
|
|
1279
|
-
payload,
|
|
1280
|
-
sender,
|
|
1281
|
-
options: optionsV2
|
|
1282
|
-
});
|
|
1283
|
-
return await this.walletStandardCore.signTransaction(
|
|
1284
|
-
new SimpleTransaction(rawTransaction),
|
|
1285
|
-
this._wallet,
|
|
1286
|
-
false
|
|
1287
|
-
);
|
|
1288
|
-
}
|
|
762
|
+
if ("rawTransaction" in transactionOrPayload) {
|
|
763
|
+
const response = await ((_a = this._wallet) == null ? void 0 : _a.features["aptos:signTransaction"].signTransaction(
|
|
764
|
+
transactionOrPayload,
|
|
765
|
+
asFeePayer
|
|
766
|
+
));
|
|
767
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
768
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
1289
769
|
}
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
770
|
+
return {
|
|
771
|
+
authenticator: response.args,
|
|
772
|
+
rawTransaction: transactionOrPayload.rawTransaction.bcsToBytes()
|
|
773
|
+
};
|
|
774
|
+
} else if (((_b = this._wallet.features["aptos:signTransaction"]) == null ? void 0 : _b.version) === "1.1") {
|
|
775
|
+
const signTransactionV1_1StandardInput = {
|
|
776
|
+
payload: transactionOrPayload.data,
|
|
777
|
+
expirationTimestamp: (_c = transactionOrPayload.options) == null ? void 0 : _c.expirationTimestamp,
|
|
778
|
+
expirationSecondsFromNow: (_d = transactionOrPayload.options) == null ? void 0 : _d.expirationSecondsFromNow,
|
|
779
|
+
gasUnitPrice: (_e = transactionOrPayload.options) == null ? void 0 : _e.gasUnitPrice,
|
|
780
|
+
maxGasAmount: (_f = transactionOrPayload.options) == null ? void 0 : _f.maxGasAmount,
|
|
781
|
+
sequenceNumber: (_g = transactionOrPayload.options) == null ? void 0 : _g.accountSequenceNumber,
|
|
782
|
+
sender: transactionOrPayload.sender ? { address: AccountAddress.from(transactionOrPayload.sender) } : void 0
|
|
783
|
+
};
|
|
784
|
+
const walletSignTransactionMethod = (_h = this._wallet) == null ? void 0 : _h.features["aptos:signTransaction"].signTransaction;
|
|
785
|
+
const response = await walletSignTransactionMethod(
|
|
786
|
+
signTransactionV1_1StandardInput
|
|
787
|
+
);
|
|
788
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
789
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
790
|
+
}
|
|
791
|
+
return {
|
|
792
|
+
authenticator: response.args.authenticator,
|
|
793
|
+
rawTransaction: response.args.rawTransaction.bcsToBytes()
|
|
794
|
+
};
|
|
795
|
+
} else {
|
|
796
|
+
const aptosConfig = getAptosConfig(this._network, this._dappConfig);
|
|
797
|
+
const aptos = new Aptos2(aptosConfig);
|
|
798
|
+
const transaction = await aptos.transaction.build.simple({
|
|
799
|
+
sender: this._account.address,
|
|
800
|
+
data: transactionOrPayload.data,
|
|
801
|
+
options: transactionOrPayload.options
|
|
802
|
+
});
|
|
803
|
+
const response = await ((_i = this._wallet) == null ? void 0 : _i.features["aptos:signTransaction"].signTransaction(
|
|
804
|
+
transaction,
|
|
805
|
+
asFeePayer
|
|
806
|
+
));
|
|
807
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
808
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
1318
809
|
}
|
|
810
|
+
return {
|
|
811
|
+
authenticator: response.args,
|
|
812
|
+
rawTransaction: transaction.bcsToBytes()
|
|
813
|
+
};
|
|
1319
814
|
}
|
|
1320
|
-
throw new WalletNotSupportedMethod(
|
|
1321
|
-
`Sign Transaction is not supported by ${(_g = this.wallet) == null ? void 0 : _g.name}`
|
|
1322
|
-
).message;
|
|
1323
815
|
} catch (error) {
|
|
1324
816
|
const errMsg = generalizedErrorMessage(error);
|
|
1325
817
|
throw new WalletSignTransactionError(errMsg).message;
|
|
1326
818
|
}
|
|
1327
819
|
}
|
|
1328
820
|
async signMessage(message) {
|
|
821
|
+
var _a, _b;
|
|
1329
822
|
try {
|
|
1330
823
|
this.ensureWalletExists(this._wallet);
|
|
1331
824
|
this.recordEvent("sign_message");
|
|
1332
|
-
|
|
1333
|
-
|
|
825
|
+
const response = await ((_b = (_a = this._wallet) == null ? void 0 : _a.features["aptos:signMessage"]) == null ? void 0 : _b.signMessage(message));
|
|
826
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
827
|
+
throw new WalletConnectionError("User has rejected the request").message;
|
|
1334
828
|
}
|
|
1335
|
-
|
|
1336
|
-
return response;
|
|
829
|
+
return response.args;
|
|
1337
830
|
} catch (error) {
|
|
1338
831
|
const errMsg = generalizedErrorMessage(error);
|
|
1339
832
|
throw new WalletSignMessageError(errMsg).message;
|
|
@@ -1347,12 +840,8 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1347
840
|
this.recordEvent("submit_transaction", {
|
|
1348
841
|
transaction_type: transactionType
|
|
1349
842
|
});
|
|
1350
|
-
if (this._wallet.submitTransaction) {
|
|
1351
|
-
const pendingTransaction = await this._wallet.submitTransaction(transaction);
|
|
1352
|
-
return pendingTransaction;
|
|
1353
|
-
}
|
|
1354
843
|
const aptosConfig = getAptosConfig(this._network, this._dappConfig);
|
|
1355
|
-
const aptos = new
|
|
844
|
+
const aptos = new Aptos2(aptosConfig);
|
|
1356
845
|
if (additionalSignersAuthenticators !== void 0) {
|
|
1357
846
|
const multiAgentTxn = {
|
|
1358
847
|
...transaction,
|
|
@@ -1364,35 +853,37 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1364
853
|
}
|
|
1365
854
|
} catch (error) {
|
|
1366
855
|
const errMsg = generalizedErrorMessage(error);
|
|
1367
|
-
throw new
|
|
856
|
+
throw new WalletSubmitTransactionError(errMsg).message;
|
|
1368
857
|
}
|
|
1369
858
|
}
|
|
1370
859
|
async onAccountChange() {
|
|
860
|
+
var _a;
|
|
1371
861
|
try {
|
|
1372
862
|
this.ensureWalletExists(this._wallet);
|
|
1373
|
-
await this._wallet.onAccountChange(
|
|
863
|
+
await ((_a = this._wallet.features["aptos:onAccountChange"]) == null ? void 0 : _a.onAccountChange(
|
|
1374
864
|
async (data) => {
|
|
1375
865
|
this.setAccount(data);
|
|
1376
866
|
await this.setAnsName();
|
|
1377
867
|
this.recordEvent("account_change");
|
|
1378
868
|
this.emit("accountChange", this._account);
|
|
1379
869
|
}
|
|
1380
|
-
);
|
|
870
|
+
));
|
|
1381
871
|
} catch (error) {
|
|
1382
872
|
const errMsg = generalizedErrorMessage(error);
|
|
1383
873
|
throw new WalletAccountChangeError(errMsg).message;
|
|
1384
874
|
}
|
|
1385
875
|
}
|
|
1386
876
|
async onNetworkChange() {
|
|
877
|
+
var _a;
|
|
1387
878
|
try {
|
|
1388
879
|
this.ensureWalletExists(this._wallet);
|
|
1389
|
-
await this._wallet.onNetworkChange(
|
|
880
|
+
await ((_a = this._wallet.features["aptos:onNetworkChange"]) == null ? void 0 : _a.onNetworkChange(
|
|
1390
881
|
async (data) => {
|
|
1391
882
|
this.setNetwork(data);
|
|
1392
883
|
await this.setAnsName();
|
|
1393
884
|
this.emit("networkChange", this._network);
|
|
1394
885
|
}
|
|
1395
|
-
);
|
|
886
|
+
));
|
|
1396
887
|
} catch (error) {
|
|
1397
888
|
const errMsg = generalizedErrorMessage(error);
|
|
1398
889
|
throw new WalletNetworkChangeError(errMsg).message;
|
|
@@ -1406,14 +897,16 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1406
897
|
from: (_a = this._network) == null ? void 0 : _a.name,
|
|
1407
898
|
to: network
|
|
1408
899
|
});
|
|
1409
|
-
const chainId = network ===
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
const response = await this._wallet.changeNetwork(
|
|
1416
|
-
|
|
900
|
+
const chainId = network === Network3.DEVNET ? await fetchDevnetChainId() : NetworkToChainId[network];
|
|
901
|
+
const networkInfo = {
|
|
902
|
+
name: network,
|
|
903
|
+
chainId
|
|
904
|
+
};
|
|
905
|
+
if (this._wallet.features["aptos:changeNetwork"]) {
|
|
906
|
+
const response = await this._wallet.features["aptos:changeNetwork"].changeNetwork(
|
|
907
|
+
networkInfo
|
|
908
|
+
);
|
|
909
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
1417
910
|
throw new WalletConnectionError("User has rejected the request").message;
|
|
1418
911
|
}
|
|
1419
912
|
return response.args;
|
|
@@ -1431,17 +924,45 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
1431
924
|
this.ensureWalletExists(this._wallet);
|
|
1432
925
|
this.ensureAccountExists(this._account);
|
|
1433
926
|
this.recordEvent("sign_message_and_verify");
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
927
|
+
try {
|
|
928
|
+
const response = await this._wallet.features["aptos:signMessage"].signMessage(message);
|
|
929
|
+
if (response.status === UserResponseStatus.REJECTED) {
|
|
930
|
+
throw new WalletConnectionError("Failed to sign a message").message;
|
|
931
|
+
}
|
|
932
|
+
if (this._account.publicKey instanceof AnyPublicKey && this._account.publicKey.variant === AnyPublicKeyVariant.Keyless) {
|
|
933
|
+
return true;
|
|
934
|
+
}
|
|
935
|
+
let verified = false;
|
|
936
|
+
if (response.args.signature instanceof MultiEd25519Signature) {
|
|
937
|
+
if (!(this._account.publicKey instanceof MultiEd25519PublicKey)) {
|
|
938
|
+
throw new WalletSignMessageAndVerifyError(
|
|
939
|
+
"Public key and Signature type mismatch"
|
|
940
|
+
).message;
|
|
941
|
+
}
|
|
942
|
+
const { fullMessage, signature } = response.args;
|
|
943
|
+
const bitmap = signature.bitmap;
|
|
944
|
+
if (bitmap) {
|
|
945
|
+
const minKeysRequired = this._account.publicKey.threshold;
|
|
946
|
+
if (signature.signatures.length < minKeysRequired) {
|
|
947
|
+
verified = false;
|
|
948
|
+
} else {
|
|
949
|
+
verified = this._account.publicKey.verifySignature({
|
|
950
|
+
message: new TextEncoder().encode(fullMessage),
|
|
951
|
+
signature
|
|
952
|
+
});
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
} else {
|
|
956
|
+
verified = this._account.publicKey.verifySignature({
|
|
957
|
+
message: new TextEncoder().encode(response.args.fullMessage),
|
|
958
|
+
signature: response.args.signature
|
|
959
|
+
});
|
|
960
|
+
}
|
|
961
|
+
return verified;
|
|
962
|
+
} catch (error) {
|
|
963
|
+
const errMsg = generalizedErrorMessage(error);
|
|
964
|
+
throw new WalletSignMessageAndVerifyError(errMsg).message;
|
|
1439
965
|
}
|
|
1440
|
-
return await this.walletCoreV1.signMessageAndVerify(
|
|
1441
|
-
message,
|
|
1442
|
-
this._wallet,
|
|
1443
|
-
this._account
|
|
1444
|
-
);
|
|
1445
966
|
} catch (error) {
|
|
1446
967
|
const errMsg = generalizedErrorMessage(error);
|
|
1447
968
|
throw new WalletSignMessageAndVerifyError(errMsg).message;
|
|
@@ -1458,23 +979,16 @@ export {
|
|
|
1458
979
|
APTOS_CONNECT_BASE_URL,
|
|
1459
980
|
ChainIdToAnsSupportedNetworkMap,
|
|
1460
981
|
NetworkName,
|
|
1461
|
-
TxnBuilderTypes3 as TxnBuilderTypes,
|
|
1462
|
-
Types3 as Types,
|
|
1463
982
|
WalletCore,
|
|
1464
|
-
WalletCoreV1,
|
|
1465
983
|
WalletReadyState,
|
|
1466
|
-
|
|
1467
|
-
areBCSArguments,
|
|
984
|
+
aptosStandardSupportedWalletList,
|
|
1468
985
|
convertNetwork,
|
|
1469
|
-
convertPayloadInputV1ToV2,
|
|
1470
|
-
convertV2PayloadToV1JSONPayload,
|
|
1471
|
-
convertV2TransactionPayloadToV1BCSPayload,
|
|
1472
986
|
fetchDevnetChainId,
|
|
1473
987
|
generalizedErrorMessage,
|
|
1474
|
-
generateTransactionPayloadFromV1Input,
|
|
1475
988
|
getAptosConfig,
|
|
1476
989
|
getAptosConnectWallets,
|
|
1477
990
|
getLocalStorage,
|
|
991
|
+
getSDKWallets,
|
|
1478
992
|
groupAndSortWallets,
|
|
1479
993
|
handlePublishPackageTransaction,
|
|
1480
994
|
isAptosConnectWallet,
|
|
@@ -1487,7 +1001,6 @@ export {
|
|
|
1487
1001
|
isRedirectable,
|
|
1488
1002
|
partitionWallets,
|
|
1489
1003
|
removeLocalStorage,
|
|
1490
|
-
scopePollingDetectionStrategy,
|
|
1491
1004
|
setLocalStorage,
|
|
1492
1005
|
truncateAddress
|
|
1493
1006
|
};
|