@aptos-labs/wallet-adapter-core 3.10.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @aptos-labs/wallet-adapter-core
2
2
 
3
+ ## 3.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 245ce8d: Support a custom network defined in a Wallet
8
+
3
9
  ## 3.10.0
4
10
 
5
11
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Types } from 'aptos';
2
2
  export { TxnBuilderTypes, Types } from 'aptos';
3
- import { Network, Signature, AnyRawTransaction, InputGenerateTransactionOptions, PendingTransactionResponse, InputSubmitTransactionData, AccountAddressInput, InputGenerateTransactionPayloadData, Aptos, AccountAuthenticator, EntryFunctionArgumentTypes, SimpleEntryFunctionArgumentTypes } from '@aptos-labs/ts-sdk';
3
+ import { Network, Signature, AnyRawTransaction, InputGenerateTransactionOptions, PendingTransactionResponse, InputSubmitTransactionData, AccountAddressInput, InputGenerateTransactionPayloadData, Aptos, AccountAuthenticator, EntryFunctionArgumentTypes, SimpleEntryFunctionArgumentTypes, AptosConfig } from '@aptos-labs/ts-sdk';
4
4
  export { AccountAuthenticator, AnyRawTransaction, InputGenerateTransactionData, InputGenerateTransactionOptions, InputSubmitTransactionData, PendingTransactionResponse } from '@aptos-labs/ts-sdk';
5
5
  import EventEmitter from 'eventemitter3';
6
6
  import { NetworkInfo as NetworkInfo$1, AccountInfo as AccountInfo$1, UserResponse, AptosSignAndSubmitTransactionOutput, AptosSignMessageOutput, AptosWallet, AptosSignTransactionOutput, AptosSignMessageInput } from '@aptos-labs/wallet-standard';
@@ -393,5 +393,19 @@ declare function isInAppBrowser(): boolean;
393
393
  declare function isRedirectable(): boolean;
394
394
  declare function generalizedErrorMessage(error: any): string;
395
395
  declare const areBCSArguments: (args: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>) => boolean;
396
+ /**
397
+ * Helper function to get AptosConfig that supports Aptos and Custom networks
398
+ *
399
+ * @param networkInfo
400
+ * @returns AptosConfig
401
+ */
402
+ declare const getAptosConfig: (networkInfo: NetworkInfo | NetworkInfo$1 | null) => AptosConfig;
403
+ /**
404
+ * Helper function to resolve if the current connected network is an Aptos network
405
+ *
406
+ * @param networkInfo
407
+ * @returns boolean
408
+ */
409
+ declare const isAptosNetwork: (networkInfo: NetworkInfo | NetworkInfo$1 | null) => boolean;
396
410
 
