@aptos-labs/wallet-adapter-core 5.5.1 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,4BAA4B,CAuC9E,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,4BAA4B,CAuE9E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdkWallets.d.ts","sourceRoot":"","sources":["../src/sdkWallets.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzD,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,mBAyCpD"}
1
+ {"version":3,"file":"sdkWallets.d.ts","sourceRoot":"","sources":["../src/sdkWallets.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzD,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,mBA2CpD"}
@@ -8,6 +8,7 @@ export interface AptosStandardSupportedWallet {
8
8
  readyState: WalletReadyState.NotDetected;
9
9
  isAIP62Standard: true;
10
10
  deeplinkProvider?: string;
11
+ isAptosNativeWallet?: boolean;
11
12
  }
12
13
  export type AvailableWallets = "Continue with Apple" | "Continue with Google" | "MSafe" | "Mizu Wallet" | "Nightly" | "OKX Wallet" | "Petra" | "Pontem Wallet" | "Rimosafe" | "T wallet";
13
14
  export type InputTransactionData = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,4BAA4B;IAE3C,IAAI,EAAE,MAAM,CAAC;IAEb,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,cAAc,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,WAAW,MAAM,EAAE,CAAC;IAG1E,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAGzC,eAAe,EAAE,IAAI,CAAC;IAGtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB,sBAAsB,GACtB,OAAO,GACP,aAAa,GACb,SAAS,GACT,YAAY,GACZ,OAAO,GACP,eAAe,GACf,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,CAAC,EAAE,+BAA+B,GAAG;QAC1C,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,4BAA4B;IAE3C,IAAI,EAAE,MAAM,CAAC;IAEb,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,cAAc,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,WAAW,MAAM,EAAE,CAAC;IAG1E,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAGzC,eAAe,EAAE,IAAI,CAAC;IAGtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAGD,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB,sBAAsB,GACtB,OAAO,GACP,aAAa,GACb,SAAS,GACT,YAAY,GACZ,OAAO,GACP,eAAe,GACf,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,CAAC,EAAE,+BAA+B,GAAG;QAC1C,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const WALLET_ADAPTER_CORE_VERSION = "5.5.1";
1
+ export declare const WALLET_ADAPTER_CORE_VERSION = "5.7.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aptos-labs/wallet-adapter-core",
3
- "version": "5.5.1",
3
+ "version": "5.7.0",
4
4
  "description": "Aptos Wallet Adapter Core",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
package/src/WalletCore.ts CHANGED
@@ -98,6 +98,7 @@ import {
98
98
  // An adapter wallet types is a wallet that is compatible with the wallet standard and the wallet adapter properties
99
99
  export type AdapterWallet = AptosWallet & {
100
100
  readyState?: WalletReadyState;
101
+ isAptosNativeWallet?: boolean;
101
102
  };
102
103
 
103
104
  // An adapter not detected wallet types is a wallet that is compatible with the wallet standard but not detected
@@ -234,12 +235,8 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
234
235
  return;
235
236
  }
236
237
 
237
- // Remove optional duplications in the _all_wallets array
238
- this._standard_wallets = this._standard_wallets.filter(
239
- (item) => item.name !== wallet.name
240
- );
241
-
242
238
  const isValid = isWalletWithRequiredFeatureSet(wallet);
239
+
243
240
  if (isValid) {
244
241
  // check if we already have this wallet as a not detected wallet
245
242
  const index = this._standard_not_detected_wallets.findIndex(
@@ -250,9 +247,16 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
250
247
  this._standard_not_detected_wallets.splice(index, 1);
251
248
  }
252
249
 
253
- wallet.readyState = WalletReadyState.Installed;
254
- this._standard_wallets.push(wallet);
255
- this.emit("standardWalletsAdded", wallet);
250
+ // ✅ Check if wallet already exists in _standard_wallets
251
+ const alreadyExists = this._standard_wallets.some(
252
+ (w) => w.name === wallet.name
253
+ );
254
+ if (!alreadyExists) {
255
+ wallet.readyState = WalletReadyState.Installed;
256
+ wallet.isAptosNativeWallet = this.isAptosNativeWallet(wallet);
257
+ this._standard_wallets.push(wallet);
258
+ this.emit("standardWalletsAdded", wallet);
259
+ }
256
260
  }
257
261
  });
