@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.
Files changed (70) hide show
  1. package/README.md +10 -0
  2. package/dist/WalletCore.d.ts +71 -112
  3. package/dist/WalletCore.d.ts.map +1 -1
  4. package/dist/constants.d.ts +4 -14
  5. package/dist/constants.d.ts.map +1 -1
  6. package/dist/error/index.d.ts +3 -0
  7. package/dist/error/index.d.ts.map +1 -1
  8. package/dist/index.d.ts +3 -3
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +379 -859
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mjs +408 -894
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/{AIP62StandardWallets/registry.d.ts → registry.d.ts} +1 -1
  15. package/dist/registry.d.ts.map +1 -0
  16. package/dist/sdkWallets.d.ts +3 -0
  17. package/dist/sdkWallets.d.ts.map +1 -0
  18. package/dist/utils/helpers.d.ts +7 -7
  19. package/dist/utils/helpers.d.ts.map +1 -1
  20. package/dist/utils/index.d.ts +1 -1
  21. package/dist/utils/index.d.ts.map +1 -1
  22. package/dist/utils/localStorage.d.ts +1 -2
  23. package/dist/utils/localStorage.d.ts.map +1 -1
  24. package/dist/utils/types.d.ts +26 -0
  25. package/dist/utils/types.d.ts.map +1 -0
  26. package/dist/utils/walletSelector.d.ts +18 -19
  27. package/dist/utils/walletSelector.d.ts.map +1 -1
  28. package/dist/version.d.ts +1 -1
  29. package/dist/version.d.ts.map +1 -1
  30. package/package.json +4 -5
  31. package/src/WalletCore.ts +474 -686
  32. package/src/constants.ts +3 -13
  33. package/src/error/index.ts +4 -0
  34. package/src/index.ts +3 -3
  35. package/src/{AIP62StandardWallets/registry.ts → registry.ts} +19 -6
  36. package/src/{AIP62StandardWallets/sdkWallets.ts → sdkWallets.ts} +6 -6
  37. package/src/utils/helpers.ts +46 -32
  38. package/src/utils/index.ts +1 -1
  39. package/src/utils/localStorage.ts +1 -3
  40. package/src/{AIP62StandardWallets → utils}/types.ts +22 -3
  41. package/src/utils/walletSelector.ts +32 -26
  42. package/src/version.ts +1 -1
  43. package/dist/AIP62StandardWallets/WalletStandard.d.ts +0 -44
  44. package/dist/AIP62StandardWallets/WalletStandard.d.ts.map +0 -1
  45. package/dist/AIP62StandardWallets/index.d.ts +0 -3
  46. package/dist/AIP62StandardWallets/index.d.ts.map +0 -1
  47. package/dist/AIP62StandardWallets/registry.d.ts.map +0 -1
  48. package/dist/AIP62StandardWallets/sdkWallets.d.ts +0 -4
  49. package/dist/AIP62StandardWallets/sdkWallets.d.ts.map +0 -1
  50. package/dist/AIP62StandardWallets/types.d.ts +0 -12
  51. package/dist/AIP62StandardWallets/types.d.ts.map +0 -1
  52. package/dist/LegacyWalletPlugins/WalletCoreV1.d.ts +0 -50
  53. package/dist/LegacyWalletPlugins/WalletCoreV1.d.ts.map +0 -1
  54. package/dist/LegacyWalletPlugins/conversion.d.ts +0 -21
  55. package/dist/LegacyWalletPlugins/conversion.d.ts.map +0 -1
  56. package/dist/LegacyWalletPlugins/index.d.ts +0 -4
  57. package/dist/LegacyWalletPlugins/index.d.ts.map +0 -1
  58. package/dist/LegacyWalletPlugins/types.d.ts +0 -116
  59. package/dist/LegacyWalletPlugins/types.d.ts.map +0 -1
  60. package/dist/__tests__/WalletCore.test.d.ts +0 -2
  61. package/dist/__tests__/WalletCore.test.d.ts.map +0 -1
  62. package/dist/utils/scopePollingDetectionStrategy.d.ts +0 -2
  63. package/dist/utils/scopePollingDetectionStrategy.d.ts.map +0 -1
  64. package/src/AIP62StandardWallets/WalletStandard.ts +0 -242
  65. package/src/AIP62StandardWallets/index.ts +0 -2
  66. package/src/LegacyWalletPlugins/WalletCoreV1.ts +0 -258
  67. package/src/LegacyWalletPlugins/conversion.ts +0 -124
  68. package/src/LegacyWalletPlugins/index.ts +0 -3
  69. package/src/LegacyWalletPlugins/types.ts +0 -188
  70. 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
