@aptos-labs/wallet-adapter-core 4.25.0 → 5.0.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/README.md +10 -0
- package/dist/WalletCore.d.ts +71 -112
- package/dist/WalletCore.d.ts.map +1 -1
- package/dist/constants.d.ts +4 -14
- package/dist/constants.d.ts.map +1 -1
- package/dist/error/index.d.ts +3 -0
- package/dist/error/index.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +379 -859
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +408 -894
- package/dist/index.mjs.map +1 -1
- package/dist/{AIP62StandardWallets/registry.d.ts → registry.d.ts} +1 -1
- package/dist/registry.d.ts.map +1 -0
- package/dist/sdkWallets.d.ts +3 -0
- package/dist/sdkWallets.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +7 -7
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/localStorage.d.ts +1 -2
- package/dist/utils/localStorage.d.ts.map +1 -1
- package/dist/utils/types.d.ts +26 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/walletSelector.d.ts +18 -19
- package/dist/utils/walletSelector.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/package.json +4 -5
- package/src/WalletCore.ts +474 -686
- package/src/constants.ts +3 -13
- package/src/error/index.ts +4 -0
- package/src/index.ts +3 -3
- package/src/{AIP62StandardWallets/registry.ts → registry.ts} +19 -6
- package/src/{AIP62StandardWallets/sdkWallets.ts → sdkWallets.ts} +6 -6
- package/src/utils/helpers.ts +46 -32
- package/src/utils/index.ts +1 -1
- package/src/utils/localStorage.ts +1 -3
- package/src/{AIP62StandardWallets → utils}/types.ts +22 -3
- package/src/utils/walletSelector.ts +32 -26
- package/src/version.ts +1 -1
- package/dist/AIP62StandardWallets/WalletStandard.d.ts +0 -44
- package/dist/AIP62StandardWallets/WalletStandard.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/index.d.ts +0 -3
- package/dist/AIP62StandardWallets/index.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/registry.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/sdkWallets.d.ts +0 -4
- package/dist/AIP62StandardWallets/sdkWallets.d.ts.map +0 -1
- package/dist/AIP62StandardWallets/types.d.ts +0 -12
- package/dist/AIP62StandardWallets/types.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/WalletCoreV1.d.ts +0 -50
- package/dist/LegacyWalletPlugins/WalletCoreV1.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/conversion.d.ts +0 -21
- package/dist/LegacyWalletPlugins/conversion.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/index.d.ts +0 -4
- package/dist/LegacyWalletPlugins/index.d.ts.map +0 -1
- package/dist/LegacyWalletPlugins/types.d.ts +0 -116
- package/dist/LegacyWalletPlugins/types.d.ts.map +0 -1
- package/dist/__tests__/WalletCore.test.d.ts +0 -2
- package/dist/__tests__/WalletCore.test.d.ts.map +0 -1
- package/dist/utils/scopePollingDetectionStrategy.d.ts +0 -2
- package/dist/utils/scopePollingDetectionStrategy.d.ts.map +0 -1
- package/src/AIP62StandardWallets/WalletStandard.ts +0 -242
- package/src/AIP62StandardWallets/index.ts +0 -2
- package/src/LegacyWalletPlugins/WalletCoreV1.ts +0 -258
- package/src/LegacyWalletPlugins/conversion.ts +0 -124
- package/src/LegacyWalletPlugins/index.ts +0 -3
- package/src/LegacyWalletPlugins/types.ts +0 -188
- package/src/utils/scopePollingDetectionStrategy.ts +0 -46
package/src/constants.ts
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
export enum WalletReadyState {
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Wallet can only be in one of two states - installed or not installed
|
|
4
|
+
* Installed: wallets are detected by the browser event listeners and means they are installed on the user's browser.
|
|
5
|
+
* NotDetected: wallets are not detected by the browser event listeners and means they are not installed on the user's browser.
|
|
6
6
|
*/
|
|
7
7
|
Installed = "Installed",
|
|
8
8
|
NotDetected = "NotDetected",
|
|
9
|
-
/**
|
|
10
|
-
* Loadable wallets are always available to you. Since you can load them at
|
|
11
|
-
* any time, it's meaningless to say that they have been detected.
|
|
12
|
-
*/
|
|
13
|
-
Loadable = "Loadable",
|
|
14
|
-
/**
|
|
15
|
-
* If a wallet is not supported on a given platform (eg. server-rendering, or
|
|
16
|
-
* mobile) then it will stay in the `Unsupported` state.
|
|
17
|
-
*/
|
|
18
|
-
Unsupported = "Unsupported",
|
|
19
9
|
}
|
|
20
10
|
|
|
21
11
|
export enum NetworkName {
|
package/src/error/index.ts
CHANGED
|
@@ -105,3 +105,7 @@ export class WalletNotSupportedMethod extends WalletError {
|
|
|
105
105
|
export class WalletChangeNetworkError extends WalletError {
|
|
106
106
|
name = "WalletChangeNetworkError";
|
|
107
107
|
}
|
|
108
|
+
|
|
109
|
+
export class WalletSubmitTransactionError extends WalletError {
|
|
110
|
+
name = "WalletSubmitTransactionError";
|
|
111
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { WALLET_ADAPTER_CORE_VERSION } from "./version";
|
|
2
2
|
|
|
3
|
-
export
|
|
4
|
-
export * from "./LegacyWalletPlugins";
|
|
3
|
+
export * from "./WalletCore";
|
|
5
4
|
export * from "./constants";
|
|
6
5
|
export * from "./utils";
|
|
7
|
-
export * from "./
|
|
6
|
+
export * from "./sdkWallets";
|
|
7
|
+
export * from "./registry";
|
|
8
8
|
|
|
9
9
|
// inject adapter core version to the window
|
|
10
10
|
if (typeof window !== "undefined") {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { AptosStandardSupportedWallet } from "./types";
|
|
1
|
+
import { WalletReadyState } from "./constants";
|
|
2
|
+
import { AptosStandardSupportedWallet } from "./utils/types";
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* Registry of AIP-62 wallet standard supported wallets.
|
|
@@ -19,7 +18,7 @@ import { AptosStandardSupportedWallet } from "./types";
|
|
|
19
18
|
export const aptosStandardSupportedWalletList: Array<AptosStandardSupportedWallet> =
|
|
20
19
|
[
|
|
21
20
|
{
|
|
22
|
-
name: "Nightly"
|
|
21
|
+
name: "Nightly",
|
|
23
22
|
url: "https://nightly.app/",
|
|
24
23
|
icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iV2Fyc3R3YV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDg1MS41IDg1MS41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4NTEuNSA4NTEuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzYwNjdGOTt9DQoJLnN0MXtmaWxsOiNGN0Y3Rjc7fQ0KPC9zdHlsZT4NCjxnPg0KCTxnIGlkPSJXYXJzdHdhXzJfMDAwMDAwMTQ2MDk2NTQyNTMxODA5NDY0NjAwMDAwMDg2NDc4NTIwMDIxMTY5MTg2ODhfIj4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyNCwwaDYwMy42YzY4LjUsMCwxMjQsNTUuNSwxMjQsMTI0djYwMy42YzAsNjguNS01NS41LDEyNC0xMjQsMTI0SDEyNGMtNjguNSwwLTEyNC01NS41LTEyNC0xMjRWMTI0DQoJCQlDMCw1NS41LDU1LjUsMCwxMjQsMHoiLz4NCgk8L2c+DQoJPGcgaWQ9IldhcnN0d2FfMyI+DQoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik02MjMuNSwxNzAuM2MtMzcuNCw1Mi4yLTg0LjIsODguNC0xMzkuNSwxMTIuNmMtMTkuMi01LjMtMzguOS04LTU4LjMtNy44Yy0xOS40LTAuMi0zOS4xLDIuNi01OC4zLDcuOA0KCQkJYy01NS4zLTI0LjMtMTAyLjEtNjAuMy0xMzkuNS0xMTIuNmMtMTEuMywyOC40LTU0LjgsMTI2LjQtMi42LDI2My40YzAsMC0xNi43LDcxLjUsMTQsMTMyLjljMCwwLDQ0LjQtMjAuMSw3OS43LDguMg0KCQkJYzM2LjksMjkuOSwyNS4xLDU4LjcsNTEuMSw4My41YzIyLjQsMjIuOSw1NS43LDIyLjksNTUuNywyMi45czMzLjMsMCw1NS43LTIyLjhjMjYtMjQuNywxNC4zLTUzLjUsNTEuMS04My41DQoJCQljMzUuMi0yOC4zLDc5LjctOC4yLDc5LjctOC4yYzMwLjYtNjEuNCwxNC0xMzIuOSwxNC0xMzIuOUM2NzguMywyOTYuNyw2MzQuOSwxOTguNyw2MjMuNSwxNzAuM3ogTTI1My4xLDQxNC44DQoJCQljLTI4LjQtNTguMy0zNi4yLTEzOC4zLTE4LjMtMjAxLjVjMjMuNyw2MCw1NS45LDg2LjksOTQuMiwxMTUuM0MzMTIuOCwzNjIuMywyODIuMywzOTQuMSwyNTMuMSw0MTQuOHogTTMzNC44LDUxNy41DQoJCQljLTIyLjQtOS45LTI3LjEtMjkuNC0yNy4xLTI5LjRjMzAuNS0xOS4yLDc1LjQtNC41LDc2LjgsNDAuOUMzNjAuOSw1MTQuNywzNTMsNTI1LjQsMzM0LjgsNTE3LjV6IE00MjUuNyw2NzguNw0KCQkJYy0xNiwwLTI5LTExLjUtMjktMjUuNnMxMy0yNS42LDI5LTI1LjZzMjksMTEuNSwyOSwyNS42QzQ1NC43LDY2Ny4zLDQ0MS43LDY3OC43LDQyNS43LDY3OC43eiBNNTE2LjcsNTE3LjUNCgkJCWMtMTguMiw4LTI2LTIuOC00OS43LDExLjVjMS41LTQ1LjQsNDYuMi02MC4xLDc2LjgtNDAuOUM1NDMuOCw0ODgsNTM5LDUwNy42LDUxNi43LDUxNy41eiBNNTk4LjMsNDE0LjgNCgkJCWMtMjkuMS0yMC43LTU5LjctNTIuNC03Ni04Ni4yYzM4LjMtMjguNCw3MC42LTU1LjQsOTQuMi0xMTUuM0M2MzQuNiwyNzYuNSw2MjYuOCwzNTYuNiw1OTguMyw0MTQuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==",
|
|
25
24
|
readyState: WalletReadyState.NotDetected,
|
|
@@ -27,7 +26,7 @@ export const aptosStandardSupportedWalletList: Array<AptosStandardSupportedWalle
|
|
|
27
26
|
deeplinkProvider: "nightly://v1?network=aptos&url=",
|
|
28
27
|
},
|
|
29
28
|
{
|
|
30
|
-
name: "Petra"
|
|
29
|
+
name: "Petra",
|
|
31
30
|
url: "https://chromewebstore.google.com/detail/petra-aptos-wallet/ejjladinnckdgjemekebdpeokbikhfci?hl=en",
|
|
32
31
|
icon: "data:image/png;base64,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",
|
|
33
32
|
readyState: WalletReadyState.NotDetected,
|
|
@@ -35,10 +34,24 @@ export const aptosStandardSupportedWalletList: Array<AptosStandardSupportedWalle
|
|
|
35
34
|
deeplinkProvider: "https://petra.app/explore?link=",
|
|
36
35
|
},
|
|
37
36
|
{
|
|
38
|
-
name: "Pontem Wallet"
|
|
37
|
+
name: "Pontem Wallet",
|
|
39
38
|
url: "https://pontem.network/pontem-wallet",
|
|
40
39
|
icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4IDBDOC4wNzMwNCAwIDAgOC4wNzEzOSAwIDE3Ljk5NjNDMCAyNS4xMjk4IDQuMTczMTYgMzEuMzEwOCAxMC4yMDc2IDM0LjIyMDNWMzQuMjM1MUgxMC4yMzcyQzEyLjU4NiAzNS4zNjQ5IDE1LjIyMjggMzYgMTggMzZDMjcuOTI3IDM2IDM2IDI3LjkyODYgMzYgMTguMDAzN0MzNiA4LjA3MTM4IDI3LjkyNyAwIDE4IDBaTTE4IDEuNDc2OTJDMjcuMTA3MSAxLjQ3NjkyIDM0LjUyMjggOC44OTEwOCAzNC41MjI4IDE3Ljk5NjNDMzQuNTIyOCAyMC42MTA1IDMzLjkwOTcgMjMuMDkxNyAzMi44MjQgMjUuMjkyM0MzMC40NDU2IDI0LjE0MDMgMjguMDMwNCAyMy4yODM3IDI1LjU5MjkgMjIuNzAwM1Y4LjkyMDYyQzI1LjU5MjkgOC40NDA2MiAyNS4yMTYyIDguMDU2NjIgMjQuNzQzNSA4LjA1NjYySDIxLjcxNTJIMTQuMDg1NEgxMS4wNTdDMTAuNTkxNyA4LjA1NjYyIDEwLjIwNzYgOC40NDA2MiAxMC4yMDc2IDguOTIwNjJWMjIuNzY2OEM3Ljg0NDA3IDIzLjM1MDIgNS40OTUyOCAyNC4xOTIgMy4xODM0MiAyNS4yOTk3QzIuMDkwMjcgMjMuMDkxNyAxLjQ3NzIzIDIwLjYxNzggMS40NzcyMyAxNy45OTYzQzEuNDc3MjMgOC44OTEwOCA4Ljg5MjkgMS40NzY5MiAxOCAxLjQ3NjkyWk00LjEzNjIzIDI2Ljk2MTJDNi4wOTM1NiAyNS45OTM4IDguMTI0NzQgMjUuMjQ4IDEwLjIxNSAyNC43MzExVjMyLjU1ODhDNy43NDA2NiAzMS4yMzY5IDUuNjUwMzkgMjkuMzAyMiA0LjEzNjIzIDI2Ljk2MTJaTTE0LjA4NTQgMzQuMDQzMVYxNS42MDM3QzE0LjA4NTQgMTMuNDY5NSAxNS44MzU5IDExLjcwNDYgMTcuOTI2MSAxMS43MDQ2QzIwLjAxNjQgMTEuNzA0NiAyMS43MTUyIDEzLjQzMjYgMjEuNzE1MiAxNS41NTk0QzIxLjcxNTIgMTUuNTc0MiAyMS43MDc4IDE1LjU4ODkgMjEuNzA3OCAxNS42MDM3SDIxLjcxNTJWMjIuMDIwOUMxOS45MzUyIDIxLjgxNDIgMTguMTQ3NyAyMS43NDc3IDE2LjM2MDMgMjEuODQzN0wxNC44OTA0IDIzLjk3NzhDMTcuMTgwMSAyMy43ODU4IDE5LjQxMDcgMjMuODAwNiAyMS42MTE4IDI0LjA1MTdDMjEuNjM0IDI0LjA1MTcgMjEuNjQ4NyAyNC4wNTE3IDIxLjY3MDkgMjQuMDU5MUMyMS42ODU3IDI0LjA1OTEgMjEuNzAwNSAyNC4wNTkxIDIxLjcyMjYgMjQuMDY2NUMyMi4xMDY3IDI0LjExMDggMjMuNTAyNyAyNC4yODggMjQuNzgwNSAyNC42MDU1TDIxLjcyMjYgMjUuNjQ2OFYzNC4xMDIyQzIwLjUyNjEgMzQuMzc1NCAxOS4yODUyIDM0LjUzMDUgMTguMDE0OCAzNC41MzA1QzE2LjY0ODMgMzQuNTE1NyAxNS4zNDEgMzQuMzQ1OCAxNC4wODU0IDM0LjA0MzFaTTI1LjU4NTYgMzIuNjYyMlYyNC43NjhDMjcuNjY4NCAyNS4yOTIzIDI5LjcyOTIgMjYuMDYwMyAzMS43OTczIDI3LjA2NDZDMzAuMjQ2MiAyOS40MjAzIDI4LjEwNDIgMzEuMzU1MSAyNS41ODU2IDMyLjY2MjJaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMjIyXzE2NzApIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIyXzE2NzAiIHgxPSIxNy45OTk3IiB5MT0iMzYuNzc4OSIgeDI9IjE3Ljk5OTciIHkyPSItNS41MTk3OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBvZmZzZXQ9IjAuMDg1OCIgc3RvcC1jb2xvcj0iIzhEMjlDMSIvPgo8c3RvcCBvZmZzZXQ9IjAuMjM4MyIgc3RvcC1jb2xvcj0iIzk0MkJCQiIvPgo8c3RvcCBvZmZzZXQ9IjAuNDY2NyIgc3RvcC1jb2xvcj0iI0E5MkZBQyIvPgo8c3RvcCBvZmZzZXQ9IjAuNzQxMyIgc3RvcC1jb2xvcj0iI0NBMzc5MyIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGMDNGNzciLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",
|
|
41
40
|
readyState: WalletReadyState.NotDetected,
|
|
42
41
|
isAIP62Standard: true,
|
|
43
42
|
},
|
|
43
|
+
{
|
|
44
|
+
name: "Rimosafe",
|
|
45
|
+
url: "https://chromewebstore.google.com/detail/rimo-safe-wallet/kiicddjcakdmobjkcpppkgcjbpakcagp",
|
|
46
|
+
icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiLz4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLCAzKSBzY2FsZSgwLjgpIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjkuNTMxMSA5Ljg0MzY5VjBIMTkuNjg3NEwxOS42ODc3IDAuMDAwMzQwNTU1TDAgMC4wMDAzNDE0MTVMNC4zMjEzNGUtMDcgOS44NDQwM0g5Ljg0MzY5QzQuNDA3MTcgOS44NDQwMyAwIDE0LjI1MTIgMCAxOS42ODc3VjMwLjAwMDFIOS44NDM2OVYxOS42ODc5TDE5LjY4NzEgMzAuMDAwMUwxOS42ODcxIDE5LjY4NzdMMjkuNTMwOCA5Ljg0NDAzTDI5LjUzMTEgOS44NDQwM1Y5Ljg0MzY1TDI5LjUzMTEgOS44NDM2OVpNMTkuNjg3MSAxOS42ODc2TDE5LjY4NzEgOS44NDQwM0g5Ljg0MzY5VjE5LjY4NzZIMTkuNjg3MVpNMjkuNTMxMSA5Ljg0MzY1TDE5LjY4NzcgMC4wMDAzNDA1NTVMMjkuNTMxMSAwLjAwMDM0MDEyNVY5Ljg0MzY1Wk0xOS42ODc0IDE5LjY4NzZIMjkuNTMxMVYzMC4wMDAxSDE5LjY4NzRWMTkuNjg3NloiIGZpbGw9IiNGRjVDMjgiLz4KICA8L2c+Cjwvc3ZnPgo=",
|
|
47
|
+
readyState: WalletReadyState.NotDetected,
|
|
48
|
+
isAIP62Standard: true,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "OKX Wallet",
|
|
52
|
+
url: "https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",
|
|
53
|
+
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=",
|
|
54
|
+
readyState: WalletReadyState.NotDetected,
|
|
55
|
+
isAIP62Standard: true,
|
|
56
|
+
},
|
|
44
57
|
];
|
|
@@ -5,11 +5,10 @@ import {
|
|
|
5
5
|
import { Network } from "@aptos-labs/ts-sdk";
|
|
6
6
|
import { DevTWallet, TWallet } from "@atomrigslab/aptos-wallet-adapter";
|
|
7
7
|
import { MizuWallet } from "@mizuwallet-sdk/aptos-wallet-adapter";
|
|
8
|
-
import { DappConfig } from "
|
|
9
|
-
import { AptosStandardWallet } from "./WalletStandard";
|
|
8
|
+
import { DappConfig, AdapterWallet } from "./WalletCore";
|
|
10
9
|
|
|
11
10
|
export function getSDKWallets(dappConfig?: DappConfig) {
|
|
12
|
-
const sdkWallets:
|
|
11
|
+
const sdkWallets: AdapterWallet[] = [];
|
|
13
12
|
|
|
14
13
|
// Need to check window is defined for AptosConnect
|
|
15
14
|
if (typeof window !== "undefined") {
|
|
@@ -23,7 +22,7 @@ export function getSDKWallets(dappConfig?: DappConfig) {
|
|
|
23
22
|
network: dappConfig?.network,
|
|
24
23
|
dappId: dappConfig?.aptosConnectDappId,
|
|
25
24
|
...dappConfig?.aptosConnect,
|
|
26
|
-
})
|
|
25
|
+
})
|
|
27
26
|
);
|
|
28
27
|
|
|
29
28
|
if (
|
|
@@ -33,10 +32,11 @@ export function getSDKWallets(dappConfig?: DappConfig) {
|
|
|
33
32
|
) {
|
|
34
33
|
sdkWallets.push(
|
|
35
34
|
new MizuWallet({
|
|
36
|
-
|
|
35
|
+
// mizo supports only TESTNET and MAINNET and holds a custom type for network
|
|
36
|
+
network: dappConfig.network as Network.MAINNET | Network.TESTNET,
|
|
37
37
|
manifestURL: dappConfig.mizuwallet.manifestURL,
|
|
38
38
|
appId: dappConfig.mizuwallet.appId,
|
|
39
|
-
})
|
|
39
|
+
})
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
}
|
package/src/utils/helpers.ts
CHANGED
|
@@ -1,35 +1,32 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Aptos,
|
|
3
3
|
AptosConfig,
|
|
4
|
-
EntryFunctionArgumentTypes,
|
|
5
4
|
Hex,
|
|
6
5
|
Network,
|
|
7
6
|
NetworkToNodeAPI,
|
|
8
|
-
Serializable,
|
|
9
|
-
SimpleEntryFunctionArgumentTypes,
|
|
10
7
|
} from "@aptos-labs/ts-sdk";
|
|
11
|
-
import { NetworkInfo as StandardNetworkInfo } from "@aptos-labs/wallet-standard";
|
|
12
|
-
import { convertNetwork } from "../LegacyWalletPlugins/conversion";
|
|
13
8
|
import {
|
|
14
|
-
InputTransactionData,
|
|
15
9
|
NetworkInfo,
|
|
16
|
-
|
|
10
|
+
NetworkInfo as StandardNetworkInfo,
|
|
11
|
+
} from "@aptos-labs/wallet-standard";
|
|
12
|
+
|
|
17
13
|
import { DappConfig } from "../WalletCore";
|
|
18
14
|
import { WalletSignAndSubmitMessageError } from "../error";
|
|
15
|
+
import { InputTransactionData } from "./types";
|
|
19
16
|
|
|
20
17
|
export function isMobile(): boolean {
|
|
21
18
|
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(
|
|
22
|
-
navigator.userAgent
|
|
19
|
+
navigator.userAgent
|
|
23
20
|
);
|
|
24
21
|
}
|
|
25
22
|
|
|
26
23
|
export function isInAppBrowser(): boolean {
|
|
27
24
|
const isIphone = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
|
|
28
|
-
navigator.userAgent
|
|
25
|
+
navigator.userAgent
|
|
29
26
|
);
|
|
30
27
|
|
|
31
28
|
const isAndroid = /(Android).*Version\/[\d.]+.*Chrome\/[^\s]+ Mobile/i.test(
|
|
32
|
-
navigator.userAgent
|
|
29
|
+
navigator.userAgent
|
|
33
30
|
);
|
|
34
31
|
|
|
35
32
|
return isIphone || isAndroid;
|
|
@@ -50,22 +47,6 @@ export function generalizedErrorMessage(error: any): string {
|
|
|
50
47
|
: error;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
|
-
// Helper function to check if input arguments are BCS serialized arguments.
|
|
54
|
-
// In @aptos-labs/ts-sdk each move representative class extends
|
|
55
|
-
// Serializable, so if each argument is of an instance of a class
|
|
56
|
-
// the extends Serializable - we know these are BCS arguments
|
|
57
|
-
export const areBCSArguments = (
|
|
58
|
-
args: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>,
|
|
59
|
-
): boolean => {
|
|
60
|
-
// `every` returns true if the array is empty, so
|
|
61
|
-
// first check the array length
|
|
62
|
-
if (args.length === 0) return false;
|
|
63
|
-
return args.every(
|
|
64
|
-
(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes) =>
|
|
65
|
-
arg instanceof Serializable,
|
|
66
|
-
);
|
|
67
|
-
};
|
|
68
|
-
|
|
69
50
|
/**
|
|
70
51
|
* Helper function to get AptosConfig that supports Aptos and Custom networks
|
|
71
52
|
*
|
|
@@ -74,8 +55,8 @@ export const areBCSArguments = (
|
|
|
74
55
|
* @returns AptosConfig
|
|
75
56
|
*/
|
|
76
57
|
export const getAptosConfig = (
|
|
77
|
-
networkInfo: NetworkInfo |
|
|
78
|
-
dappConfig: DappConfig | undefined
|
|
58
|
+
networkInfo: NetworkInfo | null,
|
|
59
|
+
dappConfig: DappConfig | undefined
|
|
79
60
|
): AptosConfig => {
|
|
80
61
|
if (!networkInfo) {
|
|
81
62
|
throw new Error("Undefined network");
|
|
@@ -97,9 +78,26 @@ export const getAptosConfig = (
|
|
|
97
78
|
});
|
|
98
79
|
}
|
|
99
80
|
|
|
81
|
+
const knownNetworks = {
|
|
82
|
+
okx: "https://wallet.okx.com/fullnode/aptos/discover/rpc",
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
if (networkInfo.url) {
|
|
86
|
+
const isKnownNetwork = Object.values(knownNetworks).includes(
|
|
87
|
+
networkInfo.url
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
if (isKnownNetwork) {
|
|
91
|
+
return new AptosConfig({
|
|
92
|
+
network: Network.CUSTOM,
|
|
93
|
+
fullnode: networkInfo.url,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
100
98
|
// Custom networks are not supported, please ensure that the wallet is returning the appropriate network Mainnet, Testnet, Devnet, Local
|
|
101
99
|
throw new Error(
|
|
102
|
-
|
|
100
|
+
`Invalid network, network ${networkInfo.name} not supported with Aptos wallet adapter to prevent user from using an unexpected network.`
|
|
103
101
|
);
|
|
104
102
|
};
|
|
105
103
|
|
|
@@ -110,7 +108,7 @@ export const getAptosConfig = (
|
|
|
110
108
|
* @returns boolean
|
|
111
109
|
*/
|
|
112
110
|
export const isAptosNetwork = (
|
|
113
|
-
networkInfo: NetworkInfo | StandardNetworkInfo | null
|
|
111
|
+
networkInfo: NetworkInfo | StandardNetworkInfo | null
|
|
114
112
|
): boolean => {
|
|
115
113
|
if (!networkInfo) {
|
|
116
114
|
throw new Error("Undefined network");
|
|
@@ -140,7 +138,7 @@ export const fetchDevnetChainId = async (): Promise<number> => {
|
|
|
140
138
|
* as a string, this function converts the string to Uint8Array.
|
|
141
139
|
*/
|
|
142
140
|
export const handlePublishPackageTransaction = (
|
|
143
|
-
transactionInput: InputTransactionData
|
|
141
|
+
transactionInput: InputTransactionData
|
|
144
142
|
) => {
|
|
145
143
|
// convert the first argument, metadataBytes, to uint8array if is a string
|
|
146
144
|
let metadataBytes = transactionInput.data.functionArguments[0];
|
|
@@ -159,9 +157,25 @@ export const handlePublishPackageTransaction = (
|
|
|
159
157
|
});
|
|
160
158
|
} else {
|
|
161
159
|
throw new WalletSignAndSubmitMessageError(
|
|
162
|
-
"The bytecode argument must be an array."
|
|
160
|
+
"The bytecode argument must be an array."
|
|
163
161
|
).message;
|
|
164
162
|
}
|
|
165
163
|
|
|
166
164
|
return { metadataBytes, byteCode };
|
|
167
165
|
};
|
|
166
|
+
|
|
167
|
+
// old => new
|
|
168
|
+
export function convertNetwork(networkInfo: NetworkInfo | null): Network {
|
|
169
|
+
switch (networkInfo?.name) {
|
|
170
|
+
case "mainnet" as Network:
|
|
171
|
+
return Network.MAINNET;
|
|
172
|
+
case "testnet" as Network:
|
|
173
|
+
return Network.TESTNET;
|
|
174
|
+
case "devnet" as Network:
|
|
175
|
+
return Network.DEVNET;
|
|
176
|
+
case "local" as Network:
|
|
177
|
+
return Network.LOCAL;
|
|
178
|
+
default:
|
|
179
|
+
throw new Error("Invalid Aptos network name");
|
|
180
|
+
}
|
|
181
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { WalletName } from "../LegacyWalletPlugins/types";
|
|
2
|
-
|
|
3
1
|
const LOCAL_STORAGE_ITEM_KEY = "AptosWalletName";
|
|
4
2
|
|
|
5
|
-
export function setLocalStorage(walletName:
|
|
3
|
+
export function setLocalStorage(walletName: string) {
|
|
6
4
|
localStorage.setItem(LOCAL_STORAGE_ITEM_KEY, walletName);
|
|
7
5
|
}
|
|
8
6
|
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
AccountAddressInput,
|
|
3
|
+
InputGenerateTransactionOptions,
|
|
4
|
+
} from "@aptos-labs/ts-sdk";
|
|
5
|
+
import { InputGenerateTransactionPayloadData } from "@aptos-labs/ts-sdk";
|
|
2
6
|
import { WalletReadyState } from "../constants";
|
|
3
7
|
|
|
4
|
-
export interface AptosStandardSupportedWallet
|
|
8
|
+
export interface AptosStandardSupportedWallet {
|
|
5
9
|
// The name of your wallet cast to WalletName (Ex. "Petra" as WalletName<"Petra">)
|
|
6
|
-
name:
|
|
10
|
+
name: string;
|
|
7
11
|
// The link to your chrome extension or main website where new users can create an account with your wallet.
|
|
8
12
|
url: string;
|
|
9
13
|
// An icon for your wallet. Can be one of 4 data types. Be sure to follow the below format exactly (including the "," after base64).
|
|
@@ -27,3 +31,18 @@ export type AvailableWallets =
|
|
|
27
31
|
| "Pontem Wallet"
|
|
28
32
|
| "Mizu Wallet"
|
|
29
33
|
| "Continue with Google";
|
|
34
|
+
|
|
35
|
+
export type InputTransactionData = {
|
|
36
|
+
sender?: AccountAddressInput;
|
|
37
|
+
data: InputGenerateTransactionPayloadData;
|
|
38
|
+
options?: InputGenerateTransactionOptions & {
|
|
39
|
+
expirationSecondsFromNow?: number;
|
|
40
|
+
expirationTimestamp?: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type WalletInfo = {
|
|
45
|
+
name: string;
|
|
46
|
+
icon: string;
|
|
47
|
+
url: string;
|
|
48
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { AnyAptosWallet } from "../WalletCore";
|
|
1
|
+
import { WalletInfo } from "./types";
|
|
2
|
+
import { AdapterNotDetectedWallet, AdapterWallet } from "../WalletCore";
|
|
4
3
|
import { APTOS_CONNECT_BASE_URL, WalletReadyState } from "../constants";
|
|
5
4
|
import { isRedirectable } from "./helpers";
|
|
6
5
|
|
|
@@ -10,35 +9,36 @@ import { isRedirectable } from "./helpers";
|
|
|
10
9
|
* You can pass your own partition function if you wish to customize this behavior.
|
|
11
10
|
*/
|
|
12
11
|
export function partitionWallets(
|
|
13
|
-
wallets: ReadonlyArray<
|
|
12
|
+
wallets: ReadonlyArray<AdapterWallet | AdapterNotDetectedWallet>,
|
|
14
13
|
partitionFunction: (
|
|
15
|
-
wallet:
|
|
16
|
-
) => boolean = isInstalledOrLoadable
|
|
14
|
+
wallet: AdapterWallet | AdapterNotDetectedWallet
|
|
15
|
+
) => boolean = isInstalledOrLoadable
|
|
17
16
|
) {
|
|
18
|
-
const defaultWallets: Array<
|
|
19
|
-
const moreWallets: Array<
|
|
17
|
+
const defaultWallets: Array<AdapterWallet> = [];
|
|
18
|
+
const moreWallets: Array<AdapterNotDetectedWallet> = [];
|
|
20
19
|
|
|
21
20
|
for (const wallet of wallets) {
|
|
22
|
-
if (partitionFunction(wallet)) defaultWallets.push(wallet);
|
|
23
|
-
else moreWallets.push(wallet);
|
|
21
|
+
if (partitionFunction(wallet)) defaultWallets.push(wallet as AdapterWallet);
|
|
22
|
+
else moreWallets.push(wallet as AdapterNotDetectedWallet);
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
return { defaultWallets, moreWallets };
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
/** Returns true if the wallet is installed or loadable. */
|
|
30
|
-
export function isInstalledOrLoadable(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
);
|
|
29
|
+
export function isInstalledOrLoadable(
|
|
30
|
+
wallet: AdapterWallet | AdapterNotDetectedWallet
|
|
31
|
+
) {
|
|
32
|
+
return wallet.readyState === WalletReadyState.Installed;
|
|
35
33
|
}
|
|
36
34
|
|
|
37
35
|
/**
|
|
38
36
|
* Returns true if the user is on desktop and the provided wallet requires installation of a browser extension.
|
|
39
37
|
* This can be used to decide whether to show a "Connect" button or "Install" link in the UI.
|
|
40
38
|
*/
|
|
41
|
-
export function isInstallRequired(
|
|
39
|
+
export function isInstallRequired(
|
|
40
|
+
wallet: AdapterWallet | AdapterNotDetectedWallet
|
|
41
|
+
) {
|
|
42
42
|
const isWalletReady = isInstalledOrLoadable(wallet);
|
|
43
43
|
const isMobile = !isWalletReady && isRedirectable();
|
|
44
44
|
|
|
@@ -52,9 +52,7 @@ export function truncateAddress(address: string | undefined) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/** Returns `true` if the provided wallet is an Aptos Connect wallet. */
|
|
55
|
-
export function isAptosConnectWallet(
|
|
56
|
-
wallet: WalletInfo | AnyAptosWallet | AptosStandardWallet,
|
|
57
|
-
) {
|
|
55
|
+
export function isAptosConnectWallet(wallet: WalletInfo | AdapterWallet) {
|
|
58
56
|
if (!wallet.url) return false;
|
|
59
57
|
return wallet.url.startsWith(APTOS_CONNECT_BASE_URL);
|
|
60
58
|
}
|
|
@@ -63,21 +61,29 @@ export function isAptosConnectWallet(
|
|
|
63
61
|
* Partitions the `wallets` array so that Aptos Connect wallets are grouped separately from the rest.
|
|
64
62
|
* Aptos Connect is a web wallet that uses social login to create accounts on the blockchain.
|
|
65
63
|
*/
|
|
66
|
-
export function getAptosConnectWallets(
|
|
64
|
+
export function getAptosConnectWallets(
|
|
65
|
+
wallets: ReadonlyArray<AdapterWallet | AdapterNotDetectedWallet>
|
|
66
|
+
) {
|
|
67
67
|
const { defaultWallets, moreWallets } = partitionWallets(
|
|
68
68
|
wallets,
|
|
69
|
-
isAptosConnectWallet
|
|
69
|
+
isAptosConnectWallet
|
|
70
70
|
);
|
|
71
71
|
return { aptosConnectWallets: defaultWallets, otherWallets: moreWallets };
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export interface WalletSortingOptions {
|
|
75
75
|
/** An optional function for sorting Aptos Connect wallets. */
|
|
76
|
-
sortAptosConnectWallets?: (a:
|
|
76
|
+
sortAptosConnectWallets?: (a: AdapterWallet, b: AdapterWallet) => number;
|
|
77
77
|
/** An optional function for sorting wallets that are currently installed or loadable. */
|
|
78
|
-
sortAvailableWallets?: (
|
|
78
|
+
sortAvailableWallets?: (
|
|
79
|
+
a: AdapterWallet | AdapterNotDetectedWallet,
|
|
80
|
+
b: AdapterWallet | AdapterNotDetectedWallet
|
|
81
|
+
) => number;
|
|
79
82
|
/** An optional function for sorting wallets that are NOT currently installed or loadable. */
|
|
80
|
-
sortInstallableWallets?: (
|
|
83
|
+
sortInstallableWallets?: (
|
|
84
|
+
a: AdapterWallet | AdapterNotDetectedWallet,
|
|
85
|
+
b: AdapterWallet | AdapterNotDetectedWallet
|
|
86
|
+
) => number;
|
|
81
87
|
}
|
|
82
88
|
|
|
83
89
|
/**
|
|
@@ -94,8 +100,8 @@ export interface WalletSortingOptions {
|
|
|
94
100
|
* Additionally, these wallet groups can be sorted by passing sort functions via the `options` argument.
|
|
95
101
|
*/
|
|
96
102
|
export function groupAndSortWallets(
|
|
97
|
-
wallets: ReadonlyArray<
|
|
98
|
-
options?: WalletSortingOptions
|
|
103
|
+
wallets: ReadonlyArray<AdapterWallet | AdapterNotDetectedWallet>,
|
|
104
|
+
options?: WalletSortingOptions
|
|
99
105
|
) {
|
|
100
106
|
const { aptosConnectWallets, otherWallets } = getAptosConnectWallets(wallets);
|
|
101
107
|
const { defaultWallets, moreWallets } = partitionWallets(otherWallets);
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const WALLET_ADAPTER_CORE_VERSION = "
|
|
1
|
+
export const WALLET_ADAPTER_CORE_VERSION = "5.0.1";
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { AptosSignTransactionInputV1_1, AptosSignTransactionOutput, AptosSignMessageOutput, AptosSignMessageInput, AptosWallet, AptosSignAndSubmitTransactionOutput, AccountInfo as StandardAccountInfo, AptosSignTransactionOutputV1_1 } from "@aptos-labs/wallet-standard";
|
|
2
|
-
import { AnyRawTransaction, Aptos } from "@aptos-labs/ts-sdk";
|
|
3
|
-
import { WalletReadyState } from "../constants";
|
|
4
|
-
import { AccountInfo, InputTransactionData, Wallet } from "../LegacyWalletPlugins";
|
|
5
|
-
export type AptosStandardWallet = AptosWallet & {
|
|
6
|
-
readyState?: WalletReadyState;
|
|
7
|
-
};
|
|
8
|
-
export declare class WalletStandardCore {
|
|
9
|
-
connect(wallet: Wallet): Promise<StandardAccountInfo>;
|
|
10
|
-
/**
|
|
11
|
-
* Signs and submits a transaction to chain
|
|
12
|
-
*
|
|
13
|
-
* @param transactionInput InputTransactionData
|
|
14
|
-
* @returns PendingTransactionResponse
|
|
15
|
-
*/
|
|
16
|
-
signAndSubmitTransaction(transactionInput: InputTransactionData, aptos: Aptos, account: AccountInfo, wallet: Wallet, standardWallets: ReadonlyArray<AptosStandardWallet>): Promise<AptosSignAndSubmitTransactionOutput>;
|
|
17
|
-
/**
|
|
18
|
-
* Signs a transaction
|
|
19
|
-
*
|
|
20
|
-
* To support both existing wallet adapter V1 and V2, we support 2 input types
|
|
21
|
-
*
|
|
22
|
-
* @param transactionOrPayload AnyRawTransaction
|
|
23
|
-
* @param options asFeePayer. To sign a transaction as the fee payer sponsor
|
|
24
|
-
*
|
|
25
|
-
* @returns AptosSignTransactionOutput
|
|
26
|
-
*/
|
|
27
|
-
signTransaction(transaction: AnyRawTransaction, wallet: Wallet, asFeePayer?: boolean): Promise<AptosSignTransactionOutput>;
|
|
28
|
-
signTransaction(input: AptosSignTransactionInputV1_1, wallet: Wallet): Promise<AptosSignTransactionOutputV1_1>;
|
|
29
|
-
/**
|
|
30
|
-
* Sign message
|
|
31
|
-
*
|
|
32
|
-
* @param message AptosSignMessageInput
|
|
33
|
-
* @return AptosSignMessageOutput
|
|
34
|
-
* @throws WalletSignMessageError
|
|
35
|
-
*/
|
|
36
|
-
signMessage(message: AptosSignMessageInput, wallet: Wallet): Promise<AptosSignMessageOutput>;
|
|
37
|
-
/**
|
|
38
|
-
* Signs a message and verifies the signer
|
|
39
|
-
* @param message AptosSignMessageInput
|
|
40
|
-
* @returns boolean
|
|
41
|
-
*/
|
|
42
|
-
signMessageAndVerify(message: AptosSignMessageInput, wallet: Wallet): Promise<boolean>;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=WalletStandard.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WalletStandard.d.ts","sourceRoot":"","sources":["../../src/AIP62StandardWallets/WalletStandard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EAEX,mCAAmC,EACnC,WAAW,IAAI,mBAAmB,EAElC,8BAA8B,EAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,iBAAiB,EAEjB,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,MAAM,EACP,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC9C,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,qBAAa,kBAAkB;IACvB,OAAO,CAAC,MAAM,EAAE,MAAM;IAU5B;;;;;OAKG;IACG,wBAAwB,CAC5B,gBAAgB,EAAE,oBAAoB,EACtC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAClD,OAAO,CAAC,mCAAmC,CAAC;IAsD/C;;;;;;;;;OASG;IACG,eAAe,CACnB,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,0BAA0B,CAAC;IAChC,eAAe,CACnB,KAAK,EAAE,6BAA6B,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,8BAA8B,CAAC;IAgB1C;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;IAgBlC;;;;OAIG;IACG,oBAAoB,CACxB,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;CAuDpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AIP62StandardWallets/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/AIP62StandardWallets/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,4BAA4B,CAyB9E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdkWallets.d.ts","sourceRoot":"","sources":["../../src/AIP62StandardWallets/sdkWallets.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,yBA8CpD"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { WalletName } from "../LegacyWalletPlugins/types";
|
|
2
|
-
import { WalletReadyState } from "../constants";
|
|
3
|
-
export interface AptosStandardSupportedWallet<Name extends string = string> {
|
|
4
|
-
name: WalletName<Name>;
|
|
5
|
-
url: string;
|
|
6
|
-
icon: `data:image/${"svg+xml" | "webp" | "png" | "gif"};base64,${string}`;
|
|
7
|
-
readyState: WalletReadyState.NotDetected;
|
|
8
|
-
isAIP62Standard: true;
|
|
9
|
-
deeplinkProvider?: string;
|
|
10
|
-
}
|
|
11
|
-
export type AvailableWallets = "Nightly" | "Petra" | "T wallet" | "Pontem Wallet" | "Mizu Wallet" | "Continue with Google";
|
|
12
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/AIP62StandardWallets/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,4BAA4B,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAExE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvB,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,cAAc,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,WAAW,MAAM,EAAE,CAAC;IAG1E,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC;IAGzC,eAAe,EAAE,IAAI,CAAC;IAGtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,OAAO,GACP,UAAU,GACV,eAAe,GACf,aAAa,GACb,sBAAsB,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { TxnBuilderTypes, Types } from "aptos";
|
|
2
|
-
import EventEmitter from "eventemitter3";
|
|
3
|
-
import { InputGenerateTransactionPayloadData } from "@aptos-labs/ts-sdk";
|
|
4
|
-
import { Wallet, WalletCoreEvents, TransactionOptions, NetworkInfo, InputTransactionData, AccountInfo, SignMessagePayload } from "./types";
|
|
5
|
-
import { DappConfig } from "../WalletCore";
|
|
6
|
-
export declare class WalletCoreV1 extends EventEmitter<WalletCoreEvents> {
|
|
7
|
-
connect(wallet: Wallet): Promise<any>;
|
|
8
|
-
/**
|
|
9
|
-
* Resolve the transaction type (BCS arguments or Simple arguments)
|
|
10
|
-
*
|
|
11
|
-
* @param payloadData
|
|
12
|
-
* @param network
|
|
13
|
-
* @param wallet
|
|
14
|
-
* @param transactionInput
|
|
15
|
-
*
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
resolveSignAndSubmitTransaction(payloadData: InputGenerateTransactionPayloadData, network: NetworkInfo | null, wallet: Wallet, transactionInput: InputTransactionData, dappConfig?: DappConfig): Promise<any>;
|
|
19
|
-
/**
|
|
20
|
-
Sign and submit an entry (not bcs serialized) transaction type to chain.
|
|
21
|
-
@param transaction a non-bcs serialized transaction
|
|
22
|
-
@param options max_gas_amount and gas_unit_limit
|
|
23
|
-
@return response from the wallet's signAndSubmitTransaction function
|
|
24
|
-
@throws WalletSignAndSubmitMessageError
|
|
25
|
-
*/
|
|
26
|
-
signAndSubmitTransaction(transaction: Types.TransactionPayload, wallet: Wallet, options?: TransactionOptions): Promise<any>;
|
|
27
|
-
/**
|
|
28
|
-
Sign and submit a bsc serialized transaction type to chain.
|
|
29
|
-
@param transaction a bcs serialized transaction
|
|
30
|
-
@param options max_gas_amount and gas_unit_limit
|
|
31
|
-
@return response from the wallet's signAndSubmitBCSTransaction function
|
|
32
|
-
@throws WalletSignAndSubmitMessageError
|
|
33
|
-
*/
|
|
34
|
-
signAndSubmitBCSTransaction(transaction: TxnBuilderTypes.TransactionPayload, wallet: Wallet, options?: TransactionOptions): Promise<any>;
|
|
35
|
-
/**
|
|
36
|
-
Sign transaction
|
|
37
|
-
@param transaction
|
|
38
|
-
@param options max_gas_amount and gas_unit_limit
|
|
39
|
-
@return response from the wallet's signTransaction function
|
|
40
|
-
@throws WalletSignTransactionError
|
|
41
|
-
*/
|
|
42
|
-
signTransaction(transaction: Types.TransactionPayload, wallet: Wallet, options?: TransactionOptions): Promise<Uint8Array | null>;
|
|
43
|
-
/**
|
|
44
|
-
* Signs a message and verifies the signer
|
|
45
|
-
* @param message SignMessagePayload
|
|
46
|
-
* @returns boolean
|
|
47
|
-
*/
|
|
48
|
-
signMessageAndVerify(message: SignMessagePayload, wallet: Wallet, account: AccountInfo): Promise<boolean>;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=WalletCoreV1.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WalletCoreV1.d.ts","sourceRoot":"","sources":["../../src/LegacyWalletPlugins/WalletCoreV1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,EAEL,mCAAmC,EAEpC,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAWjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,YAAa,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IACxD,OAAO,CAAC,MAAM,EAAE,MAAM;IAK5B;;;;;;;;;OASG;IACG,+BAA+B,CACnC,WAAW,EAAE,mCAAmC,EAChD,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,CAAC,EAAE,UAAU;IAuCzB;;;;;;MAME;IACI,wBAAwB,CAC5B,WAAW,EAAE,KAAK,CAAC,kBAAkB,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAcf;;;;;;OAMG;IACG,2BAA2B,CAC/B,WAAW,EAAE,eAAe,CAAC,kBAAkB,EAC/C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAmBf;;;;;;OAMG;IACG,eAAe,CACnB,WAAW,EAAE,KAAK,CAAC,kBAAkB,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAc7B;;;;OAIG;IACG,oBAAoB,CACxB,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;CAuEpB"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Network, TransactionPayload, InputGenerateTransactionPayloadData, AptosConfig, InputEntryFunctionData, TransactionPayloadEntryFunction } from "@aptos-labs/ts-sdk";
|
|
2
|
-
import { NetworkInfo as StandardNetworkInfo } from "@aptos-labs/wallet-standard";
|
|
3
|
-
import { TxnBuilderTypes, Types } from "aptos";
|
|
4
|
-
import { NetworkInfo } from "./types";
|
|
5
|
-
export declare function convertNetwork(networkInfo: NetworkInfo | StandardNetworkInfo | null): Network;
|
|
6
|
-
export declare function convertV2TransactionPayloadToV1BCSPayload(payload: TransactionPayload): TxnBuilderTypes.TransactionPayload;
|
|
7
|
-
export declare function convertV2PayloadToV1JSONPayload(payload: InputGenerateTransactionPayloadData): Types.TransactionPayload;
|
|
8
|
-
export declare function convertPayloadInputV1ToV2(inputV1: Types.TransactionPayload): InputEntryFunctionData;
|
|
9
|
-
export declare function generateTransactionPayloadFromV1Input(aptosConfig: AptosConfig, inputV1: Types.TransactionPayload): Promise<TransactionPayloadEntryFunction>;
|
|
10
|
-
export interface CompatibleTransactionOptions {
|
|
11
|
-
expireTimestamp?: number;
|
|
12
|
-
expirationSecondsFromNow?: number;
|
|
13
|
-
expirationTimestamp?: number;
|
|
14
|
-
gasUnitPrice?: number;
|
|
15
|
-
gas_unit_price?: number;
|
|
16
|
-
maxGasAmount?: number;
|
|
17
|
-
max_gas_amount?: number;
|
|
18
|
-
sender?: string;
|
|
19
|
-
sequenceNumber?: number;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=conversion.d.ts.map
|