@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 +181 -5
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -9
- package/dist/index.mjs.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/utils/types.d.ts +1 -1
- package/dist/utils/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +4 -5
- package/src/registry.ts +16 -7
- package/src/utils/helpers.ts +1 -1
- package/src/utils/types.ts +0 -1
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -1,13 +1,189 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @aptos-labs/wallet-adapter-core
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|