397
- export { AccountInfo, AdapterPlugin, AdapterPluginEvents, AdapterPluginProps, AptosStandardWallet, AptosWalletErrorResult, ChainIdToAnsSupportedNetworkMap, InputTransactionData, NetworkInfo, NetworkName, OnAccountChange, OnNetworkChange, PluginProvider, SignMessagePayload, SignMessageResponse, TransactionOptions, Wallet, WalletCore, WalletCoreEvents, WalletInfo, WalletName, WalletReadyState, WalletStandardCore, areBCSArguments, generalizedErrorMessage, getLocalStorage, isInAppBrowser, isMobile, isRedirectable, removeLocalStorage, scopePollingDetectionStrategy, setLocalStorage };
411
+ export { AccountInfo, AdapterPlugin, AdapterPluginEvents, AdapterPluginProps, AptosStandardWallet, AptosWalletErrorResult, ChainIdToAnsSupportedNetworkMap, InputTransactionData, NetworkInfo, NetworkName, OnAccountChange, OnNetworkChange, PluginProvider, SignMessagePayload, SignMessageResponse, TransactionOptions, Wallet, WalletCore, WalletCoreEvents, WalletInfo, WalletName, WalletReadyState, WalletStandardCore, areBCSArguments, generalizedErrorMessage, getAptosConfig, getLocalStorage, isAptosNetwork, isInAppBrowser, isMobile, isRedirectable, removeLocalStorage, scopePollingDetectionStrategy, setLocalStorage };
package/dist/index.js CHANGED
@@ -35,7 +35,9 @@ __export(src_exports, {
35
35
  WalletStandardCore: () => WalletStandardCore,
36
36
  areBCSArguments: () => areBCSArguments,
37
37
  generalizedErrorMessage: () => generalizedErrorMessage,
38
+ getAptosConfig: () => getAptosConfig,
38
39
  getLocalStorage: () => getLocalStorage,
40
+ isAptosNetwork: () => isAptosNetwork,
39
41
  isInAppBrowser: () => isInAppBrowser,
40
42
  isMobile: () => isMobile,
41
43
  isRedirectable: () => isRedirectable,
@@ -204,50 +206,21 @@ function getLocalStorage() {
204
206
  }
205
207
 
206
208
  // src/utils/helpers.ts
207
- var import_ts_sdk = require("@aptos-labs/ts-sdk");
208
- function isMobile() {
209
- 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(
210
- navigator.userAgent
211
- );
212
- }
213
- function isInAppBrowser() {
214
- const isIphone = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
215
- navigator.userAgent
216
- );
217
- const isAndroid = /(Android).*Version\/[\d.]+.*Chrome\/[^\s]+ Mobile/i.test(
218
- navigator.userAgent
219
- );
220
- return isIphone || isAndroid;
221
- }
222
- function isRedirectable() {
223
- if (typeof navigator === "undefined" || !navigator)
224
- return false;
225
- return isMobile() && !isInAppBrowser();
226
- }
227
- function generalizedErrorMessage(error) {
228
- return typeof error === "object" && "message" in error ? error.message : error;
229
- }
230
- var areBCSArguments = (args) => {
231
- if (args.length === 0)
232
- return false;
233
- return args.every(
234
- (arg) => arg instanceof import_ts_sdk.Serializable
235
- );
236
- };
209
+ var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
237
210
 
238
211
  // src/LegacyWalletPlugins/conversion.ts
239
- var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
212
+ var import_ts_sdk = require("@aptos-labs/ts-sdk");
240
213
  var import_aptos = require("aptos");
241
214
  function convertNetwork(networkInfo) {
242
- switch (networkInfo == null ? void 0 : networkInfo.name.toLowerCase()) {
215
+ switch (networkInfo == null ? void 0 : networkInfo.name) {
243
216
  case "mainnet":
244
- return import_ts_sdk2.Network.MAINNET;
217
+ return import_ts_sdk.Network.MAINNET;
245
218
  case "testnet":
246
- return import_ts_sdk2.Network.TESTNET;
219
+ return import_ts_sdk.Network.TESTNET;
247
220
  case "devnet":
248
- return import_ts_sdk2.Network.DEVNET;
221
+ return import_ts_sdk.Network.DEVNET;
249
222
  default:
250
- throw new Error("Invalid network name");
223
+ throw new Error("Invalid Aptos network name");
251
224
  }
252
225
  }
253
226
  function convertV2TransactionPayloadToV1BCSPayload(payload) {
@@ -261,7 +234,7 @@ function convertV2PayloadToV1JSONPayload(payload) {
261
234
  } else {
262
235
  const stringTypeTags = (_a = payload.typeArguments) == null ? void 0 : _a.map(
263
236
  (typeTag) => {
264
- if (typeTag instanceof import_ts_sdk2.TypeTag) {
237
+ if (typeTag instanceof import_ts_sdk.TypeTag) {
265
238
  return typeTag.toString();
266
239
  }
267
240
  return typeTag;
@@ -277,6 +250,57 @@ function convertV2PayloadToV1JSONPayload(payload) {
277
250
  }
278
251
  }
279
252
 
253
+ // src/utils/helpers.ts
254
+ function isMobile() {
255
+ 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(
256
+ navigator.userAgent
257
+ );
258
+ }
259
+ function isInAppBrowser() {
260
+ const isIphone = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
261
+ navigator.userAgent
262
+ );
263
+ const isAndroid = /(Android).*Version\/[\d.]+.*Chrome\/[^\s]+ Mobile/i.test(
264
+ navigator.userAgent
265
+ );
266
+ return isIphone || isAndroid;
267
+ }
268
+ function isRedirectable() {
269
+ if (typeof navigator === "undefined" || !navigator)
270
+ return false;
271
+ return isMobile() && !isInAppBrowser();
272
+ }
273
+ function generalizedErrorMessage(error) {
274
+ return typeof error === "object" && "message" in error ? error.message : error;
275
+ }
276
+ var areBCSArguments = (args) => {
277
+ if (args.length === 0)
278
+ return false;
279
+ return args.every(
280
+ (arg) => arg instanceof import_ts_sdk2.Serializable
281
+ );
282
+ };
283
+ var getAptosConfig = (networkInfo) => {
284
+ if (!networkInfo) {
285
+ throw new Error("Undefined network");
286
+ }
287
+ if (isAptosNetwork(networkInfo)) {
288
+ return new import_ts_sdk2.AptosConfig({
289
+ network: convertNetwork(networkInfo)
290
+ });
291
+ }
292
+ return new import_ts_sdk2.AptosConfig({
293
+ network: import_ts_sdk2.Network.CUSTOM,
294
+ fullnode: networkInfo.url
295
+ });
296
+ };
297
+ var isAptosNetwork = (networkInfo) => {
298
+ if (!networkInfo) {
299
+ throw new Error("Undefined network");
300
+ }
301
+ return import_ts_sdk2.NetworkToNodeAPI[networkInfo.name] !== void 0;
302
+ };
303
+
280
304
  // src/LegacyWalletPlugins/WalletCoreV1.ts
281
305
  var import_aptos2 = require("aptos");
282
306
  var import_eventemitter3 = __toESM(require("eventemitter3"));
@@ -291,9 +315,7 @@ var WalletCoreV1 = class extends import_eventemitter3.default {
291
315
  async resolveSignAndSubmitTransaction(payloadData, network, wallet, transactionInput) {
292
316
  var _a, _b, _c, _d, _e, _f, _g, _h;
293
317
  if (areBCSArguments(payloadData.functionArguments)) {
294
- const aptosConfig = new import_ts_sdk3.AptosConfig({
295
- network: convertNetwork(network)
296
- });
318
+ const aptosConfig = getAptosConfig(network);
297
319
  const newPayload = await (0, import_ts_sdk3.generateTransactionPayload)({
298
320
  ...payloadData,
299
321
  aptosConfig
@@ -547,7 +569,7 @@ var GA4 = class {
547
569
  };
548
570
 
549
571
  // src/version.ts
550
- var WALLET_ADAPTER_CORE_VERSION = "3.10.0";
572
+ var WALLET_ADAPTER_CORE_VERSION = "3.11.0";
551
573
 
552
574
  // src/WalletCore.ts
553
575
  var WalletCore = class extends import_eventemitter32.default {
@@ -641,10 +663,11 @@ var WalletCore = class extends import_eventemitter32.default {
641
663
  this._standard_wallets = aptosStandardWallets;
642
664
  }
643
665
  recordEvent(eventName, additionalInfo) {
644
- var _a, _b;
666
+ var _a, _b, _c;
645
667
  this.ga4.gtag("event", `wallet_adapter_${eventName}`, {
646
668
  wallet: (_a = this._wallet) == null ? void 0 : _a.name,
647
669
  network: (_b = this._network) == null ? void 0 : _b.name,
670
+ network_url: (_c = this._network) == null ? void 0 : _c.url,
648
671
  adapter_core_version: WALLET_ADAPTER_CORE_VERSION,
649
672
  send_to: "G-GNVVWBL3J9",
650
673
  ...additionalInfo
@@ -679,7 +702,7 @@ var WalletCore = class extends import_eventemitter32.default {
679
702
  async setAnsName() {
680
703
  var _a;
681
704
  if (((_a = this._network) == null ? void 0 : _a.chainId) && this._account) {
682
- if (!ChainIdToAnsSupportedNetworkMap[this._network.chainId]) {
705
+ if (!ChainIdToAnsSupportedNetworkMap[this._network.chainId] || !isAptosNetwork(this._network)) {
683
706
  this._account.ansName = void 0;
684
707
  return;
685
708
  }
@@ -869,9 +892,7 @@ var WalletCore = class extends import_eventemitter32.default {
869
892
  this.ensureAccountExists(this._account);
870
893
  this.recordEvent("sign_and_submit_transaction");
871
894
  const payloadData = transactionInput.data;
872
- const aptosConfig = new import_ts_sdk5.AptosConfig({
873
- network: convertNetwork(this._network)
874
- });
895
+ const aptosConfig = getAptosConfig(this._network);
875
896
  const aptos = new import_ts_sdk5.Aptos(aptosConfig);
876
897
  if (this._wallet.signAndSubmitTransaction) {
877
898
  if (this._wallet.isAIP62Standard) {
@@ -1078,7 +1099,9 @@ var import_aptos4 = require("aptos");
1078
1099
  WalletStandardCore,
1079
1100
  areBCSArguments,
1080
1101
  generalizedErrorMessage,
1102
+ getAptosConfig,
1081
1103
  getLocalStorage,
1104
+ isAptosNetwork,
1082
1105
  isInAppBrowser,
1083
1106
  isMobile,
1084
1107
  isRedirectable,
package/dist/index.mjs CHANGED
@@ -164,37 +164,11 @@ function getLocalStorage() {
164
164
 
165
165
  // src/utils/helpers.ts
166
166
  import {
167
+ AptosConfig,
168
+ Network as Network2,
169
+ NetworkToNodeAPI,
167
170
  Serializable
168
171
  } from "@aptos-labs/ts-sdk";
169
- function isMobile() {
170
- 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(
171
- navigator.userAgent
172
- );
173
- }
174
- function isInAppBrowser() {
175
- const isIphone = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
176
- navigator.userAgent
177
- );
178
- const isAndroid = /(Android).*Version\/[\d.]+.*Chrome\/[^\s]+ Mobile/i.test(
179
- navigator.userAgent
180
- );
181
- return isIphone || isAndroid;
182
- }
183
- function isRedirectable() {
184
- if (typeof navigator === "undefined" || !navigator)
185
- return false;
186
- return isMobile() && !isInAppBrowser();
187
- }
188
- function generalizedErrorMessage(error) {
189
- return typeof error === "object" && "message" in error ? error.message : error;
190
- }
191
- var areBCSArguments = (args) => {
192
- if (args.length === 0)
193
- return false;
194
- return args.every(
195
- (arg) => arg instanceof Serializable
196
- );
197
- };
198
172
 
199
173
  // src/LegacyWalletPlugins/conversion.ts
200
174
  import {
@@ -203,7 +177,7 @@ import {
203
177
  } from "@aptos-labs/ts-sdk";
204
178
  import { BCS, TxnBuilderTypes } from "aptos";
205
179
  function convertNetwork(networkInfo) {
206
- switch (networkInfo == null ? void 0 : networkInfo.name.toLowerCase()) {
180
+ switch (networkInfo == null ? void 0 : networkInfo.name) {
207
181
  case "mainnet":
208
182
  return Network.MAINNET;
209
183
  case "testnet":
@@ -211,7 +185,7 @@ function convertNetwork(networkInfo) {
211
185
  case "devnet":
212
186
  return Network.DEVNET;
213
187
  default:
214
- throw new Error("Invalid network name");
188
+ throw new Error("Invalid Aptos network name");
215
189
  }
216
190
  }
217
191
  function convertV2TransactionPayloadToV1BCSPayload(payload) {
@@ -241,12 +215,62 @@ function convertV2PayloadToV1JSONPayload(payload) {
241
215
  }
242
216
  }
243
217
 
218
+ // src/utils/helpers.ts
219
+ function isMobile() {
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(
221
+ navigator.userAgent
222
+ );
223
+ }
224
+ function isInAppBrowser() {
225
+ const isIphone = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
226
+ navigator.userAgent
227
+ );
228
+ const isAndroid = /(Android).*Version\/[\d.]+.*Chrome\/[^\s]+ Mobile/i.test(
229
+ navigator.userAgent
230
+ );
231
+ return isIphone || isAndroid;
232
+ }
233
+ function isRedirectable() {
234
+ if (typeof navigator === "undefined" || !navigator)
235
+ return false;
236
+ return isMobile() && !isInAppBrowser();
237
+ }
238
+ function generalizedErrorMessage(error) {
239
+ return typeof error === "object" && "message" in error ? error.message : error;
240
+ }
241
+ var areBCSArguments = (args) => {
242
+ if (args.length === 0)
243
+ return false;
244
+ return args.every(
245
+ (arg) => arg instanceof Serializable
246
+ );
247
+ };
248
+ var getAptosConfig = (networkInfo) => {
249
+ if (!networkInfo) {
250
+ throw new Error("Undefined network");
251
+ }
252
+ if (isAptosNetwork(networkInfo)) {
253
+ return new AptosConfig({
254
+ network: convertNetwork(networkInfo)
255
+ });
256
+ }
257
+ return new AptosConfig({
258
+ network: Network2.CUSTOM,
259
+ fullnode: networkInfo.url
260
+ });
261
+ };
262
+ var isAptosNetwork = (networkInfo) => {
263
+ if (!networkInfo) {
264
+ throw new Error("Undefined network");
265
+ }
266
+ return NetworkToNodeAPI[networkInfo.name] !== void 0;
267
+ };
268
+
244
269
  // src/LegacyWalletPlugins/WalletCoreV1.ts
245
270
  import { HexString } from "aptos";
246
271
  import EventEmitter from "eventemitter3";
247
272
  import { Buffer } from "buffer";
248
273
  import {
249
- AptosConfig,
250
274
  generateTransactionPayload
251
275
  } from "@aptos-labs/ts-sdk";
252
276
  import nacl from "tweetnacl";
@@ -258,9 +282,7 @@ var WalletCoreV1 = class extends EventEmitter {
258
282
  async resolveSignAndSubmitTransaction(payloadData, network, wallet, transactionInput) {
259
283
  var _a, _b, _c, _d, _e, _f, _g, _h;
260
284
  if (areBCSArguments(payloadData.functionArguments)) {
261
- const aptosConfig = new AptosConfig({
262
- network: convertNetwork(network)
263
- });
285
+ const aptosConfig = getAptosConfig(network);
264
286
  const newPayload = await generateTransactionPayload({
265
287
  ...payloadData,
266
288
  aptosConfig
@@ -522,7 +544,7 @@ var GA4 = class {
522
544
  };
523
545
 
524
546
  // src/version.ts
525
- var WALLET_ADAPTER_CORE_VERSION = "3.10.0";
547
+ var WALLET_ADAPTER_CORE_VERSION = "3.11.0";
526
548
 
527
549
  // src/WalletCore.ts
528
550
  var WalletCore = class extends EventEmitter2 {
@@ -616,10 +638,11 @@ var WalletCore = class extends EventEmitter2 {
616
638
  this._standard_wallets = aptosStandardWallets;
617
639
  }
618
640
  recordEvent(eventName, additionalInfo) {
619
- var _a, _b;
641
+ var _a, _b, _c;
620
642
  this.ga4.gtag("event", `wallet_adapter_${eventName}`, {
621
643
  wallet: (_a = this._wallet) == null ? void 0 : _a.name,
622
644
  network: (_b = this._network) == null ? void 0 : _b.name,
645
+ network_url: (_c = this._network) == null ? void 0 : _c.url,
623
646
  adapter_core_version: WALLET_ADAPTER_CORE_VERSION,
624
647
  send_to: "G-GNVVWBL3J9",
625
648
  ...additionalInfo
@@ -654,7 +677,7 @@ var WalletCore = class extends EventEmitter2 {
654
677
  async setAnsName() {
655
678
  var _a;
656
679
  if (((_a = this._network) == null ? void 0 : _a.chainId) && this._account) {
657
- if (!ChainIdToAnsSupportedNetworkMap[this._network.chainId]) {
680
+ if (!ChainIdToAnsSupportedNetworkMap[this._network.chainId] || !isAptosNetwork(this._network)) {
658
681
  this._account.ansName = void 0;
659
682
  return;
660
683
  }
@@ -844,9 +867,7 @@ var WalletCore = class extends EventEmitter2 {
844
867
  this.ensureAccountExists(this._account);
845
868
  this.recordEvent("sign_and_submit_transaction");
846
869
  const payloadData = transactionInput.data;
847
- const aptosConfig = new AptosConfig2({
848
- network: convertNetwork(this._network)
849
- });
870
+ const aptosConfig = getAptosConfig(this._network);
850
871
  const aptos = new Aptos2(aptosConfig);
851
872
  if (this._wallet.signAndSubmitTransaction) {
852
873
  if (this._wallet.isAIP62Standard) {
@@ -1052,7 +1073,9 @@ export {
1052
1073
  WalletStandardCore,
1053
1074
  areBCSArguments,
1054
1075
  generalizedErrorMessage,
1076
+ getAptosConfig,
1055
1077
  getLocalStorage,
1078
+ isAptosNetwork,
1056
1079
  isInAppBrowser,
1057
1080
  isMobile,
1058
1081
  isRedirectable,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aptos-labs/wallet-adapter-core",
3
- "version": "3.10.0",
3
+ "version": "3.11.0",
4
4
  "description": "Aptos Wallet Adapter Core",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -2,7 +2,6 @@ import { HexString, TxnBuilderTypes, Types } from "aptos";
2
2
  import EventEmitter from "eventemitter3";
3
3
  import { Buffer } from "buffer";
4
4
  import {
5
- AptosConfig,
6
5
  InputEntryFunctionDataWithRemoteABI,
7
6
  InputGenerateTransactionPayloadData,
8
7
  generateTransactionPayload,
@@ -26,11 +25,14 @@ import {
26
25
  } from "./types";
27
26
 
28
27
  import {
29
- convertNetwork,
30
28
  convertV2PayloadToV1JSONPayload,
31
29
  convertV2TransactionPayloadToV1BCSPayload,
32
30
  } from "./conversion";
33
- import { areBCSArguments, generalizedErrorMessage } from "../utils";
31
+ import {
32
+ areBCSArguments,
33
+ generalizedErrorMessage,
34
+ getAptosConfig,
35
+ } from "../utils";
34
36
 
35
37
  export class WalletCoreV1 extends EventEmitter<WalletCoreEvents> {
36
38
  async connect(wallet: Wallet) {
@@ -56,9 +58,7 @@ export class WalletCoreV1 extends EventEmitter<WalletCoreEvents> {
56
58
  ) {
57
59
  // first check if each argument is a BCS serialized argument
58
60
  if (areBCSArguments(payloadData.functionArguments)) {
59
- const aptosConfig = new AptosConfig({
60
- network: convertNetwork(network),
61
- });
61
+ const aptosConfig = getAptosConfig(network);
62
62
  const newPayload = await generateTransactionPayload({
63
63
  ...(payloadData as InputEntryFunctionDataWithRemoteABI),
64
64
  aptosConfig: aptosConfig,
@@ -12,7 +12,7 @@ import { NetworkInfo } from "./types";
12
12
  export function convertNetwork(
13
13
  networkInfo: NetworkInfo | StandardNetworkInfo | null
14
14
  ): Network {
15
- switch (networkInfo?.name.toLowerCase()) {
15
+ switch (networkInfo?.name) {
16
16
  case "mainnet" as Network:
17
17
  return Network.MAINNET;
18
18
  case "testnet" as Network:
@@ -20,7 +20,7 @@ export function convertNetwork(
20
20
  case "devnet" as Network:
21
21
  return Network.DEVNET;
22
22
  default:
23
- throw new Error("Invalid network name");
23
+ throw new Error("Invalid Aptos network name");
24
24
  }
25
25
  }
26
26
 
package/src/WalletCore.ts CHANGED
@@ -33,28 +33,30 @@ import {
33
33
  } from "./error";
34
34
  import {
35
35
  AccountInfo,
36
+ InputTransactionData,
36
37
  NetworkInfo,
37
38
  SignMessagePayload,
39
+ SignMessageResponse,
38
40
  Wallet,
39
- WalletInfo,
40
41
  WalletCoreEvents,
41
- SignMessageResponse,
42
- InputTransactionData,
42
+ WalletInfo,
43
43
  WalletName,
44
44
  } from "./LegacyWalletPlugins/types";
45
45
  import {
46
+ generalizedErrorMessage,
47
+ getAptosConfig,
48
+ isAptosNetwork,
49
+ isRedirectable,
46
50
  removeLocalStorage,
47
- setLocalStorage,
48
51
  scopePollingDetectionStrategy,
49
- isRedirectable,
50
- generalizedErrorMessage,
52
+ setLocalStorage,
51
53
  } from "./utils";
52
54
  import { convertNetwork } from "./LegacyWalletPlugins/conversion";
53
55
  import { WalletCoreV1 } from "./LegacyWalletPlugins/WalletCoreV1";
54
56
  import {
57
+ AccountInfo as StandardAccountInfo,
55
58
  AptosWallet,
56
59
  getAptosWallets,
57
- AccountInfo as StandardAccountInfo,
58
60
  NetworkInfo as StandardNetworkInfo,
59
61
  UserResponse,
60
62
  UserResponseStatus,
@@ -225,6 +227,7 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
225
227
  this.ga4.gtag("event", `wallet_adapter_${eventName}`, {
226
228
  wallet: this._wallet?.name,
227
229
  network: this._network?.name,
230
+ network_url: this._network?.url,
228
231
  adapter_core_version: WALLET_ADAPTER_CORE_VERSION,
229
232
  send_to: process.env.GAID,
230
233
  ...additionalInfo,
@@ -300,7 +303,10 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
300
303
  private async setAnsName(): Promise<void> {
301
304
  if (this._network?.chainId && this._account) {
302
305
  // ANS supports only MAINNET or TESTNET
303
- if (!ChainIdToAnsSupportedNetworkMap[this._network.chainId]) {
306
+ if (
307
+ !ChainIdToAnsSupportedNetworkMap[this._network.chainId] ||
308
+ !isAptosNetwork(this._network)
309
+ ) {
304
310
  this._account.ansName = undefined;
305
311
  return;
306
312
  }
@@ -620,9 +626,7 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
620
626
  this.recordEvent("sign_and_submit_transaction");
621
627
  // get the payload piece from the input
622
628
  const payloadData = transactionInput.data;
623
- const aptosConfig = new AptosConfig({
624
- network: convertNetwork(this._network),
625
- });
629
+ const aptosConfig = getAptosConfig(this._network);
626
630
 
627
631
  const aptos = new Aptos(aptosConfig);
628
632
 
@@ -1,8 +1,14 @@
1
1
  import {
2
+ AptosConfig,
2
3
  EntryFunctionArgumentTypes,
4
+ Network,
5
+ NetworkToNodeAPI,
3
6
  Serializable,
4
7
  SimpleEntryFunctionArgumentTypes,
5
8
  } from "@aptos-labs/ts-sdk";
9
+ import { NetworkInfo as StandardNetworkInfo } from "@aptos-labs/wallet-standard";
10
+ import { NetworkInfo } from "../LegacyWalletPlugins/types";
11
+ import { convertNetwork } from "../LegacyWalletPlugins/conversion";
6
12
 
7
13
  export function isMobile(): boolean {
8
14
  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(
@@ -52,3 +58,41 @@ export const areBCSArguments = (
52
58
  arg instanceof Serializable
53
59
  );
54
60
  };
61
+
62
+ /**
63
+ * Helper function to get AptosConfig that supports Aptos and Custom networks
64
+ *
65
+ * @param networkInfo
66
+ * @returns AptosConfig
67
+ */
68
+ export const getAptosConfig = (
69
+ networkInfo: NetworkInfo | StandardNetworkInfo | null
70
+ ): AptosConfig => {
71
+ if (!networkInfo) {
72
+ throw new Error("Undefined network");
73
+ }
74
+ if (isAptosNetwork(networkInfo)) {
75
+ return new AptosConfig({
76
+ network: convertNetwork(networkInfo),
77
+ });
78
+ }
79
+ return new AptosConfig({
80
+ network: Network.CUSTOM,
81
+ fullnode: networkInfo.url,
82
+ });
83
+ };
84
+
85
+ /**
86
+ * Helper function to resolve if the current connected network is an Aptos network
87
+ *
88
+ * @param networkInfo
89
+ * @returns boolean
90
+ */
91
+ export const isAptosNetwork = (
92
+ networkInfo: NetworkInfo | StandardNetworkInfo | null
93
+ ): boolean => {
94
+ if (!networkInfo) {
95
+ throw new Error("Undefined network");
96
+ }
97
+ return NetworkToNodeAPI[networkInfo.name] !== undefined;
98
+ };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const WALLET_ADAPTER_CORE_VERSION = "3.10.0";
1
+ export const WALLET_ADAPTER_CORE_VERSION = "3.11.0";