@aptos-labs/wallet-adapter-core 8.2.0 → 8.3.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/README.md CHANGED
@@ -1,13 +1,189 @@
1
- # Aptos Wallet Adapter core functionality
1
+ # @aptos-labs/wallet-adapter-core
2
2
 
3
- The core functionality for the wallet adapter that holds and manages the adapter state, validations and interaction with the current connected wallet.
3
+ Core functionality for the Aptos Wallet Adapter. This package provides the foundation for wallet management, state handling, and interaction with AIP-62 compatible wallets on the Aptos blockchain.
4
4
 
5
- ### Usage
5
+ ## Overview
6
+
7
+ The wallet-adapter-core package handles:
8
+
9
+ - **Wallet Detection**: Automatically detects AIP-62 standard compatible wallets installed in the browser
10
+ - **Connection Management**: Connect, disconnect, and manage wallet sessions
11
+ - **Transaction Signing**: Sign messages, transactions, and submit transactions to the network
12
+ - **Network Management**: Handle network changes and multi-network support
13
+ - **Event System**: Subscribe to wallet, account, and network change events
14
+ - **State Management**: Centralized state for connected wallet, account, and network information
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install @aptos-labs/wallet-adapter-core
20
+ # or
21
+ pnpm add @aptos-labs/wallet-adapter-core
22
+ # or
23
+ yarn add @aptos-labs/wallet-adapter-core
24
+ ```
25
+
26
+ **Peer Dependencies:**
27
+
28
+ ```bash
29
+ npm install @aptos-labs/ts-sdk
30
+ ```
31
+
32
+ ## Usage
33
+
34
+ ### Basic Setup
6
35
 
7
36
  ```ts
8
37
  import { WalletCore } from "@aptos-labs/wallet-adapter-core";
38
+ import { Network } from "@aptos-labs/ts-sdk";
9
39
 
10
- const walletCore = new WalletCore([], dappConfig);
40
+ // Create wallet core instance
41
+ const walletCore = new WalletCore(
42
+ [], // Optional: array of wallet names to opt-in (empty = all wallets)
43
+ { network: Network.MAINNET }, // Optional: dapp configuration
44
+ false, // Optional: disable telemetry (default: false)
45
+ ["Petra Web"] // Optional: wallets to hide from display
46
+ );
47
+
48
+ // Get available wallets
49
+ const wallets = walletCore.wallets;
50
+ const notDetectedWallets = walletCore.notDetectedWallets;
51
+ ```
52
+
53
+ ### Connecting to a Wallet
54
+
55
+ ```ts
56
+ // Connect to a wallet by name
57
+ await walletCore.connect("Petra");
11
58
 
