unwallet-client-sdk 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -13,29 +13,27 @@ var UWError = class extends Error {
13
13
  };
14
14
  //#endregion
15
15
  //#region src/config.ts
16
- const UNWALLET_CONFIG_PROD = {
17
- frontend: { baseURL: "https://id.unwallet.world" },
18
- xapi: {
19
- url: "wss://xapi.id.unwallet.world",
20
- connectionTimeout: 1e4
21
- }
22
- };
23
- const UNWALLET_CONFIG_DEV = {
24
- frontend: { baseURL: "http://localhost:4200" },
25
- xapi: {
26
- url: "wss://xapi.id.test.unwallet.dev",
27
- connectionTimeout: 1e4
28
- }
29
- };
30
16
  function getUnWalletConfigByEnv(env) {
31
17
  switch (env) {
32
- case "prod": return UNWALLET_CONFIG_PROD;
33
- case "dev": return UNWALLET_CONFIG_DEV;
18
+ case "prod": return {
19
+ frontend: { baseURL: "https://id.unwallet.world" },
20
+ xapi: {
21
+ url: "wss://xapi.id.unwallet.world",
22
+ connectionTimeout: 1e4
23
+ }
24
+ };
25
+ case "dev": return {
26
+ frontend: { baseURL: "http://localhost:4200" },
27
+ xapi: {
28
+ url: "wss://xapi.id.test.unwallet.dev",
29
+ connectionTimeout: 1e4
30
+ }
31
+ };
34
32
  }
35
33
  }
36
34
  //#endregion
37
35
  //#region src/x.ts
