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