@haneullabs/walletconnect-wallet 1.0.4 → 1.1.30
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 +106 -0
- package/dist/index.mjs +1 -2
- package/dist/wallet/index.d.mts +10 -20
- package/dist/wallet/index.d.mts.map +1 -1
- package/dist/wallet/index.mjs +7 -7
- package/dist/wallet/index.mjs.map +1 -1
- package/package.json +12 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,111 @@
|
|
|
1
1
|
# @mysten/walletconnect-wallet
|
|
2
2
|
|
|
3
|
+
## 1.1.30
|
|
4
|
+
|
|
5
|
+
## 1.1.29
|
|
6
|
+
|
|
7
|
+
## 1.1.28
|
|
8
|
+
|
|
9
|
+
## 1.1.27
|
|
10
|
+
|
|
11
|
+
## 1.1.26
|
|
12
|
+
|
|
13
|
+
## 1.1.25
|
|
14
|
+
|
|
15
|
+
## 1.1.24
|
|
16
|
+
|
|
17
|
+
## 1.1.23
|
|
18
|
+
|
|
19
|
+
## 1.1.22
|
|
20
|
+
|
|
21
|
+
## 1.1.21
|
|
22
|
+
|
|
23
|
+
## 1.1.20
|
|
24
|
+
|
|
25
|
+
## 1.1.19
|
|
26
|
+
|
|
27
|
+
## 1.1.18
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- f2f7048: Upgrade workspace dependencies, remove the legacy dapp-kit package, and migrate the
|
|
32
|
+
remaining consumers to the current gRPC-based dapp-kit. Remove the legacy API reference while
|
|
33
|
+
retaining the migration guide and deprecation notice.
|
|
34
|
+
|
|
35
|
+
## 1.1.17
|
|
36
|
+
|
|
37
|
+
## 1.1.16
|
|
38
|
+
|
|
39
|
+
## 1.1.15
|
|
40
|
+
|
|
41
|
+
## 1.1.14
|
|
42
|
+
|
|
43
|
+
## 1.1.13
|
|
44
|
+
|
|
45
|
+
## 1.1.12
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- 8c4b149: Update dependencies to versions that resolve security advisories: hono,
|
|
50
|
+
@hono/node-server, next, postcss, and valibot
|
|
51
|
+
|
|
52
|
+
## 1.1.11
|
|
53
|
+
|
|
54
|
+
## 1.1.10
|
|
55
|
+
|
|
56
|
+
## 1.1.9
|
|
57
|
+
|
|
58
|
+
## 1.1.8
|
|
59
|
+
|
|
60
|
+
## 1.1.7
|
|
61
|
+
|
|
62
|
+
## 1.1.6
|
|
63
|
+
|
|
64
|
+
## 1.1.5
|
|
65
|
+
|
|
66
|
+
## 1.1.4
|
|
67
|
+
|
|
68
|
+
## 1.1.3
|
|
69
|
+
|
|
70
|
+
## 1.1.2
|
|
71
|
+
|
|
72
|
+
## 1.1.1
|
|
73
|
+
|
|
74
|
+
## 1.1.0
|
|
75
|
+
|
|
76
|
+
### Minor Changes
|
|
77
|
+
|
|
78
|
+
- bbf63cb: Updated dependencies
|
|
79
|
+
|
|
80
|
+
### Patch Changes
|
|
81
|
+
|
|
82
|
+
- Updated dependencies [bbf63cb]
|
|
83
|
+
- @mysten/utils@0.4.0
|
|
84
|
+
- @mysten/wallet-standard@0.21.0
|
|
85
|
+
|
|
86
|
+
## 1.0.4
|
|
87
|
+
|
|
88
|
+
### Patch Changes
|
|
89
|
+
|
|
90
|
+
- f7de3e5: Restore docs in published tarballs.
|
|
91
|
+
- Updated dependencies [f7de3e5]
|
|
92
|
+
- @mysten/sui@2.16.2
|
|
93
|
+
- @mysten/utils@0.3.3
|
|
94
|
+
- @mysten/wallet-standard@0.20.3
|
|
95
|
+
|
|
96
|
+
## 1.0.3
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- 9e067cf: Validate the new per-package release flow end-to-end across every public @mysten package.
|
|
101
|
+
No functional changes — empty patch bump to force the orchestrator to dispatch every
|
|
102
|
+
release-<pkg>.yml workflow with `dry_run=false` so each package publishes via OIDC trusted
|
|
103
|
+
publishing.
|
|
104
|
+
- Updated dependencies [9e067cf]
|
|
105
|
+
- @mysten/sui@2.16.1
|
|
106
|
+
- @mysten/utils@0.3.2
|
|
107
|
+
- @mysten/wallet-standard@0.20.2
|
|
108
|
+
|
|
3
109
|
## 1.0.2
|
|
4
110
|
|
|
5
111
|
### Patch Changes
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import { WALLETCONNECT_WALLET_NAME, WalletConnectWallet, registerWalletConnectWallet } from "./wallet/index.mjs";
|
|
2
|
-
|
|
3
|
-
export { WALLETCONNECT_WALLET_NAME, WalletConnectWallet, registerWalletConnectWallet };
|
|
2
|
+
export { WALLETCONNECT_WALLET_NAME, WalletConnectWallet, registerWalletConnectWallet };
|
package/dist/wallet/index.d.mts
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
import { HaneulSignAndExecuteTransactionFeature, HaneulSignPersonalMessageFeature, HaneulSignTransactionFeature, ReadonlyWalletAccount, StandardConnectFeature, StandardDisconnectFeature, StandardEventsFeature, Wallet } from "@haneullabs/wallet-standard";
|
|
2
|
-
import * as valibot0 from "valibot";
|
|
3
2
|
import { InferOutput } from "valibot";
|
|
4
3
|
import { ClientWithCoreApi } from "@haneullabs/haneul/client";
|
|
5
|
-
|
|
6
4
|
//#region src/wallet/index.d.ts
|
|
7
5
|
type SupportedNetwork = 'mainnet' | 'testnet' | 'devnet' | 'localnet';
|
|
8
6
|
type GetClient = (network: SupportedNetwork) => ClientWithCoreApi;
|
|
9
7
|
type WalletMetadata = InferOutput<typeof WalletMetadataSchema>;
|
|
10
|
-
declare const WALLETCONNECT_WALLET_NAME:
|
|
11
|
-
declare const WalletMetadataSchema:
|
|
12
|
-
readonly id:
|
|
13
|
-
readonly walletName:
|
|
14
|
-
readonly icon:
|
|
15
|
-
readonly enabled:
|
|
8
|
+
declare const WALLETCONNECT_WALLET_NAME: 'WalletConnect';
|
|
9
|
+
declare const WalletMetadataSchema: import("valibot").ObjectSchema<{
|
|
10
|
+
readonly id: import("valibot").StringSchema<"Wallet ID is required">;
|
|
11
|
+
readonly walletName: import("valibot").StringSchema<"Wallet name is required">;
|
|
12
|
+
readonly icon: import("valibot").StringSchema<"Icon must be a valid wallet icon format">;
|
|
13
|
+
readonly enabled: import("valibot").BooleanSchema<"Enabled is required">;
|
|
16
14
|
}, undefined>;
|
|
17
15
|
declare class WalletConnectWallet implements Wallet {
|
|
18
16
|
#private;
|
|
19
17
|
get name(): string;
|
|
20
18
|
get id(): string;
|
|
21
|
-
get icon(): `data:image/
|
|
22
|
-
get version():
|
|
19
|
+
get icon(): `data:image/gif;base64,${string}` | `data:image/png;base64,${string}` | `data:image/svg+xml;base64,${string}` | `data:image/webp;base64,${string}`;
|
|
20
|
+
get version(): '1.0.0';
|
|
23
21
|
get chains(): readonly ["haneul:devnet", "haneul:testnet", "haneul:localnet", "haneul:mainnet"];
|
|
24
22
|
get accounts(): ReadonlyWalletAccount[];
|
|
25
23
|
get features(): StandardConnectFeature & StandardDisconnectFeature & StandardEventsFeature & HaneulSignTransactionFeature & HaneulSignPersonalMessageFeature & HaneulSignAndExecuteTransactionFeature;
|
|
26
|
-
constructor({
|
|
27
|
-
metadata,
|
|
28
|
-
projectId,
|
|
29
|
-
getClient
|
|
30
|
-
}: {
|
|
24
|
+
constructor({ metadata, projectId, getClient }: {
|
|
31
25
|
metadata: WalletMetadata;
|
|
32
26
|
projectId: string;
|
|
33
27
|
getClient: GetClient;
|
|
@@ -40,11 +34,7 @@ type RegisterWalletConnectWallet = {
|
|
|
40
34
|
getClient: GetClient;
|
|
41
35
|
metadata?: WalletMetadata;
|
|
42
36
|
};
|
|
43
|
-
declare function registerWalletConnectWallet({
|
|
44
|
-
projectId,
|
|
45
|
-
getClient,
|
|
46
|
-
metadata
|
|
47
|
-
}: RegisterWalletConnectWallet): {
|
|
37
|
+
declare function registerWalletConnectWallet({ projectId, getClient, metadata }: RegisterWalletConnectWallet): {
|
|
48
38
|
wallet: WalletConnectWallet;
|
|
49
39
|
unregister: () => void;
|
|
50
40
|
} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/wallet/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/wallet/index.ts"],"mappings":";;;;KA8CK;KAEO,aAAa,SAAS,qBAAqB;KAClD,iBAAiB,mBAAmB;cAK5B;cAmBP,wCAAoB;;;;;;cAsBb,+BAA+B;;MAUvC;MAIA;MAIA;MAIA;MAIA;MAIA,YAAQ;MAIR,YAAY,yBACf,4BACA,wBACA,+BACA,mCACA;EA6BD,cACC,UACA,WACA;IAEA,UAAU;IACV;IACA,WAAW;;EAYN,QAAI;EA2KV,eAAe,UAAU;;KAKrB;EACJ;EACA,WAAW;EACX,WAAW;;iBAGI,8BACf,WACA,WACA,YACE;;EAGqB"}
|
package/dist/wallet/index.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { mitt } from "@haneullabs/utils";
|
|
|
4
4
|
import { boolean, object, string } from "valibot";
|
|
5
5
|
import { UniversalConnector } from "@reown/appkit-universal-connector";
|
|
6
6
|
import { Transaction } from "@haneullabs/haneul/transactions";
|
|
7
|
-
|
|
8
7
|
//#region src/wallet/index.ts
|
|
9
8
|
const icon = "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0ibTAgMGg0MDB2NDAwaC00MDB6Ii8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxjaXJjbGUgY3g9IjIwMCIgY3k9IjIwMCIgZmlsbD0iIzE0MTQxNCIgcj0iMTk5LjUiIHN0cm9rZT0iIzNiNDA0MCIvPjxwYXRoIGQ9Im0xMjIuNTE5IDE0OC45NjVjNDIuNzkxLTQxLjcyOSAxMTIuMTcxLTQxLjcyOSAxNTQuOTYyIDBsNS4xNSA1LjAyMmMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtMTcuNjE3IDE3LjE4Yy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTcuMDg3LTYuOTExYy0yOS44NTMtMjkuMTExLTc4LjI1My0yOS4xMTEtMTA4LjEwNiAwbC03LjU5IDcuNDAxYy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTE3LjYxNy0xNy4xOGMtMi4xNC0yLjA4Ni0yLjE0LTUuNDY5IDAtNy41NTV6bTE5MS4zOTcgMzUuNTI5IDE1LjY3OSAxNS4yOWMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtNzAuNyA2OC45NDRjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTUwLjE3OC00OC45MzFjLS41MzUtLjUyMi0xLjQwMi0uNTIyLTEuOTM3IDBsLTUwLjE3OCA0OC45MzFjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTcwLjcwMTUtNjguOTQ1Yy0yLjEzOTYtMi4wODYtMi4xMzk2LTUuNDY5IDAtNy41NTVsMTUuNjc5NS0xNS4yOWMyLjEzOTYtMi4wODcgNS42MDg1LTIuMDg3IDcuNzQ4MSAwbDUwLjE3ODkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3Ny00OC45MzJjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMGw1MC4xNzkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3OS00OC45MzFjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMHoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+";
|
|
10
9
|
const WALLETCONNECT_WALLET_NAME = "WalletConnect";
|
|
@@ -199,10 +198,10 @@ var WalletConnectWallet = class {
|
|
|
199
198
|
};
|
|
200
199
|
#connect = async (input) => {
|
|
201
200
|
if (input?.silent) {
|
|
202
|
-
const accounts
|
|
203
|
-
if (accounts
|
|
204
|
-
this.#setAccounts(accounts
|
|
205
|
-
return { accounts
|
|
201
|
+
const accounts = await this.#getPreviouslyAuthorizedAccounts();
|
|
202
|
+
if (accounts.length > 0) {
|
|
203
|
+
this.#setAccounts(accounts);
|
|
204
|
+
return { accounts };
|
|
206
205
|
}
|
|
207
206
|
}
|
|
208
207
|
if (!this.#connector?.provider?.session?.namespaces?.haneul) await this.#connector?.connect();
|
|
@@ -213,7 +212,8 @@ var WalletConnectWallet = class {
|
|
|
213
212
|
#getPreviouslyAuthorizedAccounts = async () => {
|
|
214
213
|
const session = this.#connector?.provider?.session;
|
|
215
214
|
if (!session?.namespaces?.haneul) return [];
|
|
216
|
-
|
|
215
|
+
const accounts = JSON.parse(session.sessionProperties?.["haneul_getAccounts"] ?? "[]");
|
|
216
|
+
return toStandardAccounts(accounts, HANEUL_CHAINS);
|
|
217
217
|
};
|
|
218
218
|
#disconnect = async () => {
|
|
219
219
|
this.#connector?.disconnect();
|
|
@@ -253,7 +253,7 @@ function registerWalletConnectWallet({ projectId, getClient, metadata }) {
|
|
|
253
253
|
unregister
|
|
254
254
|
};
|
|
255
255
|
}
|
|
256
|
-
|
|
257
256
|
//#endregion
|
|
258
257
|
export { WALLETCONNECT_WALLET_NAME, WalletConnectWallet, registerWalletConnectWallet };
|
|
258
|
+
|
|
259
259
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["#walletName","#id","#icon","#accounts","#connect","#disconnect","#on","#signTransaction","#signPersonalMessage","#signAndExecuteTransaction","#events","#projectId","#getClient","#connector","#getPreviouslyAuthorizedAccounts","accounts","#setAccounts","#getAccounts"],"sources":["../../src/wallet/index.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@haneullabs/haneul/utils';\nimport type {\n\tIdentifierArray,\n\tStandardConnectFeature,\n\tStandardConnectMethod,\n\tStandardDisconnectFeature,\n\tStandardDisconnectMethod,\n\tStandardEventsFeature,\n\tStandardEventsListeners,\n\tStandardEventsOnMethod,\n\tHaneulSignAndExecuteTransactionFeature,\n\tHaneulSignAndExecuteTransactionMethod,\n\tHaneulSignPersonalMessageFeature,\n\tHaneulSignPersonalMessageMethod,\n\tHaneulSignTransactionFeature,\n\tHaneulSignTransactionMethod,\n\tWallet,\n\tWalletIcon,\n} from '@haneullabs/wallet-standard';\nimport {\n\tgetWallets,\n\tReadonlyWalletAccount,\n\tStandardConnect,\n\tStandardDisconnect,\n\tStandardEvents,\n\tHANEUL_CHAINS,\n\tHaneulSignAndExecuteTransaction,\n\tHaneulSignPersonalMessage,\n\tHaneulSignTransaction,\n} from '@haneullabs/wallet-standard';\nimport { mitt, type Emitter } from '@haneullabs/utils';\nimport type { InferOutput } from 'valibot';\nimport { boolean, object, string } from 'valibot';\nimport type { CustomCaipNetwork } from '@reown/appkit-universal-connector';\nimport { UniversalConnector } from '@reown/appkit-universal-connector';\nimport type { ClientWithCoreApi } from '@haneullabs/haneul/client';\nimport { Transaction } from '@haneullabs/haneul/transactions';\n\n// -- Types --\ntype WalletEventsMap = {\n\t[E in keyof StandardEventsListeners]: Parameters<StandardEventsListeners[E]>[0];\n};\n\ntype SupportedNetwork = 'mainnet' | 'testnet' | 'devnet' | 'localnet';\n\nexport type GetClient = (network: SupportedNetwork) => ClientWithCoreApi;\ntype WalletMetadata = InferOutput<typeof WalletMetadataSchema>;\n\n// -- Constants --\nconst icon =\n\t'data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0ibTAgMGg0MDB2NDAwaC00MDB6Ii8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxjaXJjbGUgY3g9IjIwMCIgY3k9IjIwMCIgZmlsbD0iIzE0MTQxNCIgcj0iMTk5LjUiIHN0cm9rZT0iIzNiNDA0MCIvPjxwYXRoIGQ9Im0xMjIuNTE5IDE0OC45NjVjNDIuNzkxLTQxLjcyOSAxMTIuMTcxLTQxLjcyOSAxNTQuOTYyIDBsNS4xNSA1LjAyMmMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtMTcuNjE3IDE3LjE4Yy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTcuMDg3LTYuOTExYy0yOS44NTMtMjkuMTExLTc4LjI1My0yOS4xMTEtMTA4LjEwNiAwbC03LjU5IDcuNDAxYy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTE3LjYxNy0xNy4xOGMtMi4xNC0yLjA4Ni0yLjE0LTUuNDY5IDAtNy41NTV6bTE5MS4zOTcgMzUuNTI5IDE1LjY3OSAxNS4yOWMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtNzAuNyA2OC45NDRjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTUwLjE3OC00OC45MzFjLS41MzUtLjUyMi0xLjQwMi0uNTIyLTEuOTM3IDBsLTUwLjE3OCA0OC45MzFjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTcwLjcwMTUtNjguOTQ1Yy0yLjEzOTYtMi4wODYtMi4xMzk2LTUuNDY5IDAtNy41NTVsMTUuNjc5NS0xNS4yOWMyLjEzOTYtMi4wODcgNS42MDg1LTIuMDg3IDcuNzQ4MSAwbDUwLjE3ODkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3Ny00OC45MzJjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMGw1MC4xNzkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3OS00OC45MzFjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMHoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+';\nexport const WALLETCONNECT_WALLET_NAME = 'WalletConnect' as const;\nconst walletAccountFeatures = [\n\t'haneul:signTransaction',\n\t'haneul:signAndExecuteTransaction',\n\t'haneul:signPersonalMessage',\n] as const;\n\nconst HaneulCaipNetworks = HANEUL_CHAINS.map((chain) => {\n\tconst [_, chainId] = chain.split(':');\n\treturn {\n\t\tid: chainId,\n\t\tchainNamespace: 'haneul',\n\t\tcaipNetworkId: `haneul:${chainId}`,\n\t\tname: `Haneul ${chainId}`,\n\t\tnativeCurrency: { name: 'HANEUL', symbol: 'HANEUL', decimals: 9 },\n\t\trpcUrls: { default: { http: [`https://haneul-${chainId}.gateway.tatum.io`] } },\n\t} as unknown as CustomCaipNetwork;\n});\n\nconst WalletMetadataSchema = object({\n\tid: string('Wallet ID is required'),\n\twalletName: string('Wallet name is required'),\n\ticon: string('Icon must be a valid wallet icon format'),\n\tenabled: boolean('Enabled is required'),\n});\n\nconst toStandardAccounts = (\n\taccounts: { address: string; pubkey: string }[],\n\tchains: IdentifierArray,\n) => {\n\treturn accounts.map((account) => {\n\t\treturn new ReadonlyWalletAccount({\n\t\t\taddress: account.address,\n\t\t\tchains,\n\t\t\tfeatures: walletAccountFeatures,\n\t\t\tpublicKey: fromBase64(account.pubkey),\n\t\t});\n\t});\n};\n\n// -- Wallet --\nexport class WalletConnectWallet implements Wallet {\n\t#id: string;\n\t#events: Emitter<WalletEventsMap>;\n\t#accounts: ReadonlyWalletAccount[];\n\t#walletName: string;\n\t#icon: WalletIcon;\n\t#connector?: UniversalConnector;\n\t#projectId: string;\n\t#getClient: GetClient;\n\n\tget name() {\n\t\treturn this.#walletName;\n\t}\n\n\tget id() {\n\t\treturn this.#id;\n\t}\n\n\tget icon() {\n\t\treturn this.#icon;\n\t}\n\n\tget version() {\n\t\treturn '1.0.0' as const;\n\t}\n\n\tget chains() {\n\t\treturn HANEUL_CHAINS;\n\t}\n\n\tget accounts() {\n\t\treturn this.#accounts;\n\t}\n\n\tget features(): StandardConnectFeature &\n\t\tStandardDisconnectFeature &\n\t\tStandardEventsFeature &\n\t\tHaneulSignTransactionFeature &\n\t\tHaneulSignPersonalMessageFeature &\n\t\tHaneulSignAndExecuteTransactionFeature {\n\t\treturn {\n\t\t\t[StandardConnect]: {\n\t\t\t\tversion: '1.0.0',\n\t\t\t\tconnect: this.#connect,\n\t\t\t},\n\t\t\t[StandardDisconnect]: {\n\t\t\t\tversion: '1.0.0',\n\t\t\t\tdisconnect: this.#disconnect,\n\t\t\t},\n\t\t\t[StandardEvents]: {\n\t\t\t\tversion: '1.0.0',\n\t\t\t\ton: this.#on,\n\t\t\t},\n\t\t\t[HaneulSignTransaction]: {\n\t\t\t\tversion: '2.0.0',\n\t\t\t\tsignTransaction: this.#signTransaction,\n\t\t\t},\n\t\t\t[HaneulSignPersonalMessage]: {\n\t\t\t\tversion: '1.1.0',\n\t\t\t\tsignPersonalMessage: this.#signPersonalMessage,\n\t\t\t},\n\t\t\t[HaneulSignAndExecuteTransaction]: {\n\t\t\t\tversion: '2.0.0',\n\t\t\t\tsignAndExecuteTransaction: this.#signAndExecuteTransaction,\n\t\t\t},\n\t\t};\n\t}\n\n\tconstructor({\n\t\tmetadata,\n\t\tprojectId,\n\t\tgetClient,\n\t}: {\n\t\tmetadata: WalletMetadata;\n\t\tprojectId: string;\n\t\tgetClient: GetClient;\n\t}) {\n\t\tthis.#id = metadata.id;\n\t\tthis.#accounts = [];\n\t\tthis.#events = mitt();\n\t\tthis.#walletName = metadata.walletName;\n\t\tthis.#icon = icon;\n\t\tthis.#projectId = projectId;\n\t\tthis.#getClient = getClient;\n\t\tthis.init();\n\t}\n\n\tasync init() {\n\t\tthis.#connector = await UniversalConnector.init({\n\t\t\tprojectId: this.#projectId,\n\n\t\t\t// TODO: Use dapp metadata\n\t\t\tmetadata: {\n\t\t\t\tname: this.#walletName,\n\t\t\t\tdescription: 'WalletConnect',\n\t\t\t\turl: 'https://walletconnect.org',\n\t\t\t\ticons: [this.#icon],\n\t\t\t},\n\t\t\tnetworks: [\n\t\t\t\t{\n\t\t\t\t\tnamespace: 'haneul',\n\t\t\t\t\tmethods: [\n\t\t\t\t\t\t'haneul_signTransaction',\n\t\t\t\t\t\t'haneul_signPersonalMessage',\n\t\t\t\t\t\t'haneul_signAndExecuteTransaction',\n\t\t\t\t\t\t'haneul_getAccounts',\n\t\t\t\t\t],\n\t\t\t\t\tevents: ['chainChanged', 'accountsChanged'],\n\t\t\t\t\tchains: HaneulCaipNetworks,\n\t\t\t\t},\n\t\t\t],\n\t\t\tmodalConfig: {\n\t\t\t\tthemeVariables: {\n\t\t\t\t\t'--w3m-z-index': 2147483647,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tthis.#accounts = await this.#getPreviouslyAuthorizedAccounts();\n\t}\n\n\t#signTransaction: HaneulSignTransactionMethod = async ({ transaction, account, chain }) => {\n\t\tconst tx = await transaction.toJSON();\n\n\t\tconst response = (await this.#connector?.request(\n\t\t\t{\n\t\t\t\tmethod: 'haneul_signTransaction',\n\t\t\t\tparams: {\n\t\t\t\t\ttransaction: tx,\n\t\t\t\t\taddress: account.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchain,\n\t\t)) as { transactionBytes: string; signature: string };\n\n\t\treturn {\n\t\t\tbytes: response.transactionBytes,\n\t\t\tsignature: response.signature,\n\t\t};\n\t};\n\n\t#signAndExecuteTransaction: HaneulSignAndExecuteTransactionMethod = async ({\n\t\ttransaction,\n\t\taccount,\n\t\tchain,\n\t}) => {\n\t\tconst [, network] = chain.split(':');\n\t\tconst client = this.#getClient(network as SupportedNetwork);\n\t\tconst data = await transaction.toJSON();\n\t\tconst parsedTransaction = Transaction.from(data);\n\t\tconst bytes = await parsedTransaction.build({ client });\n\t\tconst response = (await this.#connector?.request(\n\t\t\t{\n\t\t\t\tmethod: 'haneul_signAndExecuteTransaction',\n\t\t\t\tparams: {\n\t\t\t\t\ttransaction: data,\n\t\t\t\t\taddress: account.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchain,\n\t\t)) as { digest: string };\n\n\t\tconst tx = await client.core.waitForTransaction({\n\t\t\tdigest: response.digest,\n\t\t\tinclude: { effects: true },\n\t\t});\n\n\t\tconst result = tx.Transaction ?? tx.FailedTransaction;\n\n\t\treturn {\n\t\t\tdigest: response.digest,\n\t\t\tsignature: result.signatures[0] ?? '',\n\t\t\tbytes: toBase64(bytes),\n\t\t\teffects: result.effects?.bcs ? toBase64(result.effects.bcs) : '',\n\t\t};\n\t};\n\n\t#signPersonalMessage: HaneulSignPersonalMessageMethod = async ({ message, account, chain }) => {\n\t\tconst messageString = new TextDecoder().decode(message);\n\t\tconst response = (await this.#connector?.request(\n\t\t\t{\n\t\t\t\tmethod: 'haneul_signPersonalMessage',\n\t\t\t\tparams: {\n\t\t\t\t\tmessage: messageString,\n\t\t\t\t\taddress: account.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchain ?? 'haneul:mainnet',\n\t\t)) as { signature: string };\n\n\t\treturn {\n\t\t\tsignature: response.signature,\n\t\t\tbytes: toBase64(message),\n\t\t};\n\t};\n\n\t#on: StandardEventsOnMethod = (event, listener) => {\n\t\tthis.#events.on(event, listener);\n\t\treturn () => this.#events.off(event, listener);\n\t};\n\n\t#setAccounts(accounts: ReadonlyWalletAccount[]) {\n\t\tthis.#accounts = accounts;\n\t\tthis.#events.emit('change', { accounts: this.accounts });\n\t}\n\n\t#getAccounts = async () => {\n\t\tlet accounts: { address: string; pubkey: string }[] | undefined = JSON.parse(\n\t\t\tthis.#connector?.provider?.session?.sessionProperties?.['haneul_getAccounts'] ?? '[]',\n\t\t);\n\n\t\tif (!accounts?.length) {\n\t\t\taccounts = (await this.#connector?.request({ method: 'haneul_getAccounts' }, 'haneul:mainnet')) as {\n\t\t\t\taddress: string;\n\t\t\t\tpubkey: string;\n\t\t\t}[];\n\t\t}\n\n\t\treturn toStandardAccounts(accounts, this.chains);\n\t};\n\n\t#connect: StandardConnectMethod = async (input) => {\n\t\tif (input?.silent) {\n\t\t\tconst accounts = await this.#getPreviouslyAuthorizedAccounts();\n\t\t\tif (accounts.length > 0) {\n\t\t\t\tthis.#setAccounts(accounts);\n\t\t\t\treturn { accounts };\n\t\t\t}\n\t\t}\n\n\t\tif (!this.#connector?.provider?.session?.namespaces?.haneul) {\n\t\t\tawait this.#connector?.connect();\n\t\t}\n\n\t\tconst accounts = await this.#getAccounts();\n\t\tthis.#setAccounts(accounts);\n\n\t\treturn { accounts: this.accounts };\n\t};\n\n\t#getPreviouslyAuthorizedAccounts = async () => {\n\t\tconst session = this.#connector?.provider?.session;\n\t\tif (!session?.namespaces?.haneul) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst accounts = JSON.parse(session.sessionProperties?.['haneul_getAccounts'] ?? '[]') as {\n\t\t\taddress: string;\n\t\t\tpubkey: string;\n\t\t}[];\n\n\t\treturn toStandardAccounts(accounts, HANEUL_CHAINS);\n\t};\n\n\t#disconnect: StandardDisconnectMethod = async () => {\n\t\tthis.#connector?.disconnect();\n\t\tthis.#setAccounts([]);\n\t};\n\n\tupdateMetadata(metadata: WalletMetadata) {\n\t\tthis.#id = metadata.id;\n\t\tthis.#walletName = metadata.walletName;\n\t}\n}\ntype RegisterWalletConnectWallet = {\n\tprojectId: string;\n\tgetClient: GetClient;\n\tmetadata?: WalletMetadata;\n};\n\nexport function registerWalletConnectWallet({\n\tprojectId,\n\tgetClient,\n\tmetadata,\n}: RegisterWalletConnectWallet) {\n\tconst wallets = getWallets();\n\n\tlet unregister: (() => void) | null = null;\n\n\t// listen for wallet registration\n\twallets.on('register', (wallet: Wallet) => {\n\t\tif (wallet.id === 'walletconnect') {\n\t\t\tunregister?.();\n\t\t}\n\t});\n\n\tconst extension = wallets.get().find((wallet: Wallet) => wallet.id === 'walletconnect');\n\tif (extension) {\n\t\treturn;\n\t}\n\n\tconst fullMetadata = {\n\t\tid: 'walletconnect',\n\t\twalletName: 'Wallet Connect',\n\t\ticon,\n\t\tenabled: true,\n\t\t...metadata,\n\t};\n\n\tconst walletConnectWalletInstance = new WalletConnectWallet({\n\t\tmetadata: fullMetadata,\n\t\tprojectId,\n\t\tgetClient,\n\t});\n\tunregister = wallets.register(walletConnectWalletInstance);\n\n\twalletConnectWalletInstance.updateMetadata({\n\t\t...fullMetadata,\n\t\tenabled: true,\n\t});\n\n\treturn {\n\t\twallet: walletConnectWalletInstance,\n\t\tunregister,\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["#walletName","#id","#icon","#accounts","#connect","#disconnect","#on","#signTransaction","#signPersonalMessage","#signAndExecuteTransaction","#events","#projectId","#getClient","#connector","#getPreviouslyAuthorizedAccounts","#setAccounts","#getAccounts"],"sources":["../../src/wallet/index.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@haneullabs/haneul/utils';\nimport type {\n\tIdentifierArray,\n\tStandardConnectFeature,\n\tStandardConnectMethod,\n\tStandardDisconnectFeature,\n\tStandardDisconnectMethod,\n\tStandardEventsFeature,\n\tStandardEventsListeners,\n\tStandardEventsOnMethod,\n\tHaneulSignAndExecuteTransactionFeature,\n\tHaneulSignAndExecuteTransactionMethod,\n\tHaneulSignPersonalMessageFeature,\n\tHaneulSignPersonalMessageMethod,\n\tHaneulSignTransactionFeature,\n\tHaneulSignTransactionMethod,\n\tWallet,\n\tWalletIcon,\n} from '@haneullabs/wallet-standard';\nimport {\n\tgetWallets,\n\tReadonlyWalletAccount,\n\tStandardConnect,\n\tStandardDisconnect,\n\tStandardEvents,\n\tHANEUL_CHAINS,\n\tHaneulSignAndExecuteTransaction,\n\tHaneulSignPersonalMessage,\n\tHaneulSignTransaction,\n} from '@haneullabs/wallet-standard';\nimport { mitt, type Emitter } from '@haneullabs/utils';\nimport type { InferOutput } from 'valibot';\nimport { boolean, object, string } from 'valibot';\nimport type { CustomCaipNetwork } from '@reown/appkit-universal-connector';\nimport { UniversalConnector } from '@reown/appkit-universal-connector';\nimport type { ClientWithCoreApi } from '@haneullabs/haneul/client';\nimport { Transaction } from '@haneullabs/haneul/transactions';\n\n// -- Types --\ntype WalletEventsMap = {\n\t[E in keyof StandardEventsListeners]: Parameters<StandardEventsListeners[E]>[0];\n};\n\ntype SupportedNetwork = 'mainnet' | 'testnet' | 'devnet' | 'localnet';\n\nexport type GetClient = (network: SupportedNetwork) => ClientWithCoreApi;\ntype WalletMetadata = InferOutput<typeof WalletMetadataSchema>;\n\n// -- Constants --\nconst icon =\n\t'data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0ibTAgMGg0MDB2NDAwaC00MDB6Ii8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxjaXJjbGUgY3g9IjIwMCIgY3k9IjIwMCIgZmlsbD0iIzE0MTQxNCIgcj0iMTk5LjUiIHN0cm9rZT0iIzNiNDA0MCIvPjxwYXRoIGQ9Im0xMjIuNTE5IDE0OC45NjVjNDIuNzkxLTQxLjcyOSAxMTIuMTcxLTQxLjcyOSAxNTQuOTYyIDBsNS4xNSA1LjAyMmMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtMTcuNjE3IDE3LjE4Yy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTcuMDg3LTYuOTExYy0yOS44NTMtMjkuMTExLTc4LjI1My0yOS4xMTEtMTA4LjEwNiAwbC03LjU5IDcuNDAxYy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTE3LjYxNy0xNy4xOGMtMi4xNC0yLjA4Ni0yLjE0LTUuNDY5IDAtNy41NTV6bTE5MS4zOTcgMzUuNTI5IDE1LjY3OSAxNS4yOWMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtNzAuNyA2OC45NDRjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTUwLjE3OC00OC45MzFjLS41MzUtLjUyMi0xLjQwMi0uNTIyLTEuOTM3IDBsLTUwLjE3OCA0OC45MzFjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTcwLjcwMTUtNjguOTQ1Yy0yLjEzOTYtMi4wODYtMi4xMzk2LTUuNDY5IDAtNy41NTVsMTUuNjc5NS0xNS4yOWMyLjEzOTYtMi4wODcgNS42MDg1LTIuMDg3IDcuNzQ4MSAwbDUwLjE3ODkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3Ny00OC45MzJjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMGw1MC4xNzkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3OS00OC45MzFjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMHoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+';\nexport const WALLETCONNECT_WALLET_NAME = 'WalletConnect' as const;\nconst walletAccountFeatures = [\n\t'haneul:signTransaction',\n\t'haneul:signAndExecuteTransaction',\n\t'haneul:signPersonalMessage',\n] as const;\n\nconst HaneulCaipNetworks = HANEUL_CHAINS.map((chain) => {\n\tconst [_, chainId] = chain.split(':');\n\treturn {\n\t\tid: chainId,\n\t\tchainNamespace: 'haneul',\n\t\tcaipNetworkId: `haneul:${chainId}`,\n\t\tname: `Haneul ${chainId}`,\n\t\tnativeCurrency: { name: 'HANEUL', symbol: 'HANEUL', decimals: 9 },\n\t\trpcUrls: { default: { http: [`https://haneul-${chainId}.gateway.tatum.io`] } },\n\t} as unknown as CustomCaipNetwork;\n});\n\nconst WalletMetadataSchema = object({\n\tid: string('Wallet ID is required'),\n\twalletName: string('Wallet name is required'),\n\ticon: string('Icon must be a valid wallet icon format'),\n\tenabled: boolean('Enabled is required'),\n});\n\nconst toStandardAccounts = (\n\taccounts: { address: string; pubkey: string }[],\n\tchains: IdentifierArray,\n) => {\n\treturn accounts.map((account) => {\n\t\treturn new ReadonlyWalletAccount({\n\t\t\taddress: account.address,\n\t\t\tchains,\n\t\t\tfeatures: walletAccountFeatures,\n\t\t\tpublicKey: fromBase64(account.pubkey),\n\t\t});\n\t});\n};\n\n// -- Wallet --\nexport class WalletConnectWallet implements Wallet {\n\t#id: string;\n\t#events: Emitter<WalletEventsMap>;\n\t#accounts: ReadonlyWalletAccount[];\n\t#walletName: string;\n\t#icon: WalletIcon;\n\t#connector?: UniversalConnector;\n\t#projectId: string;\n\t#getClient: GetClient;\n\n\tget name() {\n\t\treturn this.#walletName;\n\t}\n\n\tget id() {\n\t\treturn this.#id;\n\t}\n\n\tget icon() {\n\t\treturn this.#icon;\n\t}\n\n\tget version() {\n\t\treturn '1.0.0' as const;\n\t}\n\n\tget chains() {\n\t\treturn HANEUL_CHAINS;\n\t}\n\n\tget accounts() {\n\t\treturn this.#accounts;\n\t}\n\n\tget features(): StandardConnectFeature &\n\t\tStandardDisconnectFeature &\n\t\tStandardEventsFeature &\n\t\tHaneulSignTransactionFeature &\n\t\tHaneulSignPersonalMessageFeature &\n\t\tHaneulSignAndExecuteTransactionFeature {\n\t\treturn {\n\t\t\t[StandardConnect]: {\n\t\t\t\tversion: '1.0.0',\n\t\t\t\tconnect: this.#connect,\n\t\t\t},\n\t\t\t[StandardDisconnect]: {\n\t\t\t\tversion: '1.0.0',\n\t\t\t\tdisconnect: this.#disconnect,\n\t\t\t},\n\t\t\t[StandardEvents]: {\n\t\t\t\tversion: '1.0.0',\n\t\t\t\ton: this.#on,\n\t\t\t},\n\t\t\t[HaneulSignTransaction]: {\n\t\t\t\tversion: '2.0.0',\n\t\t\t\tsignTransaction: this.#signTransaction,\n\t\t\t},\n\t\t\t[HaneulSignPersonalMessage]: {\n\t\t\t\tversion: '1.1.0',\n\t\t\t\tsignPersonalMessage: this.#signPersonalMessage,\n\t\t\t},\n\t\t\t[HaneulSignAndExecuteTransaction]: {\n\t\t\t\tversion: '2.0.0',\n\t\t\t\tsignAndExecuteTransaction: this.#signAndExecuteTransaction,\n\t\t\t},\n\t\t};\n\t}\n\n\tconstructor({\n\t\tmetadata,\n\t\tprojectId,\n\t\tgetClient,\n\t}: {\n\t\tmetadata: WalletMetadata;\n\t\tprojectId: string;\n\t\tgetClient: GetClient;\n\t}) {\n\t\tthis.#id = metadata.id;\n\t\tthis.#accounts = [];\n\t\tthis.#events = mitt();\n\t\tthis.#walletName = metadata.walletName;\n\t\tthis.#icon = icon;\n\t\tthis.#projectId = projectId;\n\t\tthis.#getClient = getClient;\n\t\tthis.init();\n\t}\n\n\tasync init() {\n\t\tthis.#connector = await UniversalConnector.init({\n\t\t\tprojectId: this.#projectId,\n\n\t\t\t// TODO: Use dapp metadata\n\t\t\tmetadata: {\n\t\t\t\tname: this.#walletName,\n\t\t\t\tdescription: 'WalletConnect',\n\t\t\t\turl: 'https://walletconnect.org',\n\t\t\t\ticons: [this.#icon],\n\t\t\t},\n\t\t\tnetworks: [\n\t\t\t\t{\n\t\t\t\t\tnamespace: 'haneul',\n\t\t\t\t\tmethods: [\n\t\t\t\t\t\t'haneul_signTransaction',\n\t\t\t\t\t\t'haneul_signPersonalMessage',\n\t\t\t\t\t\t'haneul_signAndExecuteTransaction',\n\t\t\t\t\t\t'haneul_getAccounts',\n\t\t\t\t\t],\n\t\t\t\t\tevents: ['chainChanged', 'accountsChanged'],\n\t\t\t\t\tchains: HaneulCaipNetworks,\n\t\t\t\t},\n\t\t\t],\n\t\t\tmodalConfig: {\n\t\t\t\tthemeVariables: {\n\t\t\t\t\t'--w3m-z-index': 2147483647,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tthis.#accounts = await this.#getPreviouslyAuthorizedAccounts();\n\t}\n\n\t#signTransaction: HaneulSignTransactionMethod = async ({ transaction, account, chain }) => {\n\t\tconst tx = await transaction.toJSON();\n\n\t\tconst response = (await this.#connector?.request(\n\t\t\t{\n\t\t\t\tmethod: 'haneul_signTransaction',\n\t\t\t\tparams: {\n\t\t\t\t\ttransaction: tx,\n\t\t\t\t\taddress: account.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchain,\n\t\t)) as { transactionBytes: string; signature: string };\n\n\t\treturn {\n\t\t\tbytes: response.transactionBytes,\n\t\t\tsignature: response.signature,\n\t\t};\n\t};\n\n\t#signAndExecuteTransaction: HaneulSignAndExecuteTransactionMethod = async ({\n\t\ttransaction,\n\t\taccount,\n\t\tchain,\n\t}) => {\n\t\tconst [, network] = chain.split(':');\n\t\tconst client = this.#getClient(network as SupportedNetwork);\n\t\tconst data = await transaction.toJSON();\n\t\tconst parsedTransaction = Transaction.from(data);\n\t\tconst bytes = await parsedTransaction.build({ client });\n\t\tconst response = (await this.#connector?.request(\n\t\t\t{\n\t\t\t\tmethod: 'haneul_signAndExecuteTransaction',\n\t\t\t\tparams: {\n\t\t\t\t\ttransaction: data,\n\t\t\t\t\taddress: account.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchain,\n\t\t)) as { digest: string };\n\n\t\tconst tx = await client.core.waitForTransaction({\n\t\t\tdigest: response.digest,\n\t\t\tinclude: { effects: true },\n\t\t});\n\n\t\tconst result = tx.Transaction ?? tx.FailedTransaction;\n\n\t\treturn {\n\t\t\tdigest: response.digest,\n\t\t\tsignature: result.signatures[0] ?? '',\n\t\t\tbytes: toBase64(bytes),\n\t\t\teffects: result.effects?.bcs ? toBase64(result.effects.bcs) : '',\n\t\t};\n\t};\n\n\t#signPersonalMessage: HaneulSignPersonalMessageMethod = async ({ message, account, chain }) => {\n\t\tconst messageString = new TextDecoder().decode(message);\n\t\tconst response = (await this.#connector?.request(\n\t\t\t{\n\t\t\t\tmethod: 'haneul_signPersonalMessage',\n\t\t\t\tparams: {\n\t\t\t\t\tmessage: messageString,\n\t\t\t\t\taddress: account.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchain ?? 'haneul:mainnet',\n\t\t)) as { signature: string };\n\n\t\treturn {\n\t\t\tsignature: response.signature,\n\t\t\tbytes: toBase64(message),\n\t\t};\n\t};\n\n\t#on: StandardEventsOnMethod = (event, listener) => {\n\t\tthis.#events.on(event, listener);\n\t\treturn () => this.#events.off(event, listener);\n\t};\n\n\t#setAccounts(accounts: ReadonlyWalletAccount[]) {\n\t\tthis.#accounts = accounts;\n\t\tthis.#events.emit('change', { accounts: this.accounts });\n\t}\n\n\t#getAccounts = async () => {\n\t\tlet accounts: { address: string; pubkey: string }[] | undefined = JSON.parse(\n\t\t\tthis.#connector?.provider?.session?.sessionProperties?.['haneul_getAccounts'] ?? '[]',\n\t\t);\n\n\t\tif (!accounts?.length) {\n\t\t\taccounts = (await this.#connector?.request({ method: 'haneul_getAccounts' }, 'haneul:mainnet')) as {\n\t\t\t\taddress: string;\n\t\t\t\tpubkey: string;\n\t\t\t}[];\n\t\t}\n\n\t\treturn toStandardAccounts(accounts, this.chains);\n\t};\n\n\t#connect: StandardConnectMethod = async (input) => {\n\t\tif (input?.silent) {\n\t\t\tconst accounts = await this.#getPreviouslyAuthorizedAccounts();\n\t\t\tif (accounts.length > 0) {\n\t\t\t\tthis.#setAccounts(accounts);\n\t\t\t\treturn { accounts };\n\t\t\t}\n\t\t}\n\n\t\tif (!this.#connector?.provider?.session?.namespaces?.haneul) {\n\t\t\tawait this.#connector?.connect();\n\t\t}\n\n\t\tconst accounts = await this.#getAccounts();\n\t\tthis.#setAccounts(accounts);\n\n\t\treturn { accounts: this.accounts };\n\t};\n\n\t#getPreviouslyAuthorizedAccounts = async () => {\n\t\tconst session = this.#connector?.provider?.session;\n\t\tif (!session?.namespaces?.haneul) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst accounts = JSON.parse(session.sessionProperties?.['haneul_getAccounts'] ?? '[]') as {\n\t\t\taddress: string;\n\t\t\tpubkey: string;\n\t\t}[];\n\n\t\treturn toStandardAccounts(accounts, HANEUL_CHAINS);\n\t};\n\n\t#disconnect: StandardDisconnectMethod = async () => {\n\t\tthis.#connector?.disconnect();\n\t\tthis.#setAccounts([]);\n\t};\n\n\tupdateMetadata(metadata: WalletMetadata) {\n\t\tthis.#id = metadata.id;\n\t\tthis.#walletName = metadata.walletName;\n\t}\n}\ntype RegisterWalletConnectWallet = {\n\tprojectId: string;\n\tgetClient: GetClient;\n\tmetadata?: WalletMetadata;\n};\n\nexport function registerWalletConnectWallet({\n\tprojectId,\n\tgetClient,\n\tmetadata,\n}: RegisterWalletConnectWallet) {\n\tconst wallets = getWallets();\n\n\tlet unregister: (() => void) | null = null;\n\n\t// listen for wallet registration\n\twallets.on('register', (wallet: Wallet) => {\n\t\tif (wallet.id === 'walletconnect') {\n\t\t\tunregister?.();\n\t\t}\n\t});\n\n\tconst extension = wallets.get().find((wallet: Wallet) => wallet.id === 'walletconnect');\n\tif (extension) {\n\t\treturn;\n\t}\n\n\tconst fullMetadata = {\n\t\tid: 'walletconnect',\n\t\twalletName: 'Wallet Connect',\n\t\ticon,\n\t\tenabled: true,\n\t\t...metadata,\n\t};\n\n\tconst walletConnectWalletInstance = new WalletConnectWallet({\n\t\tmetadata: fullMetadata,\n\t\tprojectId,\n\t\tgetClient,\n\t});\n\tunregister = wallets.register(walletConnectWalletInstance);\n\n\twalletConnectWalletInstance.updateMetadata({\n\t\t...fullMetadata,\n\t\tenabled: true,\n\t});\n\n\treturn {\n\t\twallet: walletConnectWalletInstance,\n\t\tunregister,\n\t};\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haneullabs/walletconnect-wallet",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.30",
|
|
4
4
|
"description": "Wallet adapter for WalletConnect on Haneul",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Haneul Labs <build@haneul-labs.com>",
|
|
@@ -21,26 +21,25 @@
|
|
|
21
21
|
],
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
24
|
-
"url": "git+https://github.com/GeunhwaJeong/ts-sdks.git"
|
|
24
|
+
"url": "git+https://github.com/GeunhwaJeong/haneul-ts-sdks.git"
|
|
25
25
|
},
|
|
26
26
|
"bugs": {
|
|
27
|
-
"url": "https://github.com/GeunhwaJeong/ts-sdks/issues"
|
|
27
|
+
"url": "https://github.com/GeunhwaJeong/haneul-ts-sdks/issues"
|
|
28
28
|
},
|
|
29
|
-
"homepage": "https://github.com/GeunhwaJeong/ts-sdks/tree/main/packages/walletconnect-wallet#readme",
|
|
29
|
+
"homepage": "https://github.com/GeunhwaJeong/haneul-ts-sdks/tree/main/packages/walletconnect-wallet#readme",
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@types/node": "^
|
|
32
|
-
"typescript": "^
|
|
33
|
-
"vitest": "^4.
|
|
34
|
-
"@haneullabs/haneul": "^2.13.0"
|
|
31
|
+
"@types/node": "^26.2.0",
|
|
32
|
+
"typescript": "^7.0.2",
|
|
33
|
+
"vitest": "^4.1.11"
|
|
35
34
|
},
|
|
36
35
|
"dependencies": {
|
|
37
|
-
"@reown/appkit-universal-connector": "1.8.
|
|
38
|
-
"valibot": "^1.2
|
|
39
|
-
"@haneullabs/
|
|
40
|
-
"@haneullabs/
|
|
36
|
+
"@reown/appkit-universal-connector": "1.8.23",
|
|
37
|
+
"valibot": "^1.4.2",
|
|
38
|
+
"@haneullabs/wallet-standard": "^0.21.30",
|
|
39
|
+
"@haneullabs/utils": "^0.4.1"
|
|
41
40
|
},
|
|
42
41
|
"peerDependencies": {
|
|
43
|
-
"@haneullabs/haneul": "^2.
|
|
42
|
+
"@haneullabs/haneul": "^2.33.1"
|
|
44
43
|
},
|
|
45
44
|
"scripts": {
|
|
46
45
|
"clean": "rm -rf tsconfig.tsbuildinfo ./dist",
|