@zero-tech/z-wallet-sdk 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,170 @@
1
+ # z-wallet-sdk
2
+
3
+ A TypeScript SDK for interacting with zWallet.
4
+
5
+ ## Installation
6
+
7
+ You can install the SDK using npm:
8
+
9
+ ```bash
10
+ npm i z-wallet-sdk
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ### Initialization
16
+
17
+ Import the `zWalletClient` singleton instance to get started.
18
+
19
+ ```typescript
20
+ import { zWalletClient } from "z-wallet-sdk";
21
+ ```
22
+
23
+ The client manages connection state internally. You can access it via these properties:
24
+
25
+ - `zWalletClient.isConnected: boolean`
26
+ - `zWalletClient.walletInfo: WalletInfo | null`
27
+ - `zWalletClient.error: string | null`
28
+
29
+ ### Connecting to the Wallet
30
+
31
+ To begin interacting with the user's wallet, you need to connect to it. This will open a popup window for the user to approve the connection.
32
+
33
+ ```typescript
34
+ import { zWalletClient } from "z-wallet-sdk";
35
+
36
+ async function connectWallet(event: MouseEvent) {
37
+ try {
38
+ // Optional: Position the popup relative to the user's click
39
+ const popupLeft = window.screenX + event.clientX;
40
+ const popupTop = window.screenY + event.clientY;
41
+
42
+ await zWalletClient.connect({
43
+ left: popupLeft,
44
+ top: popupTop,
45
+ });
46
+
47
+ if (zWalletClient.isConnected) {
48
+ console.log("Successfully connected to zWallet!");
49
+ console.log("Wallet Info:", zWalletClient.walletInfo);
50
+ } else {
51
+ console.error("Connection failed:", zWalletClient.error);
52
+ }
53
+ } catch (error) {
54
+ console.error("An error occurred during connection:", error);
55
+ }
56
+ }
57
+ ```
58
+
59
+ ### Sending a Raw Transaction
60
+
61
+ Send a pre-encoded raw transaction payload to the network.
62
+
63
+ ```typescript
64
+ import { zWalletClient } from "z-wallet-sdk";
65
+ import type { SendRawTransactionPayload } from "z-wallet-sdk";
66
+
67
+ async function sendRawTx() {
68
+ if (!zWalletClient.isConnected) {
69
+ alert("Please connect your wallet first.");
70
+ return;
71
+ }
72
+
73
+ try {
74
+ const tx: SendRawTransactionPayload = {
75
+ chainId: 9369, // testnet: 1417429182, mainnet: 9369
76
+ to: "0x...contract_address",
77
+ transactionData: "0x...raw_calldata,
78
+ };
79
+
80
+ const response = await zWalletClient.sendRawTransaction(tx);
81
+
82
+ if (response.data) {
83
+ console.log("Raw transaction sent successfully!");
84
+ console.log("Transaction Hash:", response.data.transactionHash);
85
+ } else {
86
+ console.error("Failed to send raw transaction:", response.error);
87
+ }
88
+ } catch (error) {
89
+ console.error("An error occurred while sending the raw transaction:", error);
90
+ }
91
+ }
92
+ ```
93
+
94
+ ### Signing a Message
95
+
96
+ Once connected, you can request message signatures from the user.
97
+
98
+ ```typescript
99
+ import { zWalletClient } from "z-wallet-sdk";
100
+
101
+ async function sign() {
102
+ if (!zWalletClient.isConnected) {
103
+ alert("Please connect your wallet first.");
104
+ return;
105
+ }
106
+
107
+ try {
108
+ const message = "Login request for xyz.zyx";
109
+ const chainId = 9369; // testnet: 1417429182, mainnet: 9369
110
+
111
+ const response = await zWalletClient.signMessage(message, chainId);
112
+
113
+ if (response.data) {
114
+ console.log("Message signed successfully!");
115
+ console.log("Signature:", response.data.signature);
116
+ // Signatures should be verified with thirdweb as wallets are AA contract wallets
117
+ const verifyResponse = await verifyContractWalletSignature({
118
+ chain: chain,
119
+ client: thirdwebClient,
120
+ address: zWalletClient.walletInfo.zeroWallet,
121
+ message,
122
+ signature: response.data.signature,
123
+ });
124
+ } else {
125
+ console.error("Failed to sign message:", response.error);
126
+ }
127
+ } catch (error) {
128
+ console.error("An error occurred while signing the message:", error);
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### Calling a Contract
134
+
135
+ You can also send transactions to smart contracts.
136
+
137
+ ```typescript
138
+ import { zWalletClient } from "z-wallet-sdk";
139
+ import type { CallContractTransaction } from "z-wallet-sdk";
140
+
141
+ async function transferTokens() {
142
+ if (!zWalletClient.isConnected) {
143
+ alert("Please connect your wallet first.");
144
+ return;
145
+ }
146
+
147
+ try {
148
+ const transaction: CallContractTransaction = {
149
+ chainId: 1, // Example Chain ID
150
+ contractAddress: "0x...your_token_contract_address",
151
+ method: "transfer(address to, uint256 value)", // Function signature
152
+ params: [
153
+ "0x...recipient_address", // Recipient address
154
+ "1000000000000000000", // Amount (e.g., 1 token with 18 decimals)
155
+ ],
156
+ };
157
+
158
+ const response = await zWalletClient.callContract(transaction);
159
+
160
+ if (response.data) {
161
+ console.log("Contract call successful!");
162
+ console.log("Transaction Hash:", response.data.transactionHash);
163
+ } else {
164
+ console.error("Contract call failed:", response.error);
165
+ }
166
+ } catch (error) {
167
+ console.error("An error occurred during the contract call:", error);
168
+ }
169
+ }
170
+ ```
@@ -0,0 +1,13 @@
1
+ export interface CallContractResponse {
2
+ error: string | null;
3
+ data: {
4
+ transactionHash: `0x${string}`;
5
+ } | null;
6
+ }
7
+ export interface CallContractTransaction {
8
+ chainId: number;
9
+ contractAddress: string;
10
+ method: string;
11
+ params: unknown[];
12
+ }
13
+ export type CallContract = (tx: CallContractTransaction) => Promise<CallContractResponse>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { WalletInfo } from '../types';
2
+ interface ConnectRequestOptions {
3
+ remainOpen?: boolean;
4
+ }
5
+ export type ConnectRequest = (openerUrl: string, options: ConnectRequestOptions) => Promise<WalletInfo>;
6
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ export interface SendRawTransactionResponse {
2
+ error: string | null;
3
+ data: {
4
+ transactionHash: `0x${string}`;
5
+ } | null;
6
+ }
7
+ export interface SendRawTransactionPayload {
8
+ chainId: number;
9
+ to: string;
10
+ transactionData: string;
11
+ }
12
+ export type SendRawTransaction = (tx: SendRawTransactionPayload) => Promise<SendRawTransactionResponse>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface SignMessageResponse {
2
+ error: string | null;
3
+ data: {
4
+ signature: string;
5
+ } | null;
6
+ }
7
+ export type SignMessage = (message: string, chainId: number) => Promise<SignMessageResponse>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { CallContract } from './types/callContract';
2
+ import type { ConnectRequest } from './types/connectRequest';
3
+ import type { SendRawTransaction } from './types/sendRawTransaction';
4
+ import type { SignMessage } from './types/signMessage';
5
+ export interface WalletInfo {
6
+ id: string;
7
+ primaryZID: string;
8
+ displayName: string;
9
+ profileImage: string;
10
+ zeroWallet: string;
11
+ wallets: string[];
12
+ }
13
+ export type Logout = (domain: string) => Promise<{
14
+ success: boolean;
15
+ }>;
16
+ export interface WalletApi {
17
+ connect: ConnectRequest;
18
+ signMessage: SignMessage;
19
+ callContract: CallContract;
20
+ sendRawTransaction: SendRawTransaction;
21
+ logout: Logout;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { WalletInfo } from './types';
2
+ import type { CallContract, CallContractTransaction } from './types/callContract';
3
+ import type { SendRawTransaction, SendRawTransactionPayload } from './types/sendRawTransaction';
4
+ import type { SignMessage } from './types/signMessage';
5
+ export interface IZWalletClient {
6
+ signMessage: SignMessage;
7
+ callContract: CallContract;
8
+ sendRawTransaction: SendRawTransaction;
9
+ logout: () => Promise<{
10
+ success: boolean;
11
+ }>;
12
+ }
13
+ export interface ConnectOptions {
14
+ left?: number;
15
+ top?: number;
16
+ remainOpen?: boolean;
17
+ url?: string;
18
+ }
19
+ declare class ZWalletClient implements IZWalletClient {
20
+ isConnected: boolean;
21
+ error: string | null;
22
+ walletInfo: WalletInfo | null;
23
+ clientUrl: string;
24
+ connect({ left, top, remainOpen }?: ConnectOptions): Promise<void>;
25
+ signMessage(message: string, chainId: number): Promise<import("..").SignMessageResponse>;
26
+ callContract(tx: CallContractTransaction): Promise<import("..").CallContractResponse>;
27
+ sendRawTransaction(tx: SendRawTransactionPayload): Promise<import("..").SendRawTransactionResponse>;
28
+ logout(): Promise<{
29
+ success: boolean;
30
+ }>;
31
+ }
32
+ export declare const zWalletClient: ZWalletClient;
33
+ export {};
@@ -0,0 +1,76 @@
1
+ import { Z_WALLET_CLIENT_URL } from '../constants';
2
+ import { FailedToConnectError, ZWalletError } from '../errors';
3
+ import { messagingService } from '../messaging/messagingService';
4
+ class ZWalletClient {
5
+ isConnected = false;
6
+ error = null;
7
+ walletInfo = null;
8
+ clientUrl = Z_WALLET_CLIENT_URL;
9
+ async connect({ left, top, remainOpen } = {}) {
10
+ this.error = null;
11
+ let features = 'width=400,height=600';
12
+ if (left !== undefined && top !== undefined) {
13
+ features = `left=${left},top=${top},${features}`;
14
+ }
15
+ const walletWindow = window.open(this.clientUrl, 'walletPopup', features);
16
+ try {
17
+ const walletInfo = await messagingService.initMessaging(walletWindow, {
18
+ remainOpen,
19
+ url: this.clientUrl,
20
+ });
21
+ this.walletInfo = walletInfo;
22
+ this.isConnected = true;
23
+ }
24
+ catch (error) {
25
+ const err = error instanceof ZWalletError ? error : new FailedToConnectError();
26
+ this.error = err.message;
27
+ throw err;
28
+ }
29
+ }
30
+ async signMessage(message, chainId) {
31
+ if (!messagingService.wallet) {
32
+ await this.connect({ remainOpen: true });
33
+ }
34
+ if (!messagingService.wallet) {
35
+ throw new FailedToConnectError();
36
+ }
37
+ return messagingService.wallet.signMessage(message, chainId);
38
+ }
39
+ async callContract(tx) {
40
+ if (!messagingService.wallet) {
41
+ await this.connect({
42
+ remainOpen: true,
43
+ });
44
+ }
45
+ if (!messagingService.wallet) {
46
+ throw new FailedToConnectError();
47
+ }
48
+ return messagingService.wallet.callContract(tx);
49
+ }
50
+ async sendRawTransaction(tx) {
51
+ if (!messagingService.wallet) {
52
+ await this.connect({ remainOpen: true });
53
+ }
54
+ if (!messagingService.wallet) {
55
+ throw new FailedToConnectError();
56
+ }
57
+ return messagingService.wallet.sendRawTransaction(tx);
58
+ }
59
+ async logout() {
60
+ // Call z-wallet logout if connected, passing the current domain
61
+ if (messagingService.wallet) {
62
+ try {
63
+ await messagingService.wallet.logout(window.location.origin);
64
+ }
65
+ catch {
66
+ // Continue with local cleanup even if remote logout fails
67
+ }
68
+ }
69
+ // Clear local state
70
+ this.isConnected = false;
71
+ this.walletInfo = null;
72
+ this.error = null;
73
+ return { success: true };
74
+ }
75
+ }
76
+ export const zWalletClient = new ZWalletClient();
@@ -0,0 +1 @@
1
+ export declare const Z_WALLET_CLIENT_URL = "https://z-wallet.zero.tech";
@@ -0,0 +1 @@
1
+ export const Z_WALLET_CLIENT_URL = 'https://z-wallet.zero.tech';
@@ -0,0 +1,16 @@
1
+ export declare class ZWalletError extends Error {
2
+ readonly code: string;
3
+ constructor(code: string, message: string);
4
+ }
5
+ export declare class FailedToOpenPopupError extends ZWalletError {
6
+ constructor();
7
+ }
8
+ export declare class RequestCancelledError extends ZWalletError {
9
+ constructor();
10
+ }
11
+ export declare class FailedToConnectError extends ZWalletError {
12
+ constructor();
13
+ }
14
+ export declare class WalletConnectionError extends ZWalletError {
15
+ constructor(message: string);
16
+ }
package/dist/errors.js ADDED
@@ -0,0 +1,31 @@
1
+ export class ZWalletError extends Error {
2
+ code;
3
+ constructor(code, message) {
4
+ super(message);
5
+ this.code = code;
6
+ this.name = new.target.name;
7
+ if (typeof Object.setPrototypeOf === 'function') {
8
+ Object.setPrototypeOf(this, new.target.prototype);
9
+ }
10
+ }
11
+ }
12
+ export class FailedToOpenPopupError extends ZWalletError {
13
+ constructor() {
14
+ super('FAILED_TO_OPEN_POPUP', 'Failed to open the wallet popup.');
15
+ }
16
+ }
17
+ export class RequestCancelledError extends ZWalletError {
18
+ constructor() {
19
+ super('REQUEST_CANCELLED', 'The request was cancelled by the user.');
20
+ }
21
+ }
22
+ export class FailedToConnectError extends ZWalletError {
23
+ constructor() {
24
+ super('FAILED_TO_CONNECT', 'Failed to connect to the wallet.');
25
+ }
26
+ }
27
+ export class WalletConnectionError extends ZWalletError {
28
+ constructor(message) {
29
+ super('WALLET_CONNECTION_FAILED', message);
30
+ }
31
+ }
@@ -0,0 +1,8 @@
1
+ export * from './client/types';
2
+ export * from './client/types/callContract';
3
+ export * from './client/types/connectRequest';
4
+ export * from './client/types/sendRawTransaction';
5
+ export * from './client/types/signMessage';
6
+ export type { ConnectOptions, IZWalletClient } from './client/zWalletClient';
7
+ export { zWalletClient } from './client/zWalletClient';
8
+ export * from './errors';
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from './client/types';
2
+ export * from './client/types/callContract';
3
+ export * from './client/types/connectRequest';
4
+ export * from './client/types/sendRawTransaction';
5
+ export * from './client/types/signMessage';
6
+ export { zWalletClient } from './client/zWalletClient';
7
+ export * from './errors';
@@ -0,0 +1,20 @@
1
+ import type { WalletApi, WalletInfo } from '../client/types';
2
+ interface InitMessagingOptions {
3
+ remainOpen?: boolean;
4
+ url?: string;
5
+ }
6
+ declare class MessagingService {
7
+ private walletWindow;
8
+ private port;
9
+ private popupCheckInterval;
10
+ private popupLoadInterval;
11
+ private connectionResolve;
12
+ private connectionReject;
13
+ wallet: WalletApi | null;
14
+ remainOpen: boolean;
15
+ url: string;
16
+ initMessaging(walletWindow: Window | null, { remainOpen, url }?: InitMessagingOptions): Promise<WalletInfo>;
17
+ private readonly handleOnLoadMessage;
18
+ }
19
+ export declare const messagingService: MessagingService;
20
+ export {};
@@ -0,0 +1,90 @@
1
+ // biome-ignore lint/performance/noNamespaceImport: Comlink needs to be imported as a namespace
2
+ import * as Comlink from 'comlink';
3
+ import { Z_WALLET_CLIENT_URL } from '../constants';
4
+ import { FailedToOpenPopupError, RequestCancelledError, WalletConnectionError, ZWalletError, } from '../errors';
5
+ const POLLING_INTERVAL = 500;
6
+ class MessagingService {
7
+ walletWindow = null;
8
+ port = null;
9
+ popupCheckInterval = null;
10
+ popupLoadInterval = null;
11
+ // biome-ignore lint/style/useReadonlyClassProperties: not readonly
12
+ connectionResolve;
13
+ // biome-ignore lint/style/useReadonlyClassProperties: not readonly
14
+ connectionReject;
15
+ wallet = null;
16
+ remainOpen = false;
17
+ url = Z_WALLET_CLIENT_URL;
18
+ initMessaging(walletWindow, { remainOpen, url } = {}) {
19
+ this.walletWindow = walletWindow;
20
+ this.remainOpen = remainOpen ?? false;
21
+ this.url = url ?? Z_WALLET_CLIENT_URL;
22
+ const connectionPromise = new Promise((resolve, reject) => {
23
+ this.connectionResolve = resolve;
24
+ this.connectionReject = reject;
25
+ });
26
+ if (!this.walletWindow) {
27
+ this.connectionReject(new FailedToOpenPopupError());
28
+ return connectionPromise;
29
+ }
30
+ this.popupCheckInterval = setInterval(() => {
31
+ if (this.walletWindow?.closed) {
32
+ if (this.popupCheckInterval) {
33
+ clearInterval(this.popupCheckInterval);
34
+ }
35
+ if (this.popupLoadInterval) {
36
+ clearInterval(this.popupLoadInterval);
37
+ }
38
+ this.walletWindow = null;
39
+ if (this.port) {
40
+ this.port.close();
41
+ this.port = null;
42
+ }
43
+ this.wallet = null;
44
+ this.connectionReject(new RequestCancelledError());
45
+ }
46
+ }, POLLING_INTERVAL);
47
+ this.popupLoadInterval = setInterval(() => {
48
+ if (this.walletWindow) {
49
+ this.walletWindow.postMessage({ type: 'ping' }, '*');
50
+ }
51
+ else if (this.popupLoadInterval) {
52
+ clearInterval(this.popupLoadInterval);
53
+ }
54
+ }, POLLING_INTERVAL);
55
+ window.addEventListener('message', this.handleOnLoadMessage);
56
+ return connectionPromise;
57
+ }
58
+ handleOnLoadMessage = async (event) => {
59
+ if (event.origin !== this.url)
60
+ return;
61
+ if (event.data.type === 'onLoad') {
62
+ if (this.popupLoadInterval) {
63
+ clearInterval(this.popupLoadInterval);
64
+ }
65
+ const channel = new MessageChannel();
66
+ this.port = channel.port1;
67
+ this.wallet = Comlink.wrap(this.port);
68
+ if (this.walletWindow) {
69
+ this.walletWindow.postMessage({ type: 'initChannel' }, this.url, [
70
+ channel.port2,
71
+ ]);
72
+ }
73
+ try {
74
+ const info = await this.wallet.connect(window.location.origin, {
75
+ remainOpen: this.remainOpen,
76
+ });
77
+ window.removeEventListener('message', this.handleOnLoadMessage);
78
+ this.connectionResolve(info);
79
+ }
80
+ catch (error) {
81
+ window.removeEventListener('message', this.handleOnLoadMessage);
82
+ const err = error instanceof ZWalletError
83
+ ? error
84
+ : new WalletConnectionError(error instanceof Error ? error.message : String(error));
85
+ this.connectionReject(err);
86
+ }
87
+ }
88
+ };
89
+ }
90
+ export const messagingService = new MessagingService();
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/errors.ts","../src/client/types/callContract.ts","../src/client/types/connectRequest.ts","../src/client/types/sendRawTransaction.ts","../src/client/types/signMessage.ts","../src/client/types.ts","../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/umd/protocol.d.ts","../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/umd/comlink.d.ts","../src/messaging/messagingService.ts","../src/client/zWalletClient.ts","../src/index.ts"],"fileIdsList":[[90],[85,86,87,88],[89],[83,84,85,87,88,89,92],[84,85,86,87,88,89,93],[83,84,89,91]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"15012b7a13c3ac9696fd7b1c071e757b8afe42a18a563f07e42ad3b5e6290a9e","signature":"6661bc1ed40ef52303e23d666739c21a39bb8d907632ea64851df1d3b8d6edbf"},{"version":"637d11c31d29bf392552ad1f057b69e59021cf6fad5b7e2ea6a89bec6985442a","signature":"73c94cdd951928fff78e0d756d87a0168da4876b6a731e653c7ecb059d53c4bf"},{"version":"29583fc3cbb9c7109369247df0ec2f59df0dea03e1ba4300134e3703e5968d48","signature":"6778e4df3673af6585f9c21be2ef43d96717d79b72ea3e8a2aabbdc61d45c952"},{"version":"2c4401aa19ac4c195d08b70911a809fff8b2e29ee433f5553b35daacc9d7da47","signature":"f8cacfbf32282f3aa3fed81825082d4df07e1a5a51b27d9c7afdb80f948b4a20"},{"version":"9a160b488d2cad70b02b7ad80e445a8261ee43acfa0c6d76601734941c55c013","signature":"db5cf5ec854e2c67e889abdc5500239a6bfbfca54ed04106389eff4676fefa24"},{"version":"0d0a34b2f2af7941dba14ab05a0f9230045194f5de612a215f24a63ca8343505","signature":"9166177198fb914d5ad2c630451d839699a8ac564e5e9715f59446883d19f2b8"},{"version":"41ded2621a68bb49e35de00648163fc7aefe14b9b906586126bf00da955744bb","signature":"47a2cdc86b0ab1cdae0db6ad0961915f32208328574003def61f19ad8544c3b4"},{"version":"c0a456eb21680eca96d5e836e2a5cc74730a2c0e03f18eb17a7f652b30c993e4","impliedFormat":1},{"version":"9426d1cc15328fcbb59adb88880ccfd79f2bc959334d485273da743aac083eaa","impliedFormat":1},{"version":"6de5741dde2dc925b705e5409081ef8c4e41d8503d56d09829c6f6eb23d44eea","signature":"7605c8aa07ceedc6cbdbf2f4119020ea231ba1b01be12ef6935338ae086831a6"},{"version":"75510701a770eac49dd53dc17f3194e9c83af555e128821db50d000a962df64d","signature":"412671977313671c6d705d8f03f03b9cb70edf93cbf3597d4419395858d27d06"},"79e8047b4e4fd315c7b112377d8bd1d77947a188b13898a7e6e22a3f01b8195b"],"root":[[83,89],[92,94]],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"strictNullChecks":true,"target":99},"referencedMap":[[91,1],[89,2],[86,3],[93,4],[94,5],[92,6]],"version":"5.9.2"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@zero-tech/z-wallet-sdk",
3
+ "version": "0.4.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "keywords": [],
11
+ "author": "",
12
+ "license": "ISC",
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "dependencies": {
17
+ "comlink": "^4.4.2",
18
+ "zustand": "^5.0.7"
19
+ },
20
+ "devDependencies": {
21
+ "@biomejs/biome": "2.2.0",
22
+ "typescript": "^5.9.2",
23
+ "ultracite": "5.1.5"
24
+ },
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "test": "echo \"Error: no test specified\" && exit 1"
28
+ }
29
+ }