@haneullabs/walletconnect-wallet 0.1.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/CHANGELOG.md ADDED
@@ -0,0 +1,107 @@
1
+ # @haneullabs/walletconnect-wallet
2
+
3
+ ## 0.1.12
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [29e8b92]
8
+ - @haneullabs/haneul@1.45.2
9
+ - @haneullabs/wallet-standard@0.19.9
10
+
11
+ ## 0.1.11
12
+
13
+ ### Patch Changes
14
+
15
+ - e3811f1: update valibot
16
+ - Updated dependencies [e3811f1]
17
+ - @haneullabs/haneul@1.45.1
18
+ - @haneullabs/wallet-standard@0.19.8
19
+
20
+ ## 0.1.10
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [88bdbac]
25
+ - @haneullabs/haneul@1.45.0
26
+ - @haneullabs/wallet-standard@0.19.7
27
+
28
+ ## 0.1.9
29
+
30
+ ### Patch Changes
31
+
32
+ - Updated dependencies [44d9b4f]
33
+ - @haneullabs/haneul@1.44.0
34
+ - @haneullabs/wallet-standard@0.19.6
35
+
36
+ ## 0.1.8
37
+
38
+ ### Patch Changes
39
+
40
+ - @haneullabs/haneul@1.43.2
41
+ - @haneullabs/wallet-standard@0.19.5
42
+
43
+ ## 0.1.7
44
+
45
+ ### Patch Changes
46
+
47
+ - @haneullabs/haneul@1.43.1
48
+ - @haneullabs/wallet-standard@0.19.4
49
+
50
+ ## 0.1.6
51
+
52
+ ### Patch Changes
53
+
54
+ - Updated dependencies [f3b19a7]
55
+ - Updated dependencies [bf9f85c]
56
+ - @haneullabs/haneul@1.43.0
57
+ - @haneullabs/wallet-standard@0.19.3
58
+
59
+ ## 0.1.5
60
+
61
+ ### Patch Changes
62
+
63
+ - Updated dependencies [98c8a27]
64
+ - @haneullabs/haneul@1.42.0
65
+ - @haneullabs/wallet-standard@0.19.2
66
+
67
+ ## 0.1.4
68
+
69
+ ### Patch Changes
70
+
71
+ - Updated dependencies [d554cd2]
72
+ - Updated dependencies [04fcfbc]
73
+ - @haneullabs/haneul@1.41.0
74
+ - @haneullabs/wallet-standard@0.19.1
75
+
76
+ ## 0.1.3
77
+
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies [f5fc0c0]
81
+ - Updated dependencies [f5fc0c0]
82
+ - @haneullabs/wallet-standard@0.19.0
83
+ - @haneullabs/haneul@1.40.0
84
+
85
+ ## 0.1.2
86
+
87
+ ### Patch Changes
88
+
89
+ - Updated dependencies [a9f9035]
90
+ - @haneullabs/haneul@1.39.1
91
+ - @haneullabs/wallet-standard@0.18.1
92
+
93
+ ## 0.1.1
94
+
95
+ ### Patch Changes
96
+
97
+ - Updated dependencies [566b9ae]
98
+ - Updated dependencies [ca92487]
99
+ - Updated dependencies [5ab3c0a]
100
+ - @haneullabs/wallet-standard@0.18.0
101
+ - @haneullabs/haneul@1.39.0
102
+
103
+ ## 0.1.0
104
+
105
+ ### Minor Changes
106
+
107
+ - bda17bf: Initial Release
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # `@haneullabs/walletconnect-wallet`
@@ -0,0 +1 @@
1
+ export { registerWalletConnectWallet, WalletConnectWallet, WALLETCONNECT_WALLET_NAME, type GetClient, } from './wallet/index.js';
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var index_exports = {};
20
+ __export(index_exports, {
21
+ WALLETCONNECT_WALLET_NAME: () => import_wallet.WALLETCONNECT_WALLET_NAME,
22
+ WalletConnectWallet: () => import_wallet.WalletConnectWallet,
23
+ registerWalletConnectWallet: () => import_wallet.registerWalletConnectWallet
24
+ });
25
+ module.exports = __toCommonJS(index_exports);
26
+ var import_wallet = require("./wallet/index.js");
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport {\n\tregisterWalletConnectWallet,\n\tWalletConnectWallet,\n\tWALLETCONNECT_WALLET_NAME,\n\ttype GetClient,\n} from './wallet/index.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAKO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "private": true,
3
+ "type": "commonjs",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,41 @@
1
+ import type { StandardConnectFeature, StandardDisconnectFeature, StandardEventsFeature, HaneulSignAndExecuteTransactionFeature, HaneulSignPersonalMessageFeature, HaneulSignTransactionFeature, Wallet } from '@haneullabs/wallet-standard';
2
+ import { ReadonlyWalletAccount } from '@haneullabs/wallet-standard';
3
+ import type { InferOutput } from 'valibot';
4
+ import type { Experimental_BaseClient } from '@haneullabs/haneul/experimental';
5
+ type SupportedNetwork = 'mainnet' | 'testnet' | 'devnet' | 'localnet';
6
+ export type GetClient = (network: SupportedNetwork) => Experimental_BaseClient;
7
+ type WalletMetadata = InferOutput<typeof WalletMetadataSchema>;
8
+ export 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">;
14
+ }, undefined>;
15
+ export declare class WalletConnectWallet implements Wallet {
16
+ #private;
17
+ get name(): string;
18
+ get id(): string;
19
+ get icon(): `data:image/svg+xml;base64,${string}` | `data:image/webp;base64,${string}` | `data:image/png;base64,${string}` | `data:image/gif;base64,${string}`;
20
+ get version(): "1.0.0";
21
+ get chains(): readonly ["haneul:devnet", "haneul:testnet", "haneul:localnet", "haneul:mainnet"];
22
+ get accounts(): ReadonlyWalletAccount[];
23
+ get features(): StandardConnectFeature & StandardDisconnectFeature & StandardEventsFeature & HaneulSignTransactionFeature & HaneulSignPersonalMessageFeature & HaneulSignAndExecuteTransactionFeature;
24
+ constructor({ metadata, projectId, getClient, }: {
25
+ metadata: WalletMetadata;
26
+ projectId: string;
27
+ getClient: GetClient;
28
+ });
29
+ init(): Promise<void>;
30
+ updateMetadata(metadata: WalletMetadata): void;
31
+ }
32
+ type RegisterWalletConnectWallet = {
33
+ projectId: string;
34
+ getClient: GetClient;
35
+ metadata?: WalletMetadata;
36
+ };
37
+ export declare function registerWalletConnectWallet({ projectId, getClient, metadata, }: RegisterWalletConnectWallet): {
38
+ wallet: WalletConnectWallet;
39
+ unregister: () => void;
40
+ } | undefined;
41
+ export {};
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24
+ // If the importer is in node compatibility mode or this is not an ESM
25
+ // file that has been converted to a CommonJS file using a Babel-
26
+ // compatible transform (i.e. "__esModule" has not been set), then set
27
+ // "default" to the CommonJS "module.exports" for node compatibility.
28
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29
+ mod
30
+ ));
31
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
33
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
34
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
35
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
36
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
37
+ var wallet_exports = {};
38
+ __export(wallet_exports, {
39
+ WALLETCONNECT_WALLET_NAME: () => WALLETCONNECT_WALLET_NAME,
40
+ WalletConnectWallet: () => WalletConnectWallet,
41
+ registerWalletConnectWallet: () => registerWalletConnectWallet
42
+ });
43
+ module.exports = __toCommonJS(wallet_exports);
44
+ var import_utils = require("@haneullabs/haneul/utils");
45
+ var import_wallet_standard = require("@haneullabs/wallet-standard");
46
+ var import_mitt = __toESM(require("mitt"));
47
+ var import_valibot = require("valibot");
48
+ var import_appkit_universal_connector = require("@reown/appkit-universal-connector");
49
+ var import_transactions = require("@haneullabs/haneul/transactions");
50
+ var _id, _events, _accounts, _walletName, _icon, _connector, _projectId, _getClient, _signTransaction, _signAndExecuteTransaction, _signPersonalMessage, _on, _WalletConnectWallet_instances, setAccounts_fn, _getAccounts, _connect, _getPreviouslyAuthorizedAccounts, _disconnect;
51
+ const icon = "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0ibTAgMGg0MDB2NDAwaC00MDB6Ii8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxjaXJjbGUgY3g9IjIwMCIgY3k9IjIwMCIgZmlsbD0iIzE0MTQxNCIgcj0iMTk5LjUiIHN0cm9rZT0iIzNiNDA0MCIvPjxwYXRoIGQ9Im0xMjIuNTE5IDE0OC45NjVjNDIuNzkxLTQxLjcyOSAxMTIuMTcxLTQxLjcyOSAxNTQuOTYyIDBsNS4xNSA1LjAyMmMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtMTcuNjE3IDE3LjE4Yy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTcuMDg3LTYuOTExYy0yOS44NTMtMjkuMTExLTc4LjI1My0yOS4xMTEtMTA4LjEwNiAwbC03LjU5IDcuNDAxYy0xLjA3IDEuMDQzLTIuODA0IDEuMDQzLTMuODc0IDBsLTE3LjYxNy0xNy4xOGMtMi4xNC0yLjA4Ni0yLjE0LTUuNDY5IDAtNy41NTV6bTE5MS4zOTcgMzUuNTI5IDE1LjY3OSAxNS4yOWMyLjE0IDIuMDg2IDIuMTQgNS40NjkgMCA3LjU1NWwtNzAuNyA2OC45NDRjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTUwLjE3OC00OC45MzFjLS41MzUtLjUyMi0xLjQwMi0uNTIyLTEuOTM3IDBsLTUwLjE3OCA0OC45MzFjLTIuMTM5IDIuMDg3LTUuNjA4IDIuMDg3LTcuNzQ4IDBsLTcwLjcwMTUtNjguOTQ1Yy0yLjEzOTYtMi4wODYtMi4xMzk2LTUuNDY5IDAtNy41NTVsMTUuNjc5NS0xNS4yOWMyLjEzOTYtMi4wODcgNS42MDg1LTIuMDg3IDcuNzQ4MSAwbDUwLjE3ODkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3Ny00OC45MzJjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMGw1MC4xNzkgNDguOTMyYy41MzUuNTIyIDEuNDAyLjUyMiAxLjkzNyAwbDUwLjE3OS00OC45MzFjMi4xMzktMi4wODcgNS42MDgtMi4wODcgNy43NDggMHoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+";
52
+ const WALLETCONNECT_WALLET_NAME = "WalletConnect";
53
+ const walletAccountFeatures = [
54
+ "sui:signTransaction",
55
+ "sui:signAndExecuteTransaction",
56
+ "sui:signPersonalMessage"
57
+ ];
58
+ const SUI_CAIP_CHAIN_IDS = ["sui:devnet", "sui:testnet", "sui:localnet", "sui:mainnet"];
59
+ const SUICaipNetworks = SUI_CAIP_CHAIN_IDS.map((chain) => {
60
+ const [_, chainId] = chain.split(":");
61
+ return {
62
+ id: chainId,
63
+ chainNamespace: "sui",
64
+ caipNetworkId: chain,
65
+ name: `Haneul ${chainId}`,
66
+ nativeCurrency: { name: "HANEUL", symbol: "HANEUL", decimals: 9 },
67
+ rpcUrls: { default: { http: [`https://haneul-${chainId}.gateway.tatum.io`] } }
68
+ };
69
+ });
70
+ const WalletMetadataSchema = (0, import_valibot.object)({
71
+ id: (0, import_valibot.string)("Wallet ID is required"),
72
+ walletName: (0, import_valibot.string)("Wallet name is required"),
73
+ icon: (0, import_valibot.string)("Icon must be a valid wallet icon format"),
74
+ enabled: (0, import_valibot.boolean)("Enabled is required")
75
+ });
76
+ const toStandardAccounts = (accounts, chains) => {
77
+ return accounts.map((account) => {
78
+ return new import_wallet_standard.ReadonlyWalletAccount({
79
+ address: account.address,
80
+ chains,
81
+ features: walletAccountFeatures,
82
+ publicKey: (0, import_utils.fromBase64)(account.pubkey)
83
+ });
84
+ });
85
+ };
86
+ class WalletConnectWallet {
87
+ constructor({
88
+ metadata,
89
+ projectId,
90
+ getClient
91
+ }) {
92
+ __privateAdd(this, _WalletConnectWallet_instances);
93
+ __privateAdd(this, _id);
94
+ __privateAdd(this, _events);
95
+ __privateAdd(this, _accounts);
96
+ __privateAdd(this, _walletName);
97
+ __privateAdd(this, _icon);
98
+ __privateAdd(this, _connector);
99
+ __privateAdd(this, _projectId);
100
+ __privateAdd(this, _getClient);
101
+ __privateAdd(this, _signTransaction, async ({ transaction, account, chain }) => {
102
+ const tx = await transaction.toJSON();
103
+ const response = await __privateGet(this, _connector)?.request(
104
+ {
105
+ method: "sui_signTransaction",
106
+ params: {
107
+ transaction: tx,
108
+ address: account.address
109
+ }
110
+ },
111
+ chain
112
+ );
113
+ return {
114
+ bytes: response.transactionBytes,
115
+ signature: response.signature
116
+ };
117
+ });
118
+ __privateAdd(this, _signAndExecuteTransaction, async ({
119
+ transaction,
120
+ account,
121
+ chain
122
+ }) => {
123
+ const [, network] = chain.split(":");
124
+ const client = __privateGet(this, _getClient).call(this, network);
125
+ const data = await transaction.toJSON();
126
+ const parsedTransaction = import_transactions.Transaction.from(data);
127
+ const bytes = await parsedTransaction.build({ client });
128
+ const response = await __privateGet(this, _connector)?.request(
129
+ {
130
+ method: "sui_signAndExecuteTransaction",
131
+ params: {
132
+ transaction: data,
133
+ address: account.address
134
+ }
135
+ },
136
+ chain
137
+ );
138
+ const tx = await client.core.waitForTransaction({
139
+ digest: response.digest
140
+ });
141
+ return {
142
+ digest: response.digest,
143
+ signature: tx.transaction.signatures[0] ?? "",
144
+ bytes: (0, import_utils.toBase64)(bytes),
145
+ effects: tx.transaction.effects.bcs ? (0, import_utils.toBase64)(tx.transaction.effects.bcs) : ""
146
+ };
147
+ });
148
+ __privateAdd(this, _signPersonalMessage, async ({ message, account, chain }) => {
149
+ const messageString = new TextDecoder().decode(message);
150
+ const response = await __privateGet(this, _connector)?.request(
151
+ {
152
+ method: "sui_signPersonalMessage",
153
+ params: {
154
+ message: messageString,
155
+ address: account.address
156
+ }
157
+ },
158
+ chain ?? "haneul:mainnet"
159
+ );
160
+ return {
161
+ signature: response.signature,
162
+ bytes: (0, import_utils.toBase64)(message)
163
+ };
164
+ });
165
+ __privateAdd(this, _on, (event, listener) => {
166
+ __privateGet(this, _events).on(event, listener);
167
+ return () => __privateGet(this, _events).off(event, listener);
168
+ });
169
+ __privateAdd(this, _getAccounts, async () => {
170
+ let accounts = JSON.parse(
171
+ __privateGet(this, _connector)?.provider?.session?.sessionProperties?.["sui_getAccounts"] ?? "[]"
172
+ );
173
+ if (!accounts?.length) {
174
+ accounts = await __privateGet(this, _connector)?.request({ method: "sui_getAccounts" }, "haneul:mainnet");
175
+ }
176
+ return toStandardAccounts(accounts, this.chains);
177
+ });
178
+ __privateAdd(this, _connect, async (input) => {
179
+ if (input?.silent) {
180
+ const accounts2 = await __privateGet(this, _getPreviouslyAuthorizedAccounts).call(this);
181
+ if (accounts2.length > 0) {
182
+ __privateMethod(this, _WalletConnectWallet_instances, setAccounts_fn).call(this, accounts2);
183
+ return { accounts: accounts2 };
184
+ }
185
+ }
186
+ if (!__privateGet(this, _connector)?.provider?.session?.namespaces?.sui) {
187
+ await __privateGet(this, _connector)?.connect();
188
+ }
189
+ const accounts = await __privateGet(this, _getAccounts).call(this);
190
+ __privateMethod(this, _WalletConnectWallet_instances, setAccounts_fn).call(this, accounts);
191
+ return { accounts: this.accounts };
192
+ });
193
+ __privateAdd(this, _getPreviouslyAuthorizedAccounts, async () => {
194
+ const session = __privateGet(this, _connector)?.provider?.session;
195
+ if (!session?.namespaces?.sui) {
196
+ return [];
197
+ }
198
+ const accounts = JSON.parse(session.sessionProperties?.["sui_getAccounts"] ?? "[]");
199
+ return toStandardAccounts(accounts, import_wallet_standard.HANEUL_CHAINS);
200
+ });
201
+ __privateAdd(this, _disconnect, async () => {
202
+ __privateGet(this, _connector)?.disconnect();
203
+ __privateMethod(this, _WalletConnectWallet_instances, setAccounts_fn).call(this, []);
204
+ });
205
+ __privateSet(this, _id, metadata.id);
206
+ __privateSet(this, _accounts, []);
207
+ __privateSet(this, _events, (0, import_mitt.default)());
208
+ __privateSet(this, _walletName, metadata.walletName);
209
+ __privateSet(this, _icon, icon);
210
+ __privateSet(this, _projectId, projectId);
211
+ __privateSet(this, _getClient, getClient);
212
+ this.init();
213
+ }
214
+ get name() {
215
+ return __privateGet(this, _walletName);
216
+ }
217
+ get id() {
218
+ return __privateGet(this, _id);
219
+ }
220
+ get icon() {
221
+ return __privateGet(this, _icon);
222
+ }
223
+ get version() {
224
+ return "1.0.0";
225
+ }
226
+ get chains() {
227
+ return import_wallet_standard.HANEUL_CHAINS;
228
+ }
229
+ get accounts() {
230
+ return __privateGet(this, _accounts);
231
+ }
232
+ get features() {
233
+ return {
234
+ [import_wallet_standard.StandardConnect]: {
235
+ version: "1.0.0",
236
+ connect: __privateGet(this, _connect)
237
+ },
238
+ [import_wallet_standard.StandardDisconnect]: {
239
+ version: "1.0.0",
240
+ disconnect: __privateGet(this, _disconnect)
241
+ },
242
+ [import_wallet_standard.StandardEvents]: {
243
+ version: "1.0.0",
244
+ on: __privateGet(this, _on)
245
+ },
246
+ [import_wallet_standard.HaneulSignTransaction]: {
247
+ version: "2.0.0",
248
+ signTransaction: __privateGet(this, _signTransaction)
249
+ },
250
+ [import_wallet_standard.HaneulSignPersonalMessage]: {
251
+ version: "1.1.0",
252
+ signPersonalMessage: __privateGet(this, _signPersonalMessage)
253
+ },
254
+ [import_wallet_standard.HaneulSignAndExecuteTransaction]: {
255
+ version: "2.0.0",
256
+ signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
257
+ }
258
+ };
259
+ }
260
+ async init() {
261
+ __privateSet(this, _connector, await import_appkit_universal_connector.UniversalConnector.init({
262
+ projectId: __privateGet(this, _projectId),
263
+ // TODO: Use dapp metadata
264
+ metadata: {
265
+ name: __privateGet(this, _walletName),
266
+ description: "WalletConnect",
267
+ icon: __privateGet(this, _icon)
268
+ },
269
+ networks: [
270
+ {
271
+ namespace: "sui",
272
+ methods: [
273
+ "sui_signTransaction",
274
+ "sui_signPersonalMessage",
275
+ "sui_signAndExecuteTransaction",
276
+ "sui_getAccounts"
277
+ ],
278
+ events: ["chainChanged", "accountsChanged"],
279
+ chains: SUICaipNetworks
280
+ }
281
+ ],
282
+ modalConfig: {
283
+ themeVariables: {
284
+ "--w3m-z-index": 2147483647
285
+ }
286
+ }
287
+ }));
288
+ __privateSet(this, _accounts, await __privateGet(this, _getPreviouslyAuthorizedAccounts).call(this));
289
+ }
290
+ updateMetadata(metadata) {
291
+ __privateSet(this, _id, metadata.id);
292
+ __privateSet(this, _walletName, metadata.walletName);
293
+ }
294
+ }
295
+ _id = new WeakMap();
296
+ _events = new WeakMap();
297
+ _accounts = new WeakMap();
298
+ _walletName = new WeakMap();
299
+ _icon = new WeakMap();
300
+ _connector = new WeakMap();
301
+ _projectId = new WeakMap();
302
+ _getClient = new WeakMap();
303
+ _signTransaction = new WeakMap();
304
+ _signAndExecuteTransaction = new WeakMap();
305
+ _signPersonalMessage = new WeakMap();
306
+ _on = new WeakMap();
307
+ _WalletConnectWallet_instances = new WeakSet();
308
+ setAccounts_fn = function(accounts) {
309
+ __privateSet(this, _accounts, accounts);
310
+ __privateGet(this, _events).emit("change", { accounts: this.accounts });
311
+ };
312
+ _getAccounts = new WeakMap();
313
+ _connect = new WeakMap();
314
+ _getPreviouslyAuthorizedAccounts = new WeakMap();
315
+ _disconnect = new WeakMap();
316
+ function registerWalletConnectWallet({
317
+ projectId,
318
+ getClient,
319
+ metadata
320
+ }) {
321
+ const wallets = (0, import_wallet_standard.getWallets)();
322
+ let unregister = null;
323
+ wallets.on("register", (wallet) => {
324
+ if (wallet.id === "walletconnect") {
325
+ unregister?.();
326
+ }
327
+ });
328
+ const extension = wallets.get().find((wallet) => wallet.id === "walletconnect");
329
+ if (extension) {
330
+ return;
331
+ }
332
+ const fullMetadata = {
333
+ id: "walletconnect",
334
+ walletName: "Wallet Connect",
335
+ icon,
336
+ enabled: true,
337
+ ...metadata
338
+ };
339
+ const walletConnectWalletInstance = new WalletConnectWallet({
340
+ metadata: fullMetadata,
341
+ projectId,
342
+ getClient
343
+ });
344
+ unregister = wallets.register(walletConnectWalletInstance);
345
+ walletConnectWalletInstance.updateMetadata({
346
+ ...fullMetadata,
347
+ enabled: true
348
+ });
349
+ return {
350
+ wallet: walletConnectWalletInstance,
351
+ unregister
352
+ };
353
+ }
354
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/wallet/index.ts"],
4
+ "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 type { Emitter } from 'mitt';\nimport mitt from 'mitt';\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 { Experimental_BaseClient } from '@haneullabs/haneul/experimental';\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) => Experimental_BaseClient;\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'sui:signTransaction',\n\t'sui:signAndExecuteTransaction',\n\t'sui:signPersonalMessage',\n] as const;\n\n// WalletConnect uses CAIP-2 standard which requires 'sui:' namespace for external protocol compatibility\n// TODO: Register 'haneul' namespace with CASA (Chain Agnostic Standards Alliance) before mainnet launch\nconst SUI_CAIP_CHAIN_IDS = ['sui:devnet', 'sui:testnet', 'sui:localnet', 'sui:mainnet'] as const;\n\nconst SUICaipNetworks: CustomCaipNetwork<'sui'>[] = SUI_CAIP_CHAIN_IDS.map((chain) => {\n\tconst [_, chainId] = chain.split(':');\n\treturn {\n\t\tid: chainId,\n\t\tchainNamespace: 'sui',\n\t\tcaipNetworkId: chain,\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};\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\ticon: this.#icon,\n\t\t\t},\n\t\t\tnetworks: [\n\t\t\t\t{\n\t\t\t\t\tnamespace: 'sui',\n\t\t\t\t\tmethods: [\n\t\t\t\t\t\t'sui_signTransaction',\n\t\t\t\t\t\t'sui_signPersonalMessage',\n\t\t\t\t\t\t'sui_signAndExecuteTransaction',\n\t\t\t\t\t\t'sui_getAccounts',\n\t\t\t\t\t],\n\t\t\t\t\tevents: ['chainChanged', 'accountsChanged'],\n\t\t\t\t\tchains: SUICaipNetworks,\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: 'sui_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: 'sui_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});\n\n\t\treturn {\n\t\t\tdigest: response.digest,\n\t\t\tsignature: tx.transaction.signatures[0] ?? '',\n\t\t\tbytes: toBase64(bytes),\n\t\t\teffects: tx.transaction.effects.bcs ? toBase64(tx.transaction.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: 'sui_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?.['sui_getAccounts'] ?? '[]',\n\t\t);\n\n\t\tif (!accounts?.length) {\n\t\t\taccounts = (await this.#connector?.request({ method: 'sui_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?.sui) {\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?.sui) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst accounts = JSON.parse(session.sessionProperties?.['sui_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"],
5
+ "mappings": "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",
6
+ "names": ["accounts", "mitt"]
7
+ }
@@ -0,0 +1 @@
1
+ export { registerWalletConnectWallet, WalletConnectWallet, WALLETCONNECT_WALLET_NAME, type GetClient, } from './wallet/index.js';
@@ -0,0 +1,11 @@
1
+ import {
2
+ registerWalletConnectWallet,
3
+ WalletConnectWallet,
4
+ WALLETCONNECT_WALLET_NAME
5
+ } from "./wallet/index.js";
6
+ export {
7
+ WALLETCONNECT_WALLET_NAME,
8
+ WalletConnectWallet,
9
+ registerWalletConnectWallet
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport {\n\tregisterWalletConnectWallet,\n\tWalletConnectWallet,\n\tWALLETCONNECT_WALLET_NAME,\n\ttype GetClient,\n} from './wallet/index.js';\n"],
5
+ "mappings": "AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OAEM;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "private": true,
3
+ "type": "module",
4
+ "sideEffects": false
5
+ }