- WalletStandardCore: () => WalletStandardCore,
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 = "4.25.0";
61
+ var WALLET_ADAPTER_CORE_VERSION = "5.0.1";
70
62
 
71
63
  // src/WalletCore.ts
72
- var import_aptos4 = require("aptos");
73
- var import_ts_sdk6 = require("@aptos-labs/ts-sdk");
74
- var import_eventemitter32 = __toESM(require("eventemitter3"));
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/AIP62StandardWallets/sdkWallets.ts
78
- var import_wallet_adapter_plugin = require("@aptos-connect/wallet-adapter-plugin");
79
- var import_ts_sdk = require("@aptos-labs/ts-sdk");
80
- var import_aptos_wallet_adapter = require("@atomrigslab/aptos-wallet-adapter");
81
- var import_aptos_wallet_adapter2 = require("@mizuwallet-sdk/aptos-wallet-adapter");
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
- if ((dappConfig == null ? void 0 : dappConfig.network) === import_ts_sdk.Network.MAINNET) {
108
- sdkWallets.push(new import_aptos_wallet_adapter.TWallet());
109
- } else {
110
- sdkWallets.push(new import_aptos_wallet_adapter.DevTWallet());
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 WalletNotSupportedMethod = class extends WalletError {
185
+ var WalletChangeNetworkError = class extends WalletError {
222
186
  constructor() {
223
187
  super(...arguments);
224
- this.name = "WalletNotSupportedMethod";
188
+ this.name = "WalletChangeNetworkError";
225
189
  }
226
190
  };
227
- var WalletChangeNetworkError = class extends WalletError {
191
+ var WalletSubmitTransactionError = class extends WalletError {
228
192
  constructor() {
229
193
  super(...arguments);
230
- this.name = "WalletChangeNetworkError";
194
+ this.name = "WalletSubmitTransactionError";
231
195
  }
232
196
  };
233
197
 
234
- // src/LegacyWalletPlugins/WalletCoreV1.ts
235
- var import_aptos2 = require("aptos");
236
- var import_eventemitter3 = __toESM(require("eventemitter3"));
237
- var import_buffer = require("buffer");
238
- var import_ts_sdk4 = require("@aptos-labs/ts-sdk");
239
- var import_tweetnacl = __toESM(require("tweetnacl"));
240
-
241
- // src/LegacyWalletPlugins/conversion.ts
242
- var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
243
- var import_aptos = require("aptos");
244
- function convertNetwork(networkInfo) {
245
- switch (networkInfo == null ? void 0 : networkInfo.name) {
246
- case "mainnet":
247
- return import_ts_sdk2.Network.MAINNET;
248
- case "testnet":
249
- return import_ts_sdk2.Network.TESTNET;
250
- case "devnet":
251
- return import_ts_sdk2.Network.DEVNET;
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 import_ts_sdk3 = require("@aptos-labs/ts-sdk");
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 import_ts_sdk3.AptosConfig({
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 import_ts_sdk3.AptosConfig({
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
- "Invalid network, custom network not supported with Aptos wallet adapter to prevent user from using an unexpected network."
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 import_ts_sdk3.NetworkToNodeAPI[networkInfo.name] !== void 0;
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 import_ts_sdk3.Aptos();
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 = import_ts_sdk3.Hex.fromHexInput(metadataBytes).toUint8Array();
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 import_ts_sdk3.Hex.fromHexInput(byte).toUint8Array();
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 */ || wallet.readyState === "Loadable" /* Loadable */;
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/LegacyWalletPlugins/WalletCoreV1.ts
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 import_eventemitter32.default {
816
- constructor(plugins, optInWallets, dappConfig, disableTelemetry) {
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._account = null;
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.ga4 = null;
481
+ this._connecting = false;
482
+ this._account = null;
483
+ this._optInWallets = [];
830
484
  this._disableTelemetry = false;
831
- this.standardizeStandardWalletToPluginWalletType = (standardWallet) => {
832
- var _a, _b, _c, _d;
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, import_wallet_standard2.getAptosWallets)();
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, import_wallet_standard2.getAptosWallets)();
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, import_wallet_standard2.getAptosWallets)();
508
+ let { aptosWallets: aptosWallets2 } = (0, import_wallet_standard.getAptosWallets)();
916
509
  that.setExtensionAIP62Wallets(aptosWallets2);
917
510
  });
918
511
  }
919
- appendNotDetectedStandardSupportedWallets() {
920
- aptosStandardSupportedWalletList.map((supportedWallet) => {
921
- const existingPluginWalletIndex = this.wallets.findIndex(
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
- const existingStandardPontemWallet = this.wallets.find(
927
- (wallet) => wallet.name == "Pontem"
516
+ }
517
+ this._standard_wallets = this._standard_wallets.filter(
518
+ (item) => item.name !== wallet.name
928
519
  );
929
- if (supportedWallet.name === "Pontem Wallet" && existingStandardPontemWallet) {
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 && this.excludeWallet(existingStandardWallet)) {
551
+ if (existingStandardWallet) {
552
+ return;
553
+ }
554
+ if (this.excludeWallet(supportedWallet)) {
936
555
  return;
937
556
  }
938
557
  if (!existingStandardWallet) {
939
- this._all_wallets.push(supportedWallet);
940
- this.emit("standardWalletsAdded", supportedWallet);
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 === "Loadable" /* Loadable */ || wallet.readyState === "Installed" /* Installed */))
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 import_ts_sdk6.Aptos(aptosConfig);
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
- var _a;
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
- var _a, _b, _c;
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._all_wallets;
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() && selectedWallet.readyState !== "Installed" /* Installed */) {
1144
- if (selectedWallet.isAIP62Standard) {
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
- let account;
1174
- if (selectedWallet.isAIP62Standard) {
1175
- account = await this.walletStandardCore.connect(selectedWallet);
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
- const payloadData = transactionInput.data;
1224
- const aptosConfig = getAptosConfig(this._network, this._dappConfig);
1225
- const aptos = new import_ts_sdk6.Aptos(aptosConfig);
1226
- if (this._wallet.signAndSubmitTransaction) {
1227
- if (this._wallet.isAIP62Standard) {
1228
- const { hash, ...output } = await this.walletStandardCore.signAndSubmitTransaction(
1229
- transactionInput,
1230
- aptos,
1231
- this._account,
1232
- this._wallet,
1233
- this._standard_wallets
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
- return { hash, output };
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 senderAuthenticator = await this.signTransaction(transaction);
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(transactionOrPayload, asFeePayer, options) {
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 (this._wallet.signTransaction) {
1269
- if (this._wallet.isAIP62Standard) {
1270
- if ("rawTransaction" in transactionOrPayload) {
1271
- return await this.walletStandardCore.signTransaction(
1272
- transactionOrPayload,
1273
- this._wallet,
1274
- asFeePayer
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
- if ("rawTransaction" in transactionOrPayload) {
1321
- const accountAuthenticator = await this._wallet.signTransaction(
1322
- transactionOrPayload,
1323
- asFeePayer
1324
- );
1325
- return accountAuthenticator;
1326
- } else {
1327
- const response = await this.walletCoreV1.signTransaction(
1328
- transactionOrPayload,
1329
- this._wallet,
1330
- {
1331
- max_gas_amount: (options == null ? void 0 : options.maxGasAmount) ? BigInt(options == null ? void 0 : options.maxGasAmount) : void 0,
1332
- gas_unit_price: (options == null ? void 0 : options.gasUnitPrice) ? BigInt(options == null ? void 0 : options.gasUnitPrice) : void 0
1333
- }
1334
- );
1335
- if (!response) {
1336
- throw new Error("error");
1337
- }
1338
- const deserializer1 = new import_aptos4.BCS.Deserializer(response);
1339
- const deserializedSignature = import_aptos4.TxnBuilderTypes.SignedTransaction.deserialize(deserializer1);
1340
- const transactionAuthenticator = deserializedSignature.authenticator;
1341
- const publicKey = transactionAuthenticator.public_key.value;
1342
- const signature = transactionAuthenticator.signature.value;
1343
- const accountAuthenticator = new import_ts_sdk6.AccountAuthenticatorEd25519(
1344
- new import_ts_sdk6.Ed25519PublicKey(publicKey),
1345
- new import_ts_sdk6.Ed25519Signature(signature)
1346
- );
1347
- return accountAuthenticator;
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
- if (this._wallet.isAIP62Standard) {
1363
- return await this.walletStandardCore.signMessage(message, this._wallet);
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
- const response = await this._wallet.signMessage(message);
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 import_ts_sdk6.Aptos(aptosConfig);
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 WalletSignTransactionError(errMsg).message;
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 === import_ts_sdk6.Network.DEVNET ? await fetchDevnetChainId() : import_ts_sdk6.NetworkToChainId[network];
1440
- if (this._wallet.changeNetwork) {
1441
- const networkInfo = {
1442
- name: network,
1443
- chainId
1444
- };
1445
- const response = await this._wallet.changeNetwork(networkInfo);
1446
- if (response.status === import_wallet_standard2.UserResponseStatus.REJECTED) {
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
- if (this._wallet.isAIP62Standard) {
1465
- return this.walletStandardCore.signMessageAndVerify(
1466
- message,
1467
- this._wallet
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
- WalletStandardCore,
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
  });