@aptos-labs/wallet-adapter-core 3.1.1 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +22 -12
- package/dist/index.mjs +12 -1
- package/package.json +3 -3
- package/src/WalletCore.ts +3 -4
- package/src/utils/helpers.ts +22 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @aptos-labs/wallet-adapter-core
|
|
2
2
|
|
|
3
|
+
## 3.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3f38c51: Return false from areBCSArguments function if array is empty
|
|
8
|
+
|
|
9
|
+
## 3.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 12163ca: Updated SDK dependencies
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- a6f0e46: Fix is bcs argument types check
|
|
18
|
+
|
|
3
19
|
## 3.1.1
|
|
4
20
|
|
|
5
21
|
### Patch 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, InputGenerateTransactionData, InputGenerateTransactionOptions, PendingTransactionResponse, InputSubmitTransactionData, AccountAddressInput, InputGenerateTransactionPayloadData, AnyRawTransaction, AccountAuthenticator } from '@aptos-labs/ts-sdk';
|
|
3
|
+
import { Network, InputGenerateTransactionData, InputGenerateTransactionOptions, PendingTransactionResponse, InputSubmitTransactionData, AccountAddressInput, InputGenerateTransactionPayloadData, AnyRawTransaction, AccountAuthenticator, EntryFunctionArgumentTypes, SimpleEntryFunctionArgumentTypes } 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
|
|
|
@@ -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: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>) => 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
|
|
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,13 @@ 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
|
+
if (args.length === 0)
|
|
228
|
+
return false;
|
|
229
|
+
return args.every(
|
|
230
|
+
(arg) => arg instanceof import_ts_sdk.Serializable
|
|
231
|
+
);
|
|
232
|
+
};
|
|
224
233
|
|
|
225
234
|
// src/ans.ts
|
|
226
235
|
var ChainIdToAnsContractAddressMap = {
|
|
@@ -243,16 +252,16 @@ var getNameByAddress = async (chainId, address) => {
|
|
|
243
252
|
};
|
|
244
253
|
|
|
245
254
|
// src/conversion.ts
|
|
246
|
-
var
|
|
255
|
+
var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
|
|
247
256
|
var import_aptos = require("aptos");
|
|
248
257
|
function convertNetwork(networkInfo) {
|
|
249
258
|
switch (networkInfo == null ? void 0 : networkInfo.name.toLowerCase()) {
|
|
250
259
|
case "mainnet":
|
|
251
|
-
return
|
|
260
|
+
return import_ts_sdk2.Network.MAINNET;
|
|
252
261
|
case "testnet":
|
|
253
|
-
return
|
|
262
|
+
return import_ts_sdk2.Network.TESTNET;
|
|
254
263
|
case "devnet":
|
|
255
|
-
return
|
|
264
|
+
return import_ts_sdk2.Network.DEVNET;
|
|
256
265
|
default:
|
|
257
266
|
throw new Error("Invalid network name");
|
|
258
267
|
}
|
|
@@ -268,7 +277,7 @@ function convertV2PayloadToV1JSONPayload(payload) {
|
|
|
268
277
|
} else {
|
|
269
278
|
const stringTypeTags = (_a = payload.typeArguments) == null ? void 0 : _a.map(
|
|
270
279
|
(typeTag) => {
|
|
271
|
-
if (typeTag instanceof
|
|
280
|
+
if (typeTag instanceof import_ts_sdk2.TypeTag) {
|
|
272
281
|
return typeTag.toString();
|
|
273
282
|
}
|
|
274
283
|
return typeTag;
|
|
@@ -494,11 +503,11 @@ var WalletCore = class extends import_eventemitter32.default {
|
|
|
494
503
|
return response2;
|
|
495
504
|
}
|
|
496
505
|
const payloadData = transactionInput.data;
|
|
497
|
-
if (
|
|
498
|
-
const aptosConfig = new
|
|
506
|
+
if (areBCSArguments(payloadData.functionArguments)) {
|
|
507
|
+
const aptosConfig = new import_ts_sdk3.AptosConfig({
|
|
499
508
|
network: convertNetwork(this._network)
|
|
500
509
|
});
|
|
501
|
-
const newPayload = await (0,
|
|
510
|
+
const newPayload = await (0, import_ts_sdk3.generateTransactionPayload)({
|
|
502
511
|
...payloadData,
|
|
503
512
|
aptosConfig
|
|
504
513
|
});
|
|
@@ -567,9 +576,9 @@ var WalletCore = class extends import_eventemitter32.default {
|
|
|
567
576
|
const transactionAuthenticator = deserializedSignature.authenticator;
|
|
568
577
|
const publicKey = transactionAuthenticator.public_key.value;
|
|
569
578
|
const signature = transactionAuthenticator.signature.value;
|
|
570
|
-
const accountAuthenticator = new
|
|
571
|
-
new
|
|
572
|
-
new
|
|
579
|
+
const accountAuthenticator = new import_ts_sdk3.AccountAuthenticatorEd25519(
|
|
580
|
+
new import_ts_sdk3.Ed25519PublicKey(publicKey),
|
|
581
|
+
new import_ts_sdk3.Ed25519Signature(signature)
|
|
573
582
|
);
|
|
574
583
|
return accountAuthenticator;
|
|
575
584
|
} catch (error) {
|
|
@@ -702,6 +711,7 @@ var import_aptos3 = require("aptos");
|
|
|
702
711
|
Types,
|
|
703
712
|
WalletCore,
|
|
704
713
|
WalletReadyState,
|
|
714
|
+
areBCSArguments,
|
|
705
715
|
generalizedErrorMessage,
|
|
706
716
|
getLocalStorage,
|
|
707
717
|
isInAppBrowser,
|
package/dist/index.mjs
CHANGED
|
@@ -161,6 +161,9 @@ function getLocalStorage() {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
// src/utils/helpers.ts
|
|
164
|
+
import {
|
|
165
|
+
Serializable
|
|
166
|
+
} from "@aptos-labs/ts-sdk";
|
|
164
167
|
function isMobile() {
|
|
165
168
|
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
169
|
navigator.userAgent
|
|
@@ -183,6 +186,13 @@ function isRedirectable() {
|
|
|
183
186
|
function generalizedErrorMessage(error) {
|
|
184
187
|
return typeof error === "object" && "message" in error ? error.message : error;
|
|
185
188
|
}
|
|
189
|
+
var areBCSArguments = (args) => {
|
|
190
|
+
if (args.length === 0)
|
|
191
|
+
return false;
|
|
192
|
+
return args.every(
|
|
193
|
+
(arg) => arg instanceof Serializable
|
|
194
|
+
);
|
|
195
|
+
};
|
|
186
196
|
|
|
187
197
|
// src/ans.ts
|
|
188
198
|
var ChainIdToAnsContractAddressMap = {
|
|
@@ -459,7 +469,7 @@ var WalletCore = class extends EventEmitter2 {
|
|
|
459
469
|
return response2;
|
|
460
470
|
}
|
|
461
471
|
const payloadData = transactionInput.data;
|
|
462
|
-
if (
|
|
472
|
+
if (areBCSArguments(payloadData.functionArguments)) {
|
|
463
473
|
const aptosConfig = new AptosConfig({
|
|
464
474
|
network: convertNetwork(this._network)
|
|
465
475
|
});
|
|
@@ -666,6 +676,7 @@ export {
|
|
|
666
676
|
Types3 as Types,
|
|
667
677
|
WalletCore,
|
|
668
678
|
WalletReadyState,
|
|
679
|
+
areBCSArguments,
|
|
669
680
|
generalizedErrorMessage,
|
|
670
681
|
getLocalStorage,
|
|
671
682
|
isInAppBrowser,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aptos-labs/wallet-adapter-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.1",
|
|
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.
|
|
47
|
-
"@aptos-labs/ts-sdk": "^1.
|
|
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
|
-
//
|
|
314
|
-
|
|
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 =
|
package/src/utils/helpers.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EntryFunctionArgumentTypes,
|
|
3
|
+
Serializable,
|
|
4
|
+
SimpleEntryFunctionArgumentTypes,
|
|
5
|
+
} from "@aptos-labs/ts-sdk";
|
|
6
|
+
|
|
1
7
|
export function isMobile(): boolean {
|
|
2
8
|
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
9
|
navigator.userAgent
|
|
@@ -30,3 +36,19 @@ export function generalizedErrorMessage(error: any): string {
|
|
|
30
36
|
? error.message
|
|
31
37
|
: error;
|
|
32
38
|
}
|
|
39
|
+
|
|
40
|
+
// Helper function to check if input arguments are BCS serialized arguments.
|
|
41
|
+
// In @aptos-labs/ts-sdk each move representative class extends
|
|
42
|
+
// Serializable, so if each argument is of an instance of a class
|
|
43
|
+
// the extends Serializable - we know these are BCS arguments
|
|
44
|
+
export const areBCSArguments = (
|
|
45
|
+
args: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>
|
|
46
|
+
): boolean => {
|
|
47
|
+
// `every` returns true if the array is empty, so
|
|
48
|
+
// first check the array length
|
|
49
|
+
if (args.length === 0) return false;
|
|
50
|
+
return args.every(
|
|
51
|
+
(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes) =>
|
|
52
|
+
arg instanceof Serializable
|
|
53
|
+
);
|
|
54
|
+
};
|