258
262
  }
@@ -269,37 +273,49 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
269
273
 
270
274
  if (isValid) {
271
275
  wallet.readyState = WalletReadyState.Installed;
276
+ wallet.isAptosNativeWallet = this.isAptosNativeWallet(wallet);
272
277
  this._standard_wallets.push(wallet);
273
278
  }
274
279
  });
275
280
  }
276
281
 
282
+ // Aptos native wallets do not have an authenticationFunction property
283
+ private isAptosNativeWallet(wallet: AptosWallet): boolean {
284
+ return !("authenticationFunction" in wallet);
285
+ }
286
+
277
287
  // Since we can't discover AIP-62 wallets that are not installed on the user machine,
278
288
  // we hold a AIP-62 wallets registry to show on the wallet selector modal for the users.
279
289
  // Append wallets from wallet standard support registry to the `_standard_not_detected_wallets` array
280
290
  // when wallet is not installed on the user machine
281
291
  private appendNotDetectedStandardSupportedWallets(): void {
282
292
  // Loop over the registry map
283
- aptosStandardSupportedWalletList.map((supportedWallet) => {
284
- // Check if we already have this wallet as a detected AIP-62 wallet standard
285
- const existingStandardWallet = this._standard_wallets.find(
286
- (wallet) => wallet.name == supportedWallet.name
287
- );
288
- // If it is detected, it means the user has the wallet installed, so dont add it to the wallets array
289
- if (existingStandardWallet) {
290
- return;
291
- }
292
- // If AIP-62 wallet detected but it is excluded by the dapp, dont add it to the wallets array
293
- if (this.excludeWallet(supportedWallet)) {
294
- return;
295
- }
296
- // If AIP-62 wallet does not exist, append it to the wallet selector modal
297
- // as an undetected wallet
298
- if (!existingStandardWallet) {
299
- this._standard_not_detected_wallets.push(supportedWallet);
300
- this.emit("standardNotDetectedWalletAdded", supportedWallet);
293
+ aptosStandardSupportedWalletList.map(
294
+ (supportedWallet: AptosStandardSupportedWallet) => {
295
+ // Check if we already have this wallet as a detected AIP-62 wallet standard
296
+ const existingStandardWallet = this._standard_wallets.find(
297
+ (wallet) => wallet.name == supportedWallet.name
298
+ );
299
+ // If it is detected, it means the user has the wallet installed, so dont add it to the wallets array
300
+ if (existingStandardWallet) {
301
+ return;
302
+ }
303
+ // If AIP-62 wallet detected but it is excluded by the dapp, dont add it to the wallets array
304
+ if (this.excludeWallet(supportedWallet)) {
305
+ return;
306
+ }
307
+ // If AIP-62 wallet does not exist, append it to the wallet selector modal
308
+ // as an undetected wallet
309
+ if (!existingStandardWallet) {
310
+ // Aptos native wallets do not have an authenticationFunction property
311
+ supportedWallet.isAptosNativeWallet = !(
312
+ "authenticationFunction" in supportedWallet
313
+ );
314
+ this._standard_not_detected_wallets.push(supportedWallet);
315
+ this.emit("standardNotDetectedWalletAdded", supportedWallet);
316
+ }
301
317
  }
302
- });
318
+ );
303
319
  }
304
320
 
305
321
  /**
@@ -511,8 +527,16 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
511
527
  const uninstalledWallet =
512
528
  selectedWallet as unknown as AptosStandardSupportedWallet;
513
529
  if (uninstalledWallet.deeplinkProvider) {
514
- const url = encodeURIComponent(window.location.href);
515
- const location = uninstalledWallet.deeplinkProvider.concat(url);
530
+ let parameter = "";
531
+ if (uninstalledWallet.name.includes("Phantom")) {
532
+ // Phantom required parameters https://docs.phantom.com/phantom-deeplinks/other-methods/browse#parameters
533
+ let url = encodeURIComponent(window.location.href);
534
+ let ref = encodeURIComponent(window.location.origin);
535
+ parameter = `${url}?ref=${ref}`;
536
+ } else {
537
+ parameter = encodeURIComponent(window.location.href);
538
+ }
539
+ const location = uninstalledWallet.deeplinkProvider.concat(parameter);
516
540
  window.location.href = location;
517
541
  return;
518
542
  }
package/src/registry.ts CHANGED
@@ -25,6 +25,22 @@ export const aptosStandardSupportedWalletList: Array<AptosStandardSupportedWalle
25
25
  isAIP62Standard: true,
26
26
  deeplinkProvider: "nightly://v1?network=aptos&url=",
27
27
  },
28
+ {
29
+ name: "Nightly (Solana)",
30
+ url: "https://nightly.app/",
31
+ icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iV2Fyc3R3YV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDg1MS41IDg1MS41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4NTEuNSA4NTEuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzYwNjdGOTt9DQoJLnN0MXtmaWxsOiNGN0Y3Rjc7fQ0KPC9zdHlsZT4NCjxnPg0KCTxnIGlkPSJXYXJzdHdhXzJfMDAwMDAwMTQ2MDk2NTQyNTMxODA5NDY0NjAwMDAwMDg2NDc4NTIwMDIxMTY5MTg2ODhfIj4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyNCwwaDYwMy42YzY4LjUsMCwxMjQsNTUuNSwxMjQsMTI0djYwMy42YzAsNjguNS01NS41LDEyNC0xMjQsMTI0SDEyNGMtNjguNSwwLTEyNC01NS41LTEyNC0xMjRWMTI0DQoJCQlDMCw1NS41LDU1LjUsMCwxMjQsMHoiLz4NCgk8L2c+DQoJPGcgaWQ9IldhcnN0d2FfMyI+DQoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik02MjMuNSwxNzAuM2MtMzcuNCw1Mi4yLTg0LjIsODguNC0xMzkuNSwxMTIuNmMtMTkuMi01LjMtMzguOS04LTU4LjMtNy44Yy0xOS40LTAuMi0zOS4xLDIuNi01OC4zLDcuOA0KCQkJYy01NS4zLTI0LjMtMTAyLjEtNjAuMy0xMzkuNS0xMTIuNmMtMTEuMywyOC40LTU0LjgsMTI2LjQtMi42LDI2My40YzAsMC0xNi43LDcxLjUsMTQsMTMyLjljMCwwLDQ0LjQtMjAuMSw3OS43LDguMg0KCQkJYzM2LjksMjkuOSwyNS4xLDU4LjcsNTEuMSw4My41YzIyLjQsMjIuOSw1NS43LDIyLjksNTUuNywyMi45czMzLjMsMCw1NS43LTIyLjhjMjYtMjQuNywxNC4zLTUzLjUsNTEuMS04My41DQoJCQljMzUuMi0yOC4zLDc5LjctOC4yLDc5LjctOC4yYzMwLjYtNjEuNCwxNC0xMzIuOSwxNC0xMzIuOUM2NzguMywyOTYuNyw2MzQuOSwxOTguNyw2MjMuNSwxNzAuM3ogTTI1My4xLDQxNC44DQoJCQljLTI4LjQtNTguMy0zNi4yLTEzOC4zLTE4LjMtMjAxLjVjMjMuNyw2MCw1NS45LDg2LjksOTQuMiwxMTUuM0MzMTIuOCwzNjIuMywyODIuMywzOTQuMSwyNTMuMSw0MTQuOHogTTMzNC44LDUxNy41DQoJCQljLTIyLjQtOS45LTI3LjEtMjkuNC0yNy4xLTI5LjRjMzAuNS0xOS4yLDc1LjQtNC41LDc2LjgsNDAuOUMzNjAuOSw1MTQuNywzNTMsNTI1LjQsMzM0LjgsNTE3LjV6IE00MjUuNyw2NzguNw0KCQkJYy0xNiwwLTI5LTExLjUtMjktMjUuNnMxMy0yNS42LDI5LTI1LjZzMjksMTEuNSwyOSwyNS42QzQ1NC43LDY2Ny4zLDQ0MS43LDY3OC43LDQyNS43LDY3OC43eiBNNTE2LjcsNTE3LjUNCgkJCWMtMTguMiw4LTI2LTIuOC00OS43LDExLjVjMS41LTQ1LjQsNDYuMi02MC4xLDc2LjgtNDAuOUM1NDMuOCw0ODgsNTM5LDUwNy42LDUxNi43LDUxNy41eiBNNTk4LjMsNDE0LjgNCgkJCWMtMjkuMS0yMC43LTU5LjctNTIuNC03Ni04Ni4yYzM4LjMtMjguNCw3MC42LTU1LjQsOTQuMi0xMTUuM0M2MzQuNiwyNzYuNSw2MjYuOCwzNTYuNiw1OTguMyw0MTQuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==",
32
+ readyState: WalletReadyState.NotDetected,
33
+ isAIP62Standard: true,
34
+ deeplinkProvider: "nightly://v1?network=aptos&url=",
35
+ },
36
+ {
37
+ name: "Nightly (Ethereum)",
38
+ url: "https://nightly.app/",
39
+ icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iV2Fyc3R3YV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDg1MS41IDg1MS41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4NTEuNSA4NTEuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzYwNjdGOTt9DQoJLnN0MXtmaWxsOiNGN0Y3Rjc7fQ0KPC9zdHlsZT4NCjxnPg0KCTxnIGlkPSJXYXJzdHdhXzJfMDAwMDAwMTQ2MDk2NTQyNTMxODA5NDY0NjAwMDAwMDg2NDc4NTIwMDIxMTY5MTg2ODhfIj4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyNCwwaDYwMy42YzY4LjUsMCwxMjQsNTUuNSwxMjQsMTI0djYwMy42YzAsNjguNS01NS41LDEyNC0xMjQsMTI0SDEyNGMtNjguNSwwLTEyNC01NS41LTEyNC0xMjRWMTI0DQoJCQlDMCw1NS41LDU1LjUsMCwxMjQsMHoiLz4NCgk8L2c+DQoJPGcgaWQ9IldhcnN0d2FfMyI+DQoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik02MjMuNSwxNzAuM2MtMzcuNCw1Mi4yLTg0LjIsODguNC0xMzkuNSwxMTIuNmMtMTkuMi01LjMtMzguOS04LTU4LjMtNy44Yy0xOS40LTAuMi0zOS4xLDIuNi01OC4zLDcuOA0KCQkJYy01NS4zLTI0LjMtMTAyLjEtNjAuMy0xMzkuNS0xMTIuNmMtMTEuMywyOC40LTU0LjgsMTI2LjQtMi42LDI2My40YzAsMC0xNi43LDcxLjUsMTQsMTMyLjljMCwwLDQ0LjQtMjAuMSw3OS43LDguMg0KCQkJYzM2LjksMjkuOSwyNS4xLDU4LjcsNTEuMSw4My41YzIyLjQsMjIuOSw1NS43LDIyLjksNTUuNywyMi45czMzLjMsMCw1NS43LTIyLjhjMjYtMjQuNywxNC4zLTUzLjUsNTEuMS04My41DQoJCQljMzUuMi0yOC4zLDc5LjctOC4yLDc5LjctOC4yYzMwLjYtNjEuNCwxNC0xMzIuOSwxNC0xMzIuOUM2NzguMywyOTYuNyw2MzQuOSwxOTguNyw2MjMuNSwxNzAuM3ogTTI1My4xLDQxNC44DQoJCQljLTI4LjQtNTguMy0zNi4yLTEzOC4zLTE4LjMtMjAxLjVjMjMuNyw2MCw1NS45LDg2LjksOTQuMiwxMTUuM0MzMTIuOCwzNjIuMywyODIuMywzOTQuMSwyNTMuMSw0MTQuOHogTTMzNC44LDUxNy41DQoJCQljLTIyLjQtOS45LTI3LjEtMjkuNC0yNy4xLTI5LjRjMzAuNS0xOS4yLDc1LjQtNC41LDc2LjgsNDAuOUMzNjAuOSw1MTQuNywzNTMsNTI1LjQsMzM0LjgsNTE3LjV6IE00MjUuNyw2NzguNw0KCQkJYy0xNiwwLTI5LTExLjUtMjktMjUuNnMxMy0yNS42LDI5LTI1LjZzMjksMTEuNSwyOSwyNS42QzQ1NC43LDY2Ny4zLDQ0MS43LDY3OC43LDQyNS43LDY3OC43eiBNNTE2LjcsNTE3LjUNCgkJCWMtMTguMiw4LTI2LTIuOC00OS43LDExLjVjMS41LTQ1LjQsNDYuMi02MC4xLDc2LjgtNDAuOUM1NDMuOCw0ODgsNTM5LDUwNy42LDUxNi43LDUxNy41eiBNNTk4LjMsNDE0LjgNCgkJCWMtMjkuMS0yMC43LTU5LjctNTIuNC03Ni04Ni4yYzM4LjMtMjguNCw3MC42LTU1LjQsOTQuMi0xMTUuM0M2MzQuNiwyNzYuNSw2MjYuOCwzNTYuNiw1OTguMyw0MTQuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==",
40
+ readyState: WalletReadyState.NotDetected,
41
+ isAIP62Standard: true,
42
+ deeplinkProvider: "nightly://v1?network=aptos&url=",
43
+ },
28
44
  {
29
45
  name: "Petra",
30
46
  url: "https://chromewebstore.google.com/detail/petra-aptos-wallet/ejjladinnckdgjemekebdpeokbikhfci?hl=en",
@@ -54,4 +70,20 @@ export const aptosStandardSupportedWalletList: Array<AptosStandardSupportedWalle
54
70
  readyState: WalletReadyState.NotDetected,
55
71
  isAIP62Standard: true,
56
72
  },
73
+ {
74
+ name: "Phantom (Solana)",
75
+ url: "https://phantom.com/",
76
+ icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4IiBoZWlnaHQ9IjEwOCIgdmlld0JveD0iMCAwIDEwOCAxMDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiByeD0iMjYiIGZpbGw9IiNBQjlGRjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ni41MjY3IDY5LjkyMjlDNDIuMDA1NCA3Ni44NTA5IDM0LjQyOTIgODUuNjE4MiAyNC4zNDggODUuNjE4MkMxOS41ODI0IDg1LjYxODIgMTUgODMuNjU2MyAxNSA3NS4xMzQyQzE1IDUzLjQzMDUgNDQuNjMyNiAxOS44MzI3IDcyLjEyNjggMTkuODMyN0M4Ny43NjggMTkuODMyNyA5NCAzMC42ODQ2IDk0IDQzLjAwNzlDOTQgNTguODI1OCA4My43MzU1IDc2LjkxMjIgNzMuNTMyMSA3Ni45MTIyQzcwLjI5MzkgNzYuOTEyMiA2OC43MDUzIDc1LjEzNDIgNjguNzA1MyA3Mi4zMTRDNjguNzA1MyA3MS41NzgzIDY4LjgyNzUgNzAuNzgxMiA2OS4wNzE5IDY5LjkyMjlDNjUuNTg5MyA3NS44Njk5IDU4Ljg2ODUgODEuMzg3OCA1Mi41NzU0IDgxLjM4NzhDNDcuOTkzIDgxLjM4NzggNDUuNjcxMyA3OC41MDYzIDQ1LjY3MTMgNzQuNDU5OEM0NS42NzEzIDcyLjk4ODQgNDUuOTc2OCA3MS40NTU2IDQ2LjUyNjcgNjkuOTIyOVpNODMuNjc2MSA0Mi41Nzk0QzgzLjY3NjEgNDYuMTcwNCA4MS41NTc1IDQ3Ljk2NTggNzkuMTg3NSA0Ny45NjU4Qzc2Ljc4MTYgNDcuOTY1OCA3NC42OTg5IDQ2LjE3MDQgNzQuNjk4OSA0Mi41Nzk0Qzc0LjY5ODkgMzguOTg4NSA3Ni43ODE2IDM3LjE5MzEgNzkuMTg3NSAzNy4xOTMxQzgxLjU1NzUgMzcuMTkzMSA4My42NzYxIDM4Ljk4ODUgODMuNjc2MSA0Mi41Nzk0Wk03MC4yMTAzIDQyLjU3OTVDNzAuMjEwMyA0Ni4xNzA0IDY4LjA5MTYgNDcuOTY1OCA2NS43MjE2IDQ3Ljk2NThDNjMuMzE1NyA0Ny45NjU4IDYxLjIzMyA0Ni4xNzA0IDYxLjIzMyA0Mi41Nzk1QzYxLjIzMyAzOC45ODg1IDYzLjMxNTcgMzcuMTkzMSA2NS43MjE2IDM3LjE5MzFDNjguMDkxNiAzNy4xOTMxIDcwLjIxMDMgMzguOTg4NSA3MC4yMTAzIDQyLjU3OTVaIiBmaWxsPSIjRkZGREY4Ii8+Cjwvc3ZnPgo=",
77
+ readyState: WalletReadyState.NotDetected,
78
+ isAIP62Standard: true,
79
+ deeplinkProvider: `https://phantom.app/ul/browse/`,
80
+ },
81
+ {
82
+ name: "Phantom (Ethereum)",
83
+ url: "https://phantom.com/",
84
+ icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4IiBoZWlnaHQ9IjEwOCIgdmlld0JveD0iMCAwIDEwOCAxMDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiByeD0iMjYiIGZpbGw9IiNBQjlGRjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ni41MjY3IDY5LjkyMjlDNDIuMDA1NCA3Ni44NTA5IDM0LjQyOTIgODUuNjE4MiAyNC4zNDggODUuNjE4MkMxOS41ODI0IDg1LjYxODIgMTUgODMuNjU2MyAxNSA3NS4xMzQyQzE1IDUzLjQzMDUgNDQuNjMyNiAxOS44MzI3IDcyLjEyNjggMTkuODMyN0M4Ny43NjggMTkuODMyNyA5NCAzMC42ODQ2IDk0IDQzLjAwNzlDOTQgNTguODI1OCA4My43MzU1IDc2LjkxMjIgNzMuNTMyMSA3Ni45MTIyQzcwLjI5MzkgNzYuOTEyMiA2OC43MDUzIDc1LjEzNDIgNjguNzA1MyA3Mi4zMTRDNjguNzA1MyA3MS41NzgzIDY4LjgyNzUgNzAuNzgxMiA2OS4wNzE5IDY5LjkyMjlDNjUuNTg5MyA3NS44Njk5IDU4Ljg2ODUgODEuMzg3OCA1Mi41NzU0IDgxLjM4NzhDNDcuOTkzIDgxLjM4NzggNDUuNjcxMyA3OC41MDYzIDQ1LjY3MTMgNzQuNDU5OEM0NS42NzEzIDcyLjk4ODQgNDUuOTc2OCA3MS40NTU2IDQ2LjUyNjcgNjkuOTIyOVpNODMuNjc2MSA0Mi41Nzk0QzgzLjY3NjEgNDYuMTcwNCA4MS41NTc1IDQ3Ljk2NTggNzkuMTg3NSA0Ny45NjU4Qzc2Ljc4MTYgNDcuOTY1OCA3NC42OTg5IDQ2LjE3MDQgNzQuNjk4OSA0Mi41Nzk0Qzc0LjY5ODkgMzguOTg4NSA3Ni43ODE2IDM3LjE5MzEgNzkuMTg3NSAzNy4xOTMxQzgxLjU1NzUgMzcuMTkzMSA4My42NzYxIDM4Ljk4ODUgODMuNjc2MSA0Mi41Nzk0Wk03MC4yMTAzIDQyLjU3OTVDNzAuMjEwMyA0Ni4xNzA0IDY4LjA5MTYgNDcuOTY1OCA2NS43MjE2IDQ3Ljk2NThDNjMuMzE1NyA0Ny45NjU4IDYxLjIzMyA0Ni4xNzA0IDYxLjIzMyA0Mi41Nzk1QzYxLjIzMyAzOC45ODg1IDYzLjMxNTcgMzcuMTkzMSA2NS43MjE2IDM3LjE5MzFDNjguMDkxNiAzNy4xOTMxIDcwLjIxMDMgMzguOTg4NSA3MC4yMTAzIDQyLjU3OTVaIiBmaWxsPSIjRkZGREY4Ii8+Cjwvc3ZnPgo=",
85
+ readyState: WalletReadyState.NotDetected,
86
+ isAIP62Standard: true,
87
+ deeplinkProvider: `https://phantom.app/ul/browse/`,
88
+ },
57
89
  ];
package/src/sdkWallets.ts CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  } from "@aptos-connect/wallet-adapter-plugin";
5
5
  import { Network } from "@aptos-labs/ts-sdk";
6
6
  import { DevTWallet, TWallet } from "@atomrigslab/aptos-wallet-adapter";
7
- import { MSafeWallet } from "@msafe/aptos-aip62-wallet";
7
+ import { inMSafeWallet, MSafeWallet } from "@msafe/aptos-aip62-wallet";
8
8
  import { DappConfig, AdapterWallet } from "./WalletCore";
9
9
 
10
10
  export function getSDKWallets(dappConfig?: DappConfig) {
@@ -35,7 +35,9 @@ export function getSDKWallets(dappConfig?: DappConfig) {
35
35
  sdkWallets.push(new DevTWallet() as any);
36
36
  }
37
37
 
38
- if (dappConfig?.network) {
38
+ // MSafe only works if the dapp is open within the MSafe App store
39
+ // https://doc.m-safe.io/aptos/developers/integrate-with-msafe-dapp/faq
40
+ if (dappConfig?.msafeWalletConfig && dappConfig.network && inMSafeWallet()) {
39
41
  sdkWallets.push(
40
42
  new MSafeWallet({
41
43
  ...dappConfig?.msafeWalletConfig,
@@ -21,6 +21,8 @@ export interface AptosStandardSupportedWallet {
21
21
  // An optional deeplink provider for the wallet. If the wallet is not installed, we can redirect the user to the wallet's deeplink provider
22
22
  // @example "https://myWallet.app/explore?link="
23
23
  deeplinkProvider?: string;
24
+ // A flag to indicate that this AptosStandardSupportedWallet is an Aptos native wallet.
25
+ isAptosNativeWallet?: boolean;
24
26
  }
25
27
 
26
28
  // Update this with the name of your wallet when you create a new wallet plugin.
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const WALLET_ADAPTER_CORE_VERSION = "5.5.1";
1
+ export const WALLET_ADAPTER_CORE_VERSION = "5.7.0";