12
- const wallets = walletCore.wallets();
59
+ // Check connection status
60
+ if (walletCore.isConnected()) {
61
+ console.log("Connected account:", walletCore.account);
62
+ console.log("Connected network:", walletCore.network);
63
+ }
13
64
  ```
65
+
66
+ ### Signing Messages
67
+
68
+ ```ts
69
+ const signedMessage = await walletCore.signMessage({
70
+ message: "Hello, Aptos!",
71
+ nonce: "random-nonce-123",
72
+ });
73
+
74
+ console.log("Signature:", signedMessage.signature);
75
+ console.log("Full message:", signedMessage.fullMessage);
76
+ ```
77
+
78
+ ### Signing and Submitting Transactions
79
+
80
+ ```ts
81
+ const result = await walletCore.signAndSubmitTransaction({
82
+ data: {
83
+ function: "0x1::aptos_account::transfer",
84
+ typeArguments: [],
85
+ functionArguments: [recipientAddress, amount],
86
+ },
87
+ });
88
+
89
+ console.log("Transaction hash:", result.hash);
90
+ ```
91
+
92
+ ### Listening to Events
93
+
94
+ ```ts
95
+ // Account change event
96
+ walletCore.on("accountChange", (account) => {
97
+ console.log("Account changed:", account);
98
+ });
99
+
100
+ // Network change event
101
+ walletCore.on("networkChange", (network) => {
102
+ console.log("Network changed:", network);
103
+ });
104
+
105
+ // Disconnect event
106
+ walletCore.on("disconnect", () => {
107
+ console.log("Wallet disconnected");
108
+ });
109
+ ```
110
+
111
+ ### Disconnecting
112
+
113
+ ```ts
114
+ await walletCore.disconnect();
115
+ ```
116
+
117
+ ## API Reference
118
+
119
+ ### WalletCore
120
+
121
+ The main class that manages wallet state and interactions.
122
+
123
+ #### Constructor
124
+
125
+ ```ts
126
+ new WalletCore(
127
+ optInWallets?: ReadonlyArray<AvailableWallets>,
128
+ dappConfig?: DappConfig,
129
+ disableTelemetry?: boolean,
130
+ hideWallets?: ReadonlyArray<AvailableWallets>
131
+ )
132
+ ```
133
+
134
+ #### Properties
135
+
136
+ | Property | Type | Description |
137
+ |----------|------|-------------|
138
+ | `wallet` | `AptosWallet \| null` | Currently connected wallet |
139
+ | `account` | `AccountInfo \| null` | Currently connected account |
140
+ | `network` | `NetworkInfo \| null` | Currently connected network |
141
+ | `wallets` | `ReadonlyArray<AptosWallet>` | List of detected wallets |
142
+ | `hiddenWallets` | `ReadonlyArray<AdapterWallet>` | List of hidden wallets |
143
+ | `notDetectedWallets` | `ReadonlyArray<AdapterNotDetectedWallet>` | List of not-detected wallets |
144
+
145
+ #### Methods
146
+
147
+ | Method | Description |
148
+ |--------|-------------|
149
+ | `connect(walletName)` | Connect to a wallet |
150
+ | `disconnect()` | Disconnect from current wallet |
151
+ | `signMessage(input)` | Sign a message |
152
+ | `signTransaction(args)` | Sign a transaction |
153
+ | `signAndSubmitTransaction(input)` | Sign and submit a transaction |
154
+ | `changeNetwork(network)` | Request network change |
155
+ | `signIn(args)` | Sign in with SIWA (Sign In With Aptos) |
156
+ | `isConnected()` | Check if wallet is connected |
157
+
158
+ #### Events
159
+
160
+ | Event | Payload | Description |
161
+ |-------|---------|-------------|
162
+ | `connect` | `AccountInfo` | Emitted when wallet connects |
163
+ | `disconnect` | - | Emitted when wallet disconnects |
164
+ | `accountChange` | `AccountInfo` | Emitted when account changes |
165
+ | `networkChange` | `NetworkInfo` | Emitted when network changes |
166
+
167
+ ## DappConfig
168
+
169
+ Configuration options for the wallet adapter:
170
+
171
+ ```ts
172
+ interface DappConfig {
173
+ network: Network;
174
+ transactionSubmitter?: TransactionSubmitter;
175
+ aptosApiKeys?: Partial<Record<Network, string>>;
176
+ aptosConnectDappId?: string;
177
+ aptosConnect?: AptosConnectWalletConfig;
178
+ crossChainWallets?: boolean;
179
+ }
180
+ ```
181
+
182
+ ## Related Packages
183
+
184
+ - [`@aptos-labs/wallet-adapter-react`](../wallet-adapter-react) - React hooks and context provider
185
+ - [`@aptos-labs/ts-sdk`](https://github.com/aptos-labs/aptos-ts-sdk) - Aptos TypeScript SDK
186
+
187
+ ## License
188
+
189
+ Apache-2.0
package/dist/index.js CHANGED
@@ -497,7 +497,7 @@ __export(index_exports, {
497
497
  });
498
498
  module.exports = __toCommonJS(index_exports);
499
499
  // src/version.ts
500
- var WALLET_ADAPTER_CORE_VERSION = "8.2.0";
500
+ var WALLET_ADAPTER_CORE_VERSION = "8.3.0";
501
501
  // src/WalletCore.ts
502
502
  var import_eventemitter3 = __toESM(require("eventemitter3"));
503
503
  var import_ts_sdk2 = require("@aptos-labs/ts-sdk");
@@ -778,7 +778,7 @@ function isRedirectable() {
778
778
  return isMobile() && !isInAppBrowser();
779
779
  }
780
780
  function generalizedErrorMessage(error) {
781
- return (typeof error === "undefined" ? "undefined" : _type_of(error)) === "object" && "message" in error ? error.message : error;
781
+ return error !== null && (typeof error === "undefined" ? "undefined" : _type_of(error)) === "object" && "message" in error ? error.message : error;
782
782
  }
783
783
  var getAptosConfig = function(networkInfo, dappConfig) {
784
784
  if (!networkInfo) {
@@ -1046,13 +1046,6 @@ var aptosStandardSupportedWalletList = [
1046
1046
  isAIP62Standard: true,
1047
1047
  deeplinkProvider: "nightly://v1?network=aptos&url="
1048
1048
  },
1049
- {
1050
- name: "Pontem Wallet",
1051
- url: "https://pontem.network/pontem-wallet",
1052
- icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4IDBDOC4wNzMwNCAwIDAgOC4wNzEzOSAwIDE3Ljk5NjNDMCAyNS4xMjk4IDQuMTczMTYgMzEuMzEwOCAxMC4yMDc2IDM0LjIyMDNWMzQuMjM1MUgxMC4yMzcyQzEyLjU4NiAzNS4zNjQ5IDE1LjIyMjggMzYgMTggMzZDMjcuOTI3IDM2IDM2IDI3LjkyODYgMzYgMTguMDAzN0MzNiA4LjA3MTM4IDI3LjkyNyAwIDE4IDBaTTE4IDEuNDc2OTJDMjcuMTA3MSAxLjQ3NjkyIDM0LjUyMjggOC44OTEwOCAzNC41MjI4IDE3Ljk5NjNDMzQuNTIyOCAyMC42MTA1IDMzLjkwOTcgMjMuMDkxNyAzMi44MjQgMjUuMjkyM0MzMC40NDU2IDI0LjE0MDMgMjguMDMwNCAyMy4yODM3IDI1LjU5MjkgMjIuNzAwM1Y4LjkyMDYyQzI1LjU5MjkgOC40NDA2MiAyNS4yMTYyIDguMDU2NjIgMjQuNzQzNSA4LjA1NjYySDIxLjcxNTJIMTQuMDg1NEgxMS4wNTdDMTAuNTkxNyA4LjA1NjYyIDEwLjIwNzYgOC40NDA2MiAxMC4yMDc2IDguOTIwNjJWMjIuNzY2OEM3Ljg0NDA3IDIzLjM1MDIgNS40OTUyOCAyNC4xOTIgMy4xODM0MiAyNS4yOTk3QzIuMDkwMjcgMjMuMDkxNyAxLjQ3NzIzIDIwLjYxNzggMS40NzcyMyAxNy45OTYzQzEuNDc3MjMgOC44OTEwOCA4Ljg5MjkgMS40NzY5MiAxOCAxLjQ3NjkyWk00LjEzNjIzIDI2Ljk2MTJDNi4wOTM1NiAyNS45OTM4IDguMTI0NzQgMjUuMjQ4IDEwLjIxNSAyNC43MzExVjMyLjU1ODhDNy43NDA2NiAzMS4yMzY5IDUuNjUwMzkgMjkuMzAyMiA0LjEzNjIzIDI2Ljk2MTJaTTE0LjA4NTQgMzQuMDQzMVYxNS42MDM3QzE0LjA4NTQgMTMuNDY5NSAxNS44MzU5IDExLjcwNDYgMTcuOTI2MSAxMS43MDQ2QzIwLjAxNjQgMTEuNzA0NiAyMS43MTUyIDEzLjQzMjYgMjEuNzE1MiAxNS41NTk0QzIxLjcxNTIgMTUuNTc0MiAyMS43MDc4IDE1LjU4ODkgMjEuNzA3OCAxNS42MDM3SDIxLjcxNTJWMjIuMDIwOUMxOS45MzUyIDIxLjgxNDIgMTguMTQ3NyAyMS43NDc3IDE2LjM2MDMgMjEuODQzN0wxNC44OTA0IDIzLjk3NzhDMTcuMTgwMSAyMy43ODU4IDE5LjQxMDcgMjMuODAwNiAyMS42MTE4IDI0LjA1MTdDMjEuNjM0IDI0LjA1MTcgMjEuNjQ4NyAyNC4wNTE3IDIxLjY3MDkgMjQuMDU5MUMyMS42ODU3IDI0LjA1OTEgMjEuNzAwNSAyNC4wNTkxIDIxLjcyMjYgMjQuMDY2NUMyMi4xMDY3IDI0LjExMDggMjMuNTAyNyAyNC4yODggMjQuNzgwNSAyNC42MDU1TDIxLjcyMjYgMjUuNjQ2OFYzNC4xMDIyQzIwLjUyNjEgMzQuMzc1NCAxOS4yODUyIDM0LjUzMDUgMTguMDE0OCAzNC41MzA1QzE2LjY0ODMgMzQuNTE1NyAxNS4zNDEgMzQuMzQ1OCAxNC4wODU0IDM0LjA0MzFaTTI1LjU4NTYgMzIuNjYyMlYyNC43NjhDMjcuNjY4NCAyNS4yOTIzIDI5LjcyOTIgMjYuMDYwMyAzMS43OTczIDI3LjA2NDZDMzAuMjQ2MiAyOS40MjAzIDI4LjEwNDIgMzEuMzU1MSAyNS41ODU2IDMyLjY2MjJaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMjIyXzE2NzApIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIyXzE2NzAiIHgxPSIxNy45OTk3IiB5MT0iMzYuNzc4OSIgeDI9IjE3Ljk5OTciIHkyPSItNS41MTk3OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBvZmZzZXQ9IjAuMDg1OCIgc3RvcC1jb2xvcj0iIzhEMjlDMSIvPgo8c3RvcCBvZmZzZXQ9IjAuMjM4MyIgc3RvcC1jb2xvcj0iIzk0MkJCQiIvPgo8c3RvcCBvZmZzZXQ9IjAuNDY2NyIgc3RvcC1jb2xvcj0iI0E5MkZBQyIvPgo8c3RvcCBvZmZzZXQ9IjAuNzQxMyIgc3RvcC1jb2xvcj0iI0NBMzc5MyIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGMDNGNzciLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",
1053
- readyState: "NotDetected" /* NotDetected */ ,
1054
- isAIP62Standard: true
1055
- },
1056
1049
  {
1057
1050
  name: "Backpack",
1058
1051
  url: "https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",
@@ -1131,6 +1124,22 @@ var crossChainStandardSupportedWalletList = [
1131
1124
  readyState: "NotDetected" /* NotDetected */ ,
1132
1125
  isAIP62Standard: true,
1133
1126
  deeplinkProvider: "https://link.metamask.io/dapp/"
1127
+ },
1128
+ {
1129
+ name: "Coinbase (Ethereum)",
1130
+ url: "https://wallet.coinbase.com/",
1131
+ icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8Y2lyY2xlIGN4PSI1MTIiIGN5PSI1MTIiIHI9IjUxMiIgZmlsbD0iIzAwNTJGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUxMiAyOTZDMzkyLjQ3MSAyOTYgMjk2IDM5Mi40NzEgMjk2IDUxMkMyOTYgNjMxLjUyOSAzOTIuNDcxIDcyOCA1MTIgNzI4QzYzMS41MjkgNzI4IDcyOCA2MzEuNTI5IDcyOCA1MTJDNzI4IDM5Mi40NzEgNjMxLjUyOSAyOTYgNTEyIDI5NlpNNDIwLjggNDY0LjhDNDIwLjggNDUyLjU5NiA0MzAuNTk2IDQ0Mi44IDQ0Mi44IDQ0Mi44SDU4MS4yQzU5My40MDQgNDQyLjggNjAzLjIgNDUyLjU5NiA2MDMuMiA0NjQuOFY1NTkuMkM2MDMuMiA1NzEuNDA0IDU5My40MDQgNTgxLjIgNTgxLjIgNTgxLjJINDQyLjhDNDMwLjU5NiA1ODEuMiA0MjAuOCA1NzEuNDA0IDQyMC44IDU1OS4yVjQ2NC44WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==",
1132
+ readyState: "NotDetected" /* NotDetected */ ,
1133
+ isAIP62Standard: true,
1134
+ deeplinkProvider: "https://wallet.coinbase.com/wsegue?cb_url="
1135
+ },
1136
+ {
1137
+ name: "Coinbase (Solana)",
1138
+ url: "https://wallet.coinbase.com/",
1139
+ icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8Y2lyY2xlIGN4PSI1MTIiIGN5PSI1MTIiIHI9IjUxMiIgZmlsbD0iIzAwNTJGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUxMiAyOTZDMzkyLjQ3MSAyOTYgMjk2IDM5Mi40NzEgMjk2IDUxMkMyOTYgNjMxLjUyOSAzOTIuNDcxIDcyOCA1MTIgNzI4QzYzMS41MjkgNzI4IDcyOCA2MzEuNTI5IDcyOCA1MTJDNzI4IDM5Mi40NzEgNjMxLjUyOSAyOTYgNTEyIDI5NlpNNDIwLjggNDY0LjhDNDIwLjggNDUyLjU5NiA0MzAuNTk2IDQ0Mi44IDQ0Mi44IDQ0Mi44SDU4MS4yQzU5My40MDQgNDQyLjggNjAzLjIgNDUyLjU5NiA2MDMuMiA0NjQuOFY1NTkuMkM2MDMuMiA1NzEuNDA0IDU5My40MDQgNTgxLjIgNTgxLjIgNTgxLjJINDQyLjhDNDMwLjU5NiA1ODEuMiA0MjAuOCA1NzEuNDA0IDQyMC44IDU1OS4yVjQ2NC44WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==",
1140
+ readyState: "NotDetected" /* NotDetected */ ,
1141
+ isAIP62Standard: true,
1142
+ deeplinkProvider: "https://wallet.coinbase.com/wsegue?cb_url="
1134
1143
  }
1135
1144
  ];
1136
1145
  // src/sdkWallets.ts