38
- const VALID_X_RESPONSE_TYPES = [
36
+ const X_RESPONSE_TYPES = [
39
37
  "connectionID",
40
38
  "signature",
41
39
  "transactionID",
@@ -48,6 +46,35 @@ var XConnection = class XConnection {
48
46
  this.id = args.id;
49
47
  this.initListeners();
50
48
  }
49
+ static async init(config) {
50
+ const socket = new WebSocket(config.url);
51
+ const id = await new Promise((resolve, reject) => {
52
+ setInterval(() => reject(new UWError("CONNECTION_TIMEOUT")), config.connectionTimeout);
53
+ socket.onopen = () => socket.send(JSON.stringify({ action: "getConnectionID" }));
54
+ socket.onmessage = (event) => {
55
+ let resp;
56
+ {
57
+ const result = safeParseMessageEventDataToXResponse(event.data);
58
+ if (!result.success) {
59
+ reject(result.error);
60
+ return;
61
+ }
62
+ resp = result.data;
63
+ }
64
+ if (resp.type !== "connectionID") {
65
+ reject(new UWError("INVALID_RESPONSE", `unexpected response type: ${resp.type}`));
66
+ return;
67
+ }
68
+ resolve(resp.value);
69
+ };
70
+ socket.onerror = () => reject(new UWError("CONNECTION_FAILED"));
71
+ socket.onclose = (event) => reject(new UWError("CONNECTION_CLOSED", event.reason));
72
+ });
73
+ return new XConnection({
74
+ id,
75
+ socket
76
+ });
77
+ }
51
78
  initListeners() {
52
79
  this.socket.onopen = null;
53
80
  this.socket.onmessage = (event) => {
@@ -88,34 +115,6 @@ var XConnection = class XConnection {
88
115
  setResponseHandler(handler) {
89
116
  this.responseHandler = handler;
90
117
  }
91
- static async init(config) {
92
- const socket = new WebSocket(config.url);
93
- return new XConnection({
94
- socket,
95
- id: await new Promise((resolve, reject) => {
96
- setInterval(() => reject(new UWError("CONNECTION_TIMEOUT")), config.connectionTimeout);
97
- socket.onopen = () => socket.send(JSON.stringify({ action: "getConnectionID" }));
98
- socket.onmessage = (event) => {
99
- let resp;
100
- {
101
- const result = safeParseMessageEventDataToXResponse(event.data);
102
- if (!result.success) {
103
- reject(result.error);
104
- return;
105
- }
106
- resp = result.data;
107
- }
108
- if (resp.type !== "connectionID") {
109
- reject(new UWError("INVALID_RESPONSE", `unexpected response type: ${resp.type}`));
110
- return;
111
- }
112
- resolve(resp.value);
113
- };
114
- socket.onerror = () => reject(new UWError("CONNECTION_FAILED"));
115
- socket.onclose = (event) => reject(new UWError("CONNECTION_CLOSED", event.reason));
116
- })
117
- });
118
- }
119
118
  };
120
119
  function safeParseMessageEventDataToXResponse(data) {
121
120
  const result = zod.z.string().refine((val) => {
@@ -129,7 +128,7 @@ function safeParseMessageEventDataToXResponse(data) {
129
128
  abort: true,
130
129
  message: "Invalid JSON string"
131
130
  }).transform((val) => JSON.parse(val)).pipe(zod.z.object({
132
- type: zod.z.enum(VALID_X_RESPONSE_TYPES),
131
+ type: zod.z.enum(X_RESPONSE_TYPES),
133
132
  value: zod.z.string()
134
133
  })).safeParse(data);
135
134
  if (!result.success) return {
@@ -150,7 +149,7 @@ var UnWallet = class UnWallet {
150
149
  this.xConnection = args.xConnection;
151
150
  }
152
151
  static async init(config) {
153
- const env = config.env !== void 0 ? config.env : "prod";
152
+ const env = config.env ?? "prod";
154
153
  return new UnWallet({
155
154
  env,
156
155
  clientID: config.clientID,
@@ -163,7 +162,7 @@ var UnWallet = class UnWallet {
163
162
  authorize(args) {
164
163
  const url = new URL(`${this.unWalletConfig.frontend.baseURL}/${args.isVirtual !== void 0 ? args.isVirtual ? "v" : "" : "v"}authorize`);
165
164
  url.searchParams.set("response_type", "id_token");
166
- url.searchParams.set("response_mode", args.responseMode !== void 0 ? args.responseMode : "fragment");
165
+ url.searchParams.set("response_mode", args.responseMode ?? "fragment");
167
166
  url.searchParams.set("client_id", this.clientID);
168
167
  url.searchParams.set("scope", "openid");
169
168
  url.searchParams.set("redirect_uri", args.redirectURL);
@@ -287,8 +286,8 @@ var UnWallet = class UnWallet {
287
286
  url.searchParams.set("clientID", this.clientID);
288
287
  url.searchParams.set("chainID", args.chainID.toString());
289
288
  url.searchParams.set("toAddress", args.toAddress);
290
- url.searchParams.set("value", args.value !== void 0 ? args.value : "0x0");
291
- url.searchParams.set("data", args.data !== void 0 ? args.data : "0x");
289
+ url.searchParams.set("value", args.value ?? "0x0");
290
+ url.searchParams.set("data", args.data ?? "0x");
292
291
  url.searchParams.set("ticketToken", args.ticketToken);
293
292
  openWindow(url);
294
293
  });
package/dist/index.d.cts CHANGED
@@ -1,8 +1,6 @@
1
1
  import { Address, Hex } from "viem";
2
-
3
2
  //#region src/config.d.ts
4
- declare const VALID_ENVS: readonly ["prod", "dev"];
5
- type Env = (typeof VALID_ENVS)[number];
3
+ type Env = "prod" | "dev";
6
4
  interface Config {
7
5
  env?: Env;
8
6
  clientID: string;
@@ -32,16 +30,15 @@ interface EIP712TypedDataField {
32
30
  }
33
31
  //#endregion
34
32
  //#region src/error.d.ts
35
- declare const VALID_UW_ERROR_CODES: readonly ["CONNECTION_TIMEOUT", "CONNECTION_FAILED", "CONNECTION_NOT_OPENED", "CONNECTION_CLOSED", "INVALID_REQUEST", "REQUEST_IN_PROGRESS", "REQUEST_REJECTED", "INVALID_RESPONSE"];
36
- type UWErrorCode = (typeof VALID_UW_ERROR_CODES)[number];
33
+ type UWErrorCode = "CONNECTION_TIMEOUT" | "CONNECTION_FAILED" | "CONNECTION_NOT_OPENED" | "CONNECTION_CLOSED" | "INVALID_REQUEST" | "REQUEST_IN_PROGRESS" | "REQUEST_REJECTED" | "INVALID_RESPONSE";
37
34
  declare class UWError extends Error {
38
35
  readonly code: UWErrorCode;
39
36
  constructor(code: UWErrorCode, message?: string);
40
37
  }
41
38
  //#endregion
42
39
  //#region src/x.d.ts
43
- declare const VALID_X_RESPONSE_TYPES: readonly ["connectionID", "signature", "transactionID", "error"];
44
- type XResponseType = (typeof VALID_X_RESPONSE_TYPES)[number];
40
+ declare const X_RESPONSE_TYPES: readonly ["connectionID", "signature", "transactionID", "error"];
41
+ type XResponseType = (typeof X_RESPONSE_TYPES)[number];
45
42
  interface XResponse {
46
43
  readonly type: XResponseType;
47
44
  readonly value: string;
@@ -51,23 +48,22 @@ interface XResponseHandler {
51
48
  reject: (err: UWError) => void;
52
49
  }
53
50
  declare class XConnection {
51
+ readonly id: string;
54
52
  private socket;
55
53
  private responseHandler;
56
- readonly id: string;
57
54
  constructor(args: {
58
- socket: WebSocket;
59
55
  id: string;
56
+ socket: WebSocket;
60
57
  });
58
+ static init(config: UnWalletXAPIConfig): Promise<XConnection>;
61
59
  private initListeners;
62
60
  get readyState(): number;
63
61
  get hasResponseHandler(): boolean;
64
62
  setResponseHandler(handler: XResponseHandler | null): void;
65
- static init(config: UnWalletXAPIConfig): Promise<XConnection>;
66
63
  }
67
64
  //#endregion
68
65
  //#region src/unwallet.d.ts
69
- declare const VALID_AUTHORIZATION_RESPONSE_MODES: readonly ["fragment", "form_post"];
70
- type AuthorizationResponseMode = (typeof VALID_AUTHORIZATION_RESPONSE_MODES)[number];
66
+ type AuthorizationResponseMode = "fragment" | "form_post";
71
67
  interface SignResult {
72
68
  digest: string;
73
69
  signature: string;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import { Address, Hex } from "viem";
2
-
3
2
  //#region src/config.d.ts
4
- declare const VALID_ENVS: readonly ["prod", "dev"];
5
- type Env = (typeof VALID_ENVS)[number];
3
+ type Env = "prod" | "dev";
6
4
  interface Config {
7
5
  env?: Env;
8
6
  clientID: string;
@@ -32,16 +30,15 @@ interface EIP712TypedDataField {
32
30
  }
33
31
  //#endregion
34
32
  //#region src/error.d.ts
35
- declare const VALID_UW_ERROR_CODES: readonly ["CONNECTION_TIMEOUT", "CONNECTION_FAILED", "CONNECTION_NOT_OPENED", "CONNECTION_CLOSED", "INVALID_REQUEST", "REQUEST_IN_PROGRESS", "REQUEST_REJECTED", "INVALID_RESPONSE"];
36
- type UWErrorCode = (typeof VALID_UW_ERROR_CODES)[number];
33
+ type UWErrorCode = "CONNECTION_TIMEOUT" | "CONNECTION_FAILED" | "CONNECTION_NOT_OPENED" | "CONNECTION_CLOSED" | "INVALID_REQUEST" | "REQUEST_IN_PROGRESS" | "REQUEST_REJECTED" | "INVALID_RESPONSE";
37
34
  declare class UWError extends Error {
38
35
  readonly code: UWErrorCode;
39
36
  constructor(code: UWErrorCode, message?: string);
40
37
  }
41
38
  //#endregion
42
39
  //#region src/x.d.ts
43
- declare const VALID_X_RESPONSE_TYPES: readonly ["connectionID", "signature", "transactionID", "error"];
44
- type XResponseType = (typeof VALID_X_RESPONSE_TYPES)[number];
40
+ declare const X_RESPONSE_TYPES: readonly ["connectionID", "signature", "transactionID", "error"];
41
+ type XResponseType = (typeof X_RESPONSE_TYPES)[number];
45
42
  interface XResponse {
46
43
  readonly type: XResponseType;
47
44
  readonly value: string;
@@ -51,23 +48,22 @@ interface XResponseHandler {
51
48
  reject: (err: UWError) => void;
52
49
  }
53
50
  declare class XConnection {
51
+ readonly id: string;
54
52
  private socket;
55
53
  private responseHandler;
56
- readonly id: string;
57
54
  constructor(args: {
58
- socket: WebSocket;
59
55
  id: string;
56
+ socket: WebSocket;
60
57
  });
58
+ static init(config: UnWalletXAPIConfig): Promise<XConnection>;
61
59
  private initListeners;
62
60
  get readyState(): number;
63
61
  get hasResponseHandler(): boolean;
64
62
  setResponseHandler(handler: XResponseHandler | null): void;
65
- static init(config: UnWalletXAPIConfig): Promise<XConnection>;
66
63
  }
67
64
  //#endregion
68
65
  //#region src/unwallet.d.ts
69
- declare const VALID_AUTHORIZATION_RESPONSE_MODES: readonly ["fragment", "form_post"];
70
- type AuthorizationResponseMode = (typeof VALID_AUTHORIZATION_RESPONSE_MODES)[number];
66
+ type AuthorizationResponseMode = "fragment" | "form_post";
71
67
  interface SignResult {
72
68
  digest: string;
73
69
  signature: string;
package/dist/index.js CHANGED
@@ -12,29 +12,27 @@ var UWError = class extends Error {
12
12
  };
13
13
  //#endregion
14
14
  //#region src/config.ts
15
- const UNWALLET_CONFIG_PROD = {
16
- frontend: { baseURL: "https://id.unwallet.world" },
17
- xapi: {
18
- url: "wss://xapi.id.unwallet.world",
19
- connectionTimeout: 1e4
20
- }
21
- };
22
- const UNWALLET_CONFIG_DEV = {
23
- frontend: { baseURL: "http://localhost:4200" },
24
- xapi: {
25
- url: "wss://xapi.id.test.unwallet.dev",
26
- connectionTimeout: 1e4
27
- }
28
- };
29
15
  function getUnWalletConfigByEnv(env) {
30
16
  switch (env) {
31
- case "prod": return UNWALLET_CONFIG_PROD;
32
- case "dev": return UNWALLET_CONFIG_DEV;
17
+ case "prod": return {
18
+ frontend: { baseURL: "https://id.unwallet.world" },
19
+ xapi: {
20
+ url: "wss://xapi.id.unwallet.world",
21
+ connectionTimeout: 1e4
22
+ }
23
+ };
24
+ case "dev": return {
25
+ frontend: { baseURL: "http://localhost:4200" },
26
+ xapi: {
27
+ url: "wss://xapi.id.test.unwallet.dev",
28
+ connectionTimeout: 1e4
29
+ }
30
+ };
33
31
  }
34
32
  }
35
33
  //#endregion
36
34
  //#region src/x.ts
37
- const VALID_X_RESPONSE_TYPES = [
35
+ const X_RESPONSE_TYPES = [
38
36
  "connectionID",
39
37
  "signature",
40
38
  "transactionID",
@@ -47,6 +45,35 @@ var XConnection = class XConnection {
47
45
  this.id = args.id;
48
46
  this.initListeners();
49
47
  }
48
+ static async init(config) {
49
+ const socket = new WebSocket(config.url);
50
+ const id = await new Promise((resolve, reject) => {
51
+ setInterval(() => reject(new UWError("CONNECTION_TIMEOUT")), config.connectionTimeout);
52
+ socket.onopen = () => socket.send(JSON.stringify({ action: "getConnectionID" }));
53
+ socket.onmessage = (event) => {
54
+ let resp;
55
+ {
56
+ const result = safeParseMessageEventDataToXResponse(event.data);
57
+ if (!result.success) {
58
+ reject(result.error);
59
+ return;
60
+ }
61
+ resp = result.data;
62
+ }
63
+ if (resp.type !== "connectionID") {
64
+ reject(new UWError("INVALID_RESPONSE", `unexpected response type: ${resp.type}`));
65
+ return;
66
+ }
67
+ resolve(resp.value);
68
+ };
69
+ socket.onerror = () => reject(new UWError("CONNECTION_FAILED"));
70
+ socket.onclose = (event) => reject(new UWError("CONNECTION_CLOSED", event.reason));
71
+ });
72
+ return new XConnection({
73
+ id,
74
+ socket
75
+ });
76
+ }
50
77
  initListeners() {
51
78
  this.socket.onopen = null;
52
79
  this.socket.onmessage = (event) => {
@@ -87,34 +114,6 @@ var XConnection = class XConnection {
87
114
  setResponseHandler(handler) {
88
115
  this.responseHandler = handler;
89
116
  }
90
- static async init(config) {
91
- const socket = new WebSocket(config.url);
92
- return new XConnection({
93
- socket,
94
- id: await new Promise((resolve, reject) => {
95
- setInterval(() => reject(new UWError("CONNECTION_TIMEOUT")), config.connectionTimeout);
96
- socket.onopen = () => socket.send(JSON.stringify({ action: "getConnectionID" }));
97
- socket.onmessage = (event) => {
98
- let resp;
99
- {
100
- const result = safeParseMessageEventDataToXResponse(event.data);
101
- if (!result.success) {
102
- reject(result.error);
103
- return;
104
- }
105
- resp = result.data;
106
- }
107
- if (resp.type !== "connectionID") {
108
- reject(new UWError("INVALID_RESPONSE", `unexpected response type: ${resp.type}`));
109
- return;
110
- }
111
- resolve(resp.value);
112
- };
113
- socket.onerror = () => reject(new UWError("CONNECTION_FAILED"));
114
- socket.onclose = (event) => reject(new UWError("CONNECTION_CLOSED", event.reason));
115
- })
116
- });
117
- }
118
117
  };
119
118
  function safeParseMessageEventDataToXResponse(data) {
120
119
  const result = z.string().refine((val) => {
@@ -128,7 +127,7 @@ function safeParseMessageEventDataToXResponse(data) {
128
127
  abort: true,
129
128
  message: "Invalid JSON string"
130
129
  }).transform((val) => JSON.parse(val)).pipe(z.object({
131
- type: z.enum(VALID_X_RESPONSE_TYPES),
130
+ type: z.enum(X_RESPONSE_TYPES),
132
131
  value: z.string()
133
132
  })).safeParse(data);
134
133
  if (!result.success) return {
@@ -149,7 +148,7 @@ var UnWallet = class UnWallet {
149
148
  this.xConnection = args.xConnection;
150
149
  }
151
150
  static async init(config) {
152
- const env = config.env !== void 0 ? config.env : "prod";
151
+ const env = config.env ?? "prod";
153
152
  return new UnWallet({
154
153
  env,
155
154
  clientID: config.clientID,
@@ -162,7 +161,7 @@ var UnWallet = class UnWallet {
162
161
  authorize(args) {
163
162
  const url = new URL(`${this.unWalletConfig.frontend.baseURL}/${args.isVirtual !== void 0 ? args.isVirtual ? "v" : "" : "v"}authorize`);
164
163
  url.searchParams.set("response_type", "id_token");
165
- url.searchParams.set("response_mode", args.responseMode !== void 0 ? args.responseMode : "fragment");
164
+ url.searchParams.set("response_mode", args.responseMode ?? "fragment");
166
165
  url.searchParams.set("client_id", this.clientID);
167
166
  url.searchParams.set("scope", "openid");
168
167
  url.searchParams.set("redirect_uri", args.redirectURL);
@@ -286,8 +285,8 @@ var UnWallet = class UnWallet {
286
285
  url.searchParams.set("clientID", this.clientID);
287
286
  url.searchParams.set("chainID", args.chainID.toString());
288
287
  url.searchParams.set("toAddress", args.toAddress);
289
- url.searchParams.set("value", args.value !== void 0 ? args.value : "0x0");
290
- url.searchParams.set("data", args.data !== void 0 ? args.data : "0x");
288
+ url.searchParams.set("value", args.value ?? "0x0");
289
+ url.searchParams.set("data", args.data ?? "0x");
291
290
  url.searchParams.set("ticketToken", args.ticketToken);
292
291
  openWindow(url);
293
292
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unwallet-client-sdk",
3
- "version": "0.19.0",
3
+ "version": "0.20.1",
4
4
  "description": "unWallet client-side SDK",
5
5
  "license": "MIT",
6
6
  "author": "SIVIRA",
@@ -19,9 +19,9 @@
19
19
  }
20
20
  }
21
21
  },
22
- "main": "dist/index.cjs",
23
- "module": "dist/index.js",
24
- "types": "dist/index.d.ts",
22
+ "main": "./dist/index.cjs",
23
+ "module": "./dist/index.js",
24
+ "types": "./dist/index.d.ts",
25
25
  "sideEffects": false,
26
26
  "type": "module",
27
27
  "repository": {
@@ -29,18 +29,18 @@
29
29
  "url": "git+https://github.com/SIVIRA/unwallet-client-sdk-js.git"
30
30
  },
31
31
  "dependencies": {
32
- "viem": "2.52.2",
32
+ "viem": "2.55.10",
33
33
  "zod": "4.4.3"
34
34
  },
35
35
  "devDependencies": {
36
- "@commitlint/cli": "21.0.2",
37
- "@commitlint/config-conventional": "21.0.2",
38
- "@commitlint/types": "21.0.1",
36
+ "@commitlint/cli": "21.2.1",
37
+ "@commitlint/config-conventional": "21.2.0",
38
+ "@commitlint/types": "21.2.0",
39
39
  "@tsconfig/strictest": "2.0.8",
40
40
  "czg": "1.13.1",
41
41
  "husky": "9.1.7",
42
- "publint": "0.3.21",
43
- "tsdown": "0.22.2"
42
+ "publint": "0.3.22",
43
+ "tsdown": "0.22.14"
44
44
  },
45
45
  "scripts": {}
46
46
  }