@aptos-labs/wallet-adapter-core 3.1.1 → 3.2.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,15 @@
1
1
  # @aptos-labs/wallet-adapter-core
2
2
 
3
+ ## 3.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 12163ca: Updated SDK dependencies
8
+
9
+ ### Patch Changes
10
+
11
+ - a6f0e46: Fix is bcs argument types check
12
+
3
13
  ## 3.1.1
4
14
 
5
15
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -237,5 +237,6 @@ declare function isMobile(): boolean;
237
237
  declare function isInAppBrowser(): boolean;
238
238
  declare function isRedirectable(): boolean;
239
239
  declare function generalizedErrorMessage(error: any): string;
240
+ declare const areBCSArguments: (args: any) => boolean;
240
241
 
241
- export { AccountInfo, AdapterPlugin, AdapterPluginEvents, AdapterPluginProps, AptosWalletErrorResult, InputTransactionData, NetworkInfo, NetworkName, OnAccountChange, OnNetworkChange, SignMessagePayload, SignMessageResponse, TransactionOptions, Wallet, WalletCore, WalletCoreEvents, WalletInfo, WalletName, WalletReadyState, generalizedErrorMessage, getLocalStorage, isInAppBrowser, isMobile, isRedirectable, removeLocalStorage, scopePollingDetectionStrategy, setLocalStorage };
242
+ export { AccountInfo, AdapterPlugin, AdapterPluginEvents, AdapterPluginProps, AptosWalletErrorResult, InputTransactionData, NetworkInfo, NetworkName, OnAccountChange, OnNetworkChange, SignMessagePayload, SignMessageResponse, TransactionOptions, Wallet, WalletCore, WalletCoreEvents, WalletInfo, WalletName, WalletReadyState, areBCSArguments, generalizedErrorMessage, getLocalStorage, isInAppBrowser, isMobile, isRedirectable, removeLocalStorage, scopePollingDetectionStrategy, setLocalStorage };
package/dist/index.js CHANGED
@@ -31,6 +31,7 @@ __export(src_exports, {
31
31
  Types: () => import_aptos3.Types,
32
32
  WalletCore: () => WalletCore,
33
33
  WalletReadyState: () => WalletReadyState,
34
+ areBCSArguments: () => areBCSArguments,
34
35
  generalizedErrorMessage: () => generalizedErrorMessage,
35
36
  getLocalStorage: () => getLocalStorage,
36
37
  isInAppBrowser: () => isInAppBrowser,
@@ -44,7 +45,7 @@ module.exports = __toCommonJS(src_exports);
44
45
 
45
46
  // src/WalletCore.ts
46
47
  var import_aptos2 = require("aptos");
47
- var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
48
+ var import_ts_sdk3 = require("@aptos-labs/ts-sdk");
48
49
  var import_eventemitter32 = __toESM(require("eventemitter3"));
49
50
  var import_tweetnacl = __toESM(require("tweetnacl"));
50
51
  var import_buffer = require("buffer");
@@ -199,6 +200,7 @@ function getLocalStorage() {
199
200
  }
200
201
 
201
202
  // src/utils/helpers.ts
203
+ var import_ts_sdk = require("@aptos-labs/ts-sdk");
202
204
  function isMobile() {
203
205
  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(
204
206
  navigator.userAgent
@@ -221,6 +223,9 @@ function isRedirectable() {
221
223
  function generalizedErrorMessage(error) {
222
224
  return typeof error === "object" && "message" in error ? error.message : error;
223
225
  }
226
+ var areBCSArguments = (args) => {
227
+ return args.every((arg) => arg instanceof import_ts_sdk.Serializable);
228
+ };
224
229
 
225
230
  // src/ans.ts
226
231
  var ChainIdToAnsContractAddressMap = {
@@ -243,16 +248,16 @@ var getNameByAddress = async (chainId, address) => {
243
248
  };
244
249
 
245
250
  // src/conversion.ts
246
- var import_ts_sdk = require("@aptos-labs/ts-sdk");
251
+ var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
247
252
  var import_aptos = require("aptos");
248
253
  function convertNetwork(networkInfo) {
249
254
  switch (networkInfo == null ? void 0 : networkInfo.name.toLowerCase()) {
250
255
  case "mainnet":
251
- return import_ts_sdk.Network.MAINNET;
256
+ return import_ts_sdk2.Network.MAINNET;
252
257
  case "testnet":
253
- return import_ts_sdk.Network.TESTNET;
258
+ return import_ts_sdk2.Network.TESTNET;
254
259
  case "devnet":
255
- return import_ts_sdk.Network.DEVNET;
260
+ return import_ts_sdk2.Network.DEVNET;
256
261
  default:
257
262
  throw new Error("Invalid network name");
258
263
  }
@@ -268,7 +273,7 @@ function convertV2PayloadToV1JSONPayload(payload) {
268
273
  } else {
269
274
  const stringTypeTags = (_a = payload.typeArguments) == null ? void 0 : _a.map(
270
275
  (typeTag) => {
271
- if (typeTag instanceof import_ts_sdk.TypeTag) {
276
+ if (typeTag instanceof import_ts_sdk2.TypeTag) {
272
277
  return typeTag.toString();
273
278
  }
274
279
  return typeTag;
@@ -494,11 +499,11 @@ var WalletCore = class extends import_eventemitter32.default {
494
499
  return response2;
495
500
  }
496
501
  const payloadData = transactionInput.data;
497
- if (typeof payloadData.functionArguments[0] === "object") {
498
- const aptosConfig = new import_ts_sdk2.AptosConfig({
502
+ if (areBCSArguments(payloadData.functionArguments)) {
503
+ const aptosConfig = new import_ts_sdk3.AptosConfig({
499
504
  network: convertNetwork(this._network)
500
505
  });
501
- const newPayload = await (0, import_ts_sdk2.generateTransactionPayload)({
506
+ const newPayload = await (0, import_ts_sdk3.generateTransactionPayload)({
502
507
  ...payloadData,
503
508
  aptosConfig
504
509
  });
@@ -567,9 +572,9 @@ var WalletCore = class extends import_eventemitter32.default {
567
572
  const transactionAuthenticator = deserializedSignature.authenticator;
568
573
  const publicKey = transactionAuthenticator.public_key.value;
569
574
  const signature = transactionAuthenticator.signature.value;
570
- const accountAuthenticator = new import_ts_sdk2.AccountAuthenticatorEd25519(
571
- new import_ts_sdk2.Ed25519PublicKey(publicKey),
572
- new import_ts_sdk2.Ed25519Signature(signature)
575
+ const accountAuthenticator = new import_ts_sdk3.AccountAuthenticatorEd25519(
576
+ new import_ts_sdk3.Ed25519PublicKey(publicKey),
577
+ new import_ts_sdk3.Ed25519Signature(signature)
573
578
  );
574
579
  return accountAuthenticator;
575
580
  } catch (error) {
@@ -702,6 +707,7 @@ var import_aptos3 = require("aptos");
702
707
  Types,
703
708
  WalletCore,
704
709
  WalletReadyState,
710
+ areBCSArguments,
705
711
  generalizedErrorMessage,
706
712
  getLocalStorage,
707
713
  isInAppBrowser,
package/dist/index.mjs CHANGED
@@ -161,6 +161,7 @@ function getLocalStorage() {
161
161
  }
162
162
 
163
163
  // src/utils/helpers.ts
164
+ import { Serializable } from "@aptos-labs/ts-sdk";
164
165
  function isMobile() {
165
166
  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(
166
167
  navigator.userAgent
@@ -183,6 +184,9 @@ function isRedirectable() {
183
184
  function generalizedErrorMessage(error) {
184
185
  return typeof error === "object" && "message" in error ? error.message : error;
185
186
  }
187
+ var areBCSArguments = (args) => {
188
+ return args.every((arg) => arg instanceof Serializable);
189
+ };
186
190
 
187
191
  // src/ans.ts
188
192
  var ChainIdToAnsContractAddressMap = {
@@ -459,7 +463,7 @@ var WalletCore = class extends EventEmitter2 {
459
463
  return response2;
460
464
  }
461
465
  const payloadData = transactionInput.data;
462
- if (typeof payloadData.functionArguments[0] === "object") {
466
+ if (areBCSArguments(payloadData.functionArguments)) {
463
467
  const aptosConfig = new AptosConfig({
464
468
  network: convertNetwork(this._network)
465
469
  });
@@ -666,6 +670,7 @@ export {
666
670
  Types3 as Types,
667
671
  WalletCore,
668
672
  WalletReadyState,
673
+ areBCSArguments,
669
674
  generalizedErrorMessage,
670
675
  getLocalStorage,
671
676
  isInAppBrowser,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aptos-labs/wallet-adapter-core",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "Aptos Wallet Adapter Core",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -43,8 +43,8 @@
43
43
  "tweetnacl": "^1.0.3"
44
44
  },
45
45
  "peerDependencies": {
46
- "aptos": "^1.20.0",
47
- "@aptos-labs/ts-sdk": "^1.0.0"
46
+ "aptos": "^1.21.0",
47
+ "@aptos-labs/ts-sdk": "^1.2.0"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "tsup src/index.ts --format esm,cjs --dts",
package/src/WalletCore.ts CHANGED
@@ -49,6 +49,7 @@ import {
49
49
  scopePollingDetectionStrategy,
50
50
  isRedirectable,
51
51
  generalizedErrorMessage,
52
+ areBCSArguments,
52
53
  } from "./utils";
53
54
  import { getNameByAddress } from "./ans";
54
55
  import {
@@ -310,9 +311,8 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
310
311
  // get the payload piece from the input
311
312
  const payloadData = transactionInput.data;
312
313
 
313
- // if first function arguments is an object (i.e a bcs serialized argument)
314
- // we assume the transaction should be a bcs serialized transaction
315
- if (typeof payloadData.functionArguments[0] === "object") {
314
+ // first check if each argument is a BCS serialized argument
315
+ if (areBCSArguments(payloadData.functionArguments)) {
316
316
  const aptosConfig = new AptosConfig({
317
317
  network: convertNetwork(this._network),
318
318
  });
@@ -337,7 +337,6 @@ export class WalletCore extends EventEmitter<WalletCoreEvents> {
337
337
  const { hash, ...output } = response;
338
338
  return { hash, output };
339
339
  }
340
-
341
340
  // if it is not a bcs serialized arguments transaction, convert to the old
342
341
  // json format
343
342
  const oldTransactionPayload =
@@ -1,3 +1,5 @@
1
+ import { Serializable } from "@aptos-labs/ts-sdk";
2
+
1
3
  export function isMobile(): boolean {
2
4
  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(
3
5
  navigator.userAgent
@@ -30,3 +32,11 @@ export function generalizedErrorMessage(error: any): string {
30
32
  ? error.message
31
33
  : error;
32
34
  }
35
+
36
+ // Helper function to check if input arguments are BCS serialized arguments.
37
+ // In @aptos-labs/ts-sdk each move representative class extends
38
+ // Serializable, so if each argument is of an instance of a class
39
+ // the extends Serializable - we know these are BCS arguments
40
+ export const areBCSArguments = (args: any): boolean => {
41
+ return args.every((arg: any) => arg instanceof Serializable);
42
+ };