unwallet-client-sdk 0.14.0 → 0.15.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 +2 -16
- package/dist/{unwallet.d.ts → index.d.mts} +28 -3
- package/dist/index.d.ts +60 -3
- package/dist/index.js +217 -4
- package/{src/unwallet.ts → dist/index.mjs} +67 -98
- package/package.json +26 -10
- package/.github/workflows/publish.yml +0 -29
- package/.husky/commit-msg +0 -1
- package/commitlint.config.js +0 -1
- package/dist/configs.d.ts +0 -5
- package/dist/configs.d.ts.map +0 -1
- package/dist/configs.js +0 -21
- package/dist/index.d.ts.map +0 -1
- package/dist/types.d.ts +0 -22
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/unwallet.d.ts.map +0 -1
- package/dist/unwallet.js +0 -150
- package/src/configs.ts +0 -20
- package/src/index.ts +0 -2
- package/src/types.ts +0 -26
- package/tsconfig.json +0 -15
package/README.md
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
# unWallet client-side SDK
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
npm install unwallet-client-sdk
|
|
9
|
-
```
|
|
3
|
+
[](https://npm.im/unwallet-client-sdk)
|
|
10
4
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```js
|
|
14
|
-
import { UnWallet } from "unwallet-client-sdk";
|
|
15
|
-
|
|
16
|
-
const unWallet = await UnWallet.init({
|
|
17
|
-
clientID: "CLIENT_ID_OF_YOUR_APPLICATION",
|
|
18
|
-
});
|
|
19
|
-
```
|
|
5
|
+
:warning: This SDK works correctly only on web browsers.
|
|
20
6
|
|
|
21
7
|
## Usage
|
|
22
8
|
|
|
@@ -1,5 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare const VALID_ENVS: readonly ["prod", "dev"];
|
|
2
|
+
|
|
3
|
+
type Env = (typeof VALID_ENVS)[number];
|
|
4
|
+
interface Config {
|
|
5
|
+
clientID: string;
|
|
6
|
+
env?: Env;
|
|
7
|
+
}
|
|
8
|
+
interface UnWalletConfig {
|
|
9
|
+
frontend: UnWalletFrontendConfig;
|
|
10
|
+
xapi: UnWalletXAPIConfig;
|
|
11
|
+
}
|
|
12
|
+
interface UnWalletFrontendConfig {
|
|
13
|
+
baseURL: string;
|
|
14
|
+
}
|
|
15
|
+
interface UnWalletXAPIConfig {
|
|
16
|
+
url: string;
|
|
17
|
+
}
|
|
18
|
+
interface SignResult {
|
|
19
|
+
digest: string;
|
|
20
|
+
signature: string;
|
|
21
|
+
}
|
|
22
|
+
interface SendTransactionResult {
|
|
23
|
+
transactionID: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare class UnWallet {
|
|
3
27
|
private config;
|
|
4
28
|
private unWalletConfig;
|
|
5
29
|
private ws;
|
|
@@ -32,4 +56,5 @@ export declare class UnWallet {
|
|
|
32
56
|
private handleWSMessage;
|
|
33
57
|
private openWindow;
|
|
34
58
|
}
|
|
35
|
-
|
|
59
|
+
|
|
60
|
+
export { type Config, type SendTransactionResult, type SignResult, UnWallet };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
declare const VALID_ENVS: readonly ["prod", "dev"];
|
|
2
|
+
|
|
3
|
+
type Env = (typeof VALID_ENVS)[number];
|
|
4
|
+
interface Config {
|
|
5
|
+
clientID: string;
|
|
6
|
+
env?: Env;
|
|
7
|
+
}
|
|
8
|
+
interface UnWalletConfig {
|
|
9
|
+
frontend: UnWalletFrontendConfig;
|
|
10
|
+
xapi: UnWalletXAPIConfig;
|
|
11
|
+
}
|
|
12
|
+
interface UnWalletFrontendConfig {
|
|
13
|
+
baseURL: string;
|
|
14
|
+
}
|
|
15
|
+
interface UnWalletXAPIConfig {
|
|
16
|
+
url: string;
|
|
17
|
+
}
|
|
18
|
+
interface SignResult {
|
|
19
|
+
digest: string;
|
|
20
|
+
signature: string;
|
|
21
|
+
}
|
|
22
|
+
interface SendTransactionResult {
|
|
23
|
+
transactionID: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare class UnWallet {
|
|
27
|
+
private config;
|
|
28
|
+
private unWalletConfig;
|
|
29
|
+
private ws;
|
|
30
|
+
private connectionID;
|
|
31
|
+
private resolve;
|
|
32
|
+
private reject;
|
|
33
|
+
constructor(config: Config, unWalletConfig: UnWalletConfig, ws: WebSocket);
|
|
34
|
+
private initPromiseArgs;
|
|
35
|
+
static init(config: Config): Promise<UnWallet>;
|
|
36
|
+
authorize(args: {
|
|
37
|
+
responseMode?: string;
|
|
38
|
+
redirectURL: string;
|
|
39
|
+
nonce?: string;
|
|
40
|
+
isVirtual?: boolean;
|
|
41
|
+
chainID?: number;
|
|
42
|
+
}): void;
|
|
43
|
+
sign(args: {
|
|
44
|
+
message: string;
|
|
45
|
+
ticketToken: string;
|
|
46
|
+
}): Promise<SignResult>;
|
|
47
|
+
sendTransaction(args: {
|
|
48
|
+
chainID: number;
|
|
49
|
+
toAddress: string;
|
|
50
|
+
value?: string;
|
|
51
|
+
data?: string;
|
|
52
|
+
ticketToken: string;
|
|
53
|
+
}): Promise<SendTransactionResult>;
|
|
54
|
+
private getConnectionID;
|
|
55
|
+
private sendWSMessage;
|
|
56
|
+
private handleWSMessage;
|
|
57
|
+
private openWindow;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { type Config, type SendTransactionResult, type SignResult, UnWallet };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,218 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
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
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
UnWallet: () => UnWallet
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(index_exports);
|
|
26
|
+
|
|
27
|
+
// src/unwallet.ts
|
|
28
|
+
var import_ethers = require("ethers");
|
|
29
|
+
|
|
30
|
+
// src/consts.ts
|
|
31
|
+
var UNWALLET_CONFIG_PROD = {
|
|
32
|
+
frontend: {
|
|
33
|
+
baseURL: "https://id.unwallet.world"
|
|
34
|
+
},
|
|
35
|
+
xapi: {
|
|
36
|
+
url: "wss://xapi.id.unwallet.world"
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var UNWALLET_CONFIG_DEV = {
|
|
40
|
+
frontend: {
|
|
41
|
+
baseURL: "http://localhost:4200"
|
|
42
|
+
},
|
|
43
|
+
xapi: {
|
|
44
|
+
url: "wss://xapi.id.test.unwallet.dev"
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// src/unwallet.ts
|
|
49
|
+
var UnWallet = class _UnWallet {
|
|
50
|
+
constructor(config, unWalletConfig, ws) {
|
|
51
|
+
this.resolve = null;
|
|
52
|
+
this.reject = null;
|
|
53
|
+
this.config = config;
|
|
54
|
+
this.unWalletConfig = unWalletConfig;
|
|
55
|
+
this.ws = ws;
|
|
56
|
+
this.connectionID = "";
|
|
57
|
+
this.initPromiseArgs();
|
|
58
|
+
}
|
|
59
|
+
initPromiseArgs() {
|
|
60
|
+
this.resolve = () => {
|
|
61
|
+
};
|
|
62
|
+
this.reject = () => {
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
static init(config) {
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
if (config.env === void 0) {
|
|
68
|
+
config.env = "prod";
|
|
69
|
+
}
|
|
70
|
+
let unWalletConfig;
|
|
71
|
+
{
|
|
72
|
+
switch (config.env) {
|
|
73
|
+
case "prod":
|
|
74
|
+
unWalletConfig = UNWALLET_CONFIG_PROD;
|
|
75
|
+
break;
|
|
76
|
+
case "dev":
|
|
77
|
+
unWalletConfig = UNWALLET_CONFIG_DEV;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const ws = new WebSocket(unWalletConfig.xapi.url);
|
|
82
|
+
{
|
|
83
|
+
ws.onerror = () => {
|
|
84
|
+
reject("websocket connection failed");
|
|
85
|
+
};
|
|
86
|
+
ws.onopen = () => {
|
|
87
|
+
unWallet.getConnectionID();
|
|
88
|
+
};
|
|
89
|
+
ws.onmessage = (event) => {
|
|
90
|
+
const msg = JSON.parse(event.data);
|
|
91
|
+
if (msg.type === "connectionID") {
|
|
92
|
+
unWallet.connectionID = msg.value;
|
|
93
|
+
resolve(unWallet);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
unWallet.handleWSMessage(msg);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
const unWallet = new _UnWallet(config, unWalletConfig, ws);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
authorize(args) {
|
|
103
|
+
if (!args.responseMode) {
|
|
104
|
+
args.responseMode = "fragment";
|
|
105
|
+
}
|
|
106
|
+
let url = new URL(
|
|
107
|
+
`${this.unWalletConfig.frontend.baseURL}/${args.isVirtual === false ? "" : "v"}authorize`
|
|
108
|
+
);
|
|
109
|
+
{
|
|
110
|
+
url.searchParams.set("response_type", "id_token");
|
|
111
|
+
url.searchParams.set("response_mode", args.responseMode);
|
|
112
|
+
url.searchParams.set("client_id", this.config.clientID);
|
|
113
|
+
url.searchParams.set("scope", "openid");
|
|
114
|
+
url.searchParams.set("redirect_uri", args.redirectURL);
|
|
115
|
+
if (args.nonce !== void 0) {
|
|
116
|
+
url.searchParams.set("nonce", args.nonce);
|
|
117
|
+
}
|
|
118
|
+
if (args.chainID !== void 0) {
|
|
119
|
+
url.searchParams.set("chain_id", args.chainID.toString());
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
location.assign(url.toString());
|
|
123
|
+
}
|
|
124
|
+
sign(args) {
|
|
125
|
+
return new Promise((resolve, reject) => {
|
|
126
|
+
this.resolve = (sig) => {
|
|
127
|
+
resolve({
|
|
128
|
+
digest: import_ethers.ethers.sha256(import_ethers.ethers.toUtf8Bytes(args.message)),
|
|
129
|
+
signature: sig
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
this.reject = reject;
|
|
133
|
+
const url = new URL(`${this.unWalletConfig.frontend.baseURL}/x/sign`);
|
|
134
|
+
{
|
|
135
|
+
url.searchParams.set("connectionID", this.connectionID);
|
|
136
|
+
url.searchParams.set("clientID", this.config.clientID);
|
|
137
|
+
url.searchParams.set("message", args.message);
|
|
138
|
+
url.searchParams.set("ticketToken", args.ticketToken);
|
|
139
|
+
}
|
|
140
|
+
this.openWindow(url);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
sendTransaction(args) {
|
|
144
|
+
return new Promise((resolve, reject) => {
|
|
145
|
+
if (args.value === void 0 && args.data === void 0) {
|
|
146
|
+
throw new Error("either value or data required");
|
|
147
|
+
}
|
|
148
|
+
this.resolve = (txID) => {
|
|
149
|
+
resolve({ transactionID: txID });
|
|
150
|
+
};
|
|
151
|
+
this.reject = reject;
|
|
152
|
+
const url = new URL(
|
|
153
|
+
`${this.unWalletConfig.frontend.baseURL}/x/sendTransaction`
|
|
154
|
+
);
|
|
155
|
+
{
|
|
156
|
+
url.searchParams.set("connectionID", this.connectionID);
|
|
157
|
+
url.searchParams.set("clientID", this.config.clientID);
|
|
158
|
+
url.searchParams.set("chainID", args.chainID.toString());
|
|
159
|
+
url.searchParams.set("toAddress", args.toAddress);
|
|
160
|
+
url.searchParams.set(
|
|
161
|
+
"value",
|
|
162
|
+
args.value !== void 0 ? args.value : "0x0"
|
|
163
|
+
);
|
|
164
|
+
url.searchParams.set(
|
|
165
|
+
"data",
|
|
166
|
+
args.data !== void 0 ? args.data : "0x"
|
|
167
|
+
);
|
|
168
|
+
url.searchParams.set("ticketToken", args.ticketToken);
|
|
169
|
+
}
|
|
170
|
+
this.openWindow(url);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
getConnectionID() {
|
|
174
|
+
this.sendWSMessage({
|
|
175
|
+
action: "getConnectionID"
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
sendWSMessage(msg) {
|
|
179
|
+
this.ws.send(JSON.stringify(msg));
|
|
180
|
+
}
|
|
181
|
+
handleWSMessage(msg) {
|
|
182
|
+
switch (msg.type) {
|
|
183
|
+
case "signature":
|
|
184
|
+
this.resolve(msg.value);
|
|
185
|
+
break;
|
|
186
|
+
case "transactionID":
|
|
187
|
+
this.resolve(msg.value);
|
|
188
|
+
break;
|
|
189
|
+
case "error":
|
|
190
|
+
switch (msg.value) {
|
|
191
|
+
case "rejected":
|
|
192
|
+
this.reject("canceled");
|
|
193
|
+
break;
|
|
194
|
+
default:
|
|
195
|
+
throw new Error(msg.value);
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
default:
|
|
199
|
+
throw new Error(`unexpected message type: ${msg.type}`);
|
|
200
|
+
}
|
|
201
|
+
this.initPromiseArgs();
|
|
202
|
+
}
|
|
203
|
+
openWindow(url) {
|
|
204
|
+
const width = screen.width / 2;
|
|
205
|
+
const height = screen.height;
|
|
206
|
+
const left = screen.width / 4;
|
|
207
|
+
const top = 0;
|
|
208
|
+
window.open(
|
|
209
|
+
url.toString(),
|
|
210
|
+
"_blank",
|
|
211
|
+
`width=${width},height=${height},left=${left},top=${top}`
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
216
|
+
0 && (module.exports = {
|
|
217
|
+
UnWallet
|
|
218
|
+
});
|
|
@@ -1,59 +1,65 @@
|
|
|
1
|
+
// src/unwallet.ts
|
|
1
2
|
import { ethers } from "ethers";
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
// src/consts.ts
|
|
5
|
+
var UNWALLET_CONFIG_PROD = {
|
|
6
|
+
frontend: {
|
|
7
|
+
baseURL: "https://id.unwallet.world"
|
|
8
|
+
},
|
|
9
|
+
xapi: {
|
|
10
|
+
url: "wss://xapi.id.unwallet.world"
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
var UNWALLET_CONFIG_DEV = {
|
|
14
|
+
frontend: {
|
|
15
|
+
baseURL: "http://localhost:4200"
|
|
16
|
+
},
|
|
17
|
+
xapi: {
|
|
18
|
+
url: "wss://xapi.id.test.unwallet.dev"
|
|
19
|
+
}
|
|
20
|
+
};
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
// src/unwallet.ts
|
|
23
|
+
var UnWallet = class _UnWallet {
|
|
24
|
+
constructor(config, unWalletConfig, ws) {
|
|
25
|
+
this.resolve = null;
|
|
26
|
+
this.reject = null;
|
|
22
27
|
this.config = config;
|
|
23
28
|
this.unWalletConfig = unWalletConfig;
|
|
24
|
-
|
|
25
29
|
this.ws = ws;
|
|
26
30
|
this.connectionID = "";
|
|
27
|
-
|
|
28
31
|
this.initPromiseArgs();
|
|
29
32
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.reject = (
|
|
33
|
+
initPromiseArgs() {
|
|
34
|
+
this.resolve = () => {
|
|
35
|
+
};
|
|
36
|
+
this.reject = () => {
|
|
37
|
+
};
|
|
34
38
|
}
|
|
35
|
-
|
|
36
|
-
public static init(config: Config): Promise<UnWallet> {
|
|
39
|
+
static init(config) {
|
|
37
40
|
return new Promise((resolve, reject) => {
|
|
38
|
-
if (config.env ===
|
|
41
|
+
if (config.env === void 0) {
|
|
39
42
|
config.env = "prod";
|
|
40
43
|
}
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
let unWalletConfig;
|
|
45
|
+
{
|
|
46
|
+
switch (config.env) {
|
|
47
|
+
case "prod":
|
|
48
|
+
unWalletConfig = UNWALLET_CONFIG_PROD;
|
|
49
|
+
break;
|
|
50
|
+
case "dev":
|
|
51
|
+
unWalletConfig = UNWALLET_CONFIG_DEV;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
43
54
|
}
|
|
44
|
-
|
|
45
|
-
const unWalletConfig = unWalletConfigs[config.env];
|
|
46
|
-
|
|
47
55
|
const ws = new WebSocket(unWalletConfig.xapi.url);
|
|
48
56
|
{
|
|
49
|
-
ws.onerror = (
|
|
57
|
+
ws.onerror = () => {
|
|
50
58
|
reject("websocket connection failed");
|
|
51
59
|
};
|
|
52
|
-
|
|
53
|
-
ws.onopen = (event) => {
|
|
60
|
+
ws.onopen = () => {
|
|
54
61
|
unWallet.getConnectionID();
|
|
55
62
|
};
|
|
56
|
-
|
|
57
63
|
ws.onmessage = (event) => {
|
|
58
64
|
const msg = JSON.parse(event.data);
|
|
59
65
|
if (msg.type === "connectionID") {
|
|
@@ -61,31 +67,18 @@ export class UnWallet {
|
|
|
61
67
|
resolve(unWallet);
|
|
62
68
|
return;
|
|
63
69
|
}
|
|
64
|
-
|
|
65
70
|
unWallet.handleWSMessage(msg);
|
|
66
71
|
};
|
|
67
72
|
}
|
|
68
|
-
|
|
69
|
-
// should be run after ws setup
|
|
70
|
-
const unWallet = new UnWallet(config, unWalletConfig, ws);
|
|
73
|
+
const unWallet = new _UnWallet(config, unWalletConfig, ws);
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
|
-
|
|
74
|
-
public authorize(args: {
|
|
75
|
-
responseMode?: string;
|
|
76
|
-
redirectURL: string;
|
|
77
|
-
nonce?: string;
|
|
78
|
-
isVirtual?: boolean;
|
|
79
|
-
chainID?: number;
|
|
80
|
-
}): void {
|
|
76
|
+
authorize(args) {
|
|
81
77
|
if (!args.responseMode) {
|
|
82
78
|
args.responseMode = "fragment";
|
|
83
79
|
}
|
|
84
|
-
|
|
85
80
|
let url = new URL(
|
|
86
|
-
`${this.unWalletConfig.frontend.baseURL}/${
|
|
87
|
-
args.isVirtual === false ? "" : "v"
|
|
88
|
-
}authorize`
|
|
81
|
+
`${this.unWalletConfig.frontend.baseURL}/${args.isVirtual === false ? "" : "v"}authorize`
|
|
89
82
|
);
|
|
90
83
|
{
|
|
91
84
|
url.searchParams.set("response_type", "id_token");
|
|
@@ -93,30 +86,24 @@ export class UnWallet {
|
|
|
93
86
|
url.searchParams.set("client_id", this.config.clientID);
|
|
94
87
|
url.searchParams.set("scope", "openid");
|
|
95
88
|
url.searchParams.set("redirect_uri", args.redirectURL);
|
|
96
|
-
if (args.nonce !==
|
|
89
|
+
if (args.nonce !== void 0) {
|
|
97
90
|
url.searchParams.set("nonce", args.nonce);
|
|
98
91
|
}
|
|
99
|
-
if (args.chainID !==
|
|
92
|
+
if (args.chainID !== void 0) {
|
|
100
93
|
url.searchParams.set("chain_id", args.chainID.toString());
|
|
101
94
|
}
|
|
102
95
|
}
|
|
103
|
-
|
|
104
96
|
location.assign(url.toString());
|
|
105
97
|
}
|
|
106
|
-
|
|
107
|
-
public sign(args: {
|
|
108
|
-
message: string;
|
|
109
|
-
ticketToken: string;
|
|
110
|
-
}): Promise<SignResult> {
|
|
98
|
+
sign(args) {
|
|
111
99
|
return new Promise((resolve, reject) => {
|
|
112
|
-
this.resolve = (sig
|
|
100
|
+
this.resolve = (sig) => {
|
|
113
101
|
resolve({
|
|
114
102
|
digest: ethers.sha256(ethers.toUtf8Bytes(args.message)),
|
|
115
|
-
signature: sig
|
|
103
|
+
signature: sig
|
|
116
104
|
});
|
|
117
105
|
};
|
|
118
106
|
this.reject = reject;
|
|
119
|
-
|
|
120
107
|
const url = new URL(`${this.unWalletConfig.frontend.baseURL}/x/sign`);
|
|
121
108
|
{
|
|
122
109
|
url.searchParams.set("connectionID", this.connectionID);
|
|
@@ -124,28 +111,18 @@ export class UnWallet {
|
|
|
124
111
|
url.searchParams.set("message", args.message);
|
|
125
112
|
url.searchParams.set("ticketToken", args.ticketToken);
|
|
126
113
|
}
|
|
127
|
-
|
|
128
114
|
this.openWindow(url);
|
|
129
115
|
});
|
|
130
116
|
}
|
|
131
|
-
|
|
132
|
-
public sendTransaction(args: {
|
|
133
|
-
chainID: number;
|
|
134
|
-
toAddress: string;
|
|
135
|
-
value?: string;
|
|
136
|
-
data?: string;
|
|
137
|
-
ticketToken: string;
|
|
138
|
-
}): Promise<SendTransactionResult> {
|
|
117
|
+
sendTransaction(args) {
|
|
139
118
|
return new Promise((resolve, reject) => {
|
|
140
|
-
if (args.value ===
|
|
119
|
+
if (args.value === void 0 && args.data === void 0) {
|
|
141
120
|
throw new Error("either value or data required");
|
|
142
121
|
}
|
|
143
|
-
|
|
144
|
-
this.resolve = (txID: string) => {
|
|
122
|
+
this.resolve = (txID) => {
|
|
145
123
|
resolve({ transactionID: txID });
|
|
146
124
|
};
|
|
147
125
|
this.reject = reject;
|
|
148
|
-
|
|
149
126
|
const url = new URL(
|
|
150
127
|
`${this.unWalletConfig.frontend.baseURL}/x/sendTransaction`
|
|
151
128
|
);
|
|
@@ -156,67 +133,59 @@ export class UnWallet {
|
|
|
156
133
|
url.searchParams.set("toAddress", args.toAddress);
|
|
157
134
|
url.searchParams.set(
|
|
158
135
|
"value",
|
|
159
|
-
args.value !==
|
|
136
|
+
args.value !== void 0 ? args.value : "0x0"
|
|
160
137
|
);
|
|
161
138
|
url.searchParams.set(
|
|
162
139
|
"data",
|
|
163
|
-
args.data !==
|
|
140
|
+
args.data !== void 0 ? args.data : "0x"
|
|
164
141
|
);
|
|
165
142
|
url.searchParams.set("ticketToken", args.ticketToken);
|
|
166
143
|
}
|
|
167
|
-
|
|
168
144
|
this.openWindow(url);
|
|
169
145
|
});
|
|
170
146
|
}
|
|
171
|
-
|
|
172
|
-
private getConnectionID(): void {
|
|
147
|
+
getConnectionID() {
|
|
173
148
|
this.sendWSMessage({
|
|
174
|
-
action: "getConnectionID"
|
|
149
|
+
action: "getConnectionID"
|
|
175
150
|
});
|
|
176
151
|
}
|
|
177
|
-
|
|
178
|
-
private sendWSMessage(msg: any): void {
|
|
152
|
+
sendWSMessage(msg) {
|
|
179
153
|
this.ws.send(JSON.stringify(msg));
|
|
180
154
|
}
|
|
181
|
-
|
|
182
|
-
private handleWSMessage(msg: any): void {
|
|
155
|
+
handleWSMessage(msg) {
|
|
183
156
|
switch (msg.type) {
|
|
184
157
|
case "signature":
|
|
185
|
-
this.resolve
|
|
158
|
+
this.resolve(msg.value);
|
|
186
159
|
break;
|
|
187
|
-
|
|
188
160
|
case "transactionID":
|
|
189
|
-
this.resolve
|
|
161
|
+
this.resolve(msg.value);
|
|
190
162
|
break;
|
|
191
|
-
|
|
192
163
|
case "error":
|
|
193
164
|
switch (msg.value) {
|
|
194
165
|
case "rejected":
|
|
195
|
-
this.reject
|
|
166
|
+
this.reject("canceled");
|
|
196
167
|
break;
|
|
197
|
-
|
|
198
168
|
default:
|
|
199
169
|
throw new Error(msg.value);
|
|
200
170
|
}
|
|
201
171
|
break;
|
|
202
|
-
|
|
203
172
|
default:
|
|
204
173
|
throw new Error(`unexpected message type: ${msg.type}`);
|
|
205
174
|
}
|
|
206
|
-
|
|
207
175
|
this.initPromiseArgs();
|
|
208
176
|
}
|
|
209
|
-
|
|
210
|
-
private openWindow(url: URL): void {
|
|
177
|
+
openWindow(url) {
|
|
211
178
|
const width = screen.width / 2;
|
|
212
179
|
const height = screen.height;
|
|
213
180
|
const left = screen.width / 4;
|
|
214
181
|
const top = 0;
|
|
215
|
-
|
|
216
182
|
window.open(
|
|
217
183
|
url.toString(),
|
|
218
184
|
"_blank",
|
|
219
185
|
`width=${width},height=${height},left=${left},top=${top}`
|
|
220
186
|
);
|
|
221
187
|
}
|
|
222
|
-
}
|
|
188
|
+
};
|
|
189
|
+
export {
|
|
190
|
+
UnWallet
|
|
191
|
+
};
|
package/package.json
CHANGED
|
@@ -1,32 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unwallet-client-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "unWallet client-side SDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "SIVIRA",
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"require": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"import": {
|
|
17
|
+
"types": "./dist/index.d.mts",
|
|
18
|
+
"default": "./dist/index.mjs"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
11
21
|
},
|
|
22
|
+
"main": "dist/index.js",
|
|
23
|
+
"module": "dist/index.mjs",
|
|
24
|
+
"types": "dist/index.d.ts",
|
|
25
|
+
"repository": "github:SIVIRA/unwallet-client-sdk-js",
|
|
12
26
|
"config": {
|
|
13
27
|
"commitizen": {
|
|
14
28
|
"path": "./node_modules/cz-conventional-changelog"
|
|
15
29
|
}
|
|
16
30
|
},
|
|
17
31
|
"dependencies": {
|
|
18
|
-
"ethers": "6.
|
|
32
|
+
"ethers": "6.14.0"
|
|
19
33
|
},
|
|
20
34
|
"devDependencies": {
|
|
21
|
-
"@commitlint/cli": "19.
|
|
22
|
-
"@commitlint/config-conventional": "19.
|
|
35
|
+
"@commitlint/cli": "19.8.1",
|
|
36
|
+
"@commitlint/config-conventional": "19.8.1",
|
|
37
|
+
"@commitlint/types": "19.8.1",
|
|
38
|
+
"@tsconfig/strictest": "2.0.5",
|
|
23
39
|
"commitizen": "4.3.1",
|
|
24
40
|
"cz-conventional-changelog": "3.3.0",
|
|
25
41
|
"husky": "9.1.7",
|
|
26
|
-
"
|
|
42
|
+
"tsup": "8.4.0"
|
|
27
43
|
},
|
|
28
44
|
"scripts": {
|
|
29
|
-
"build": "
|
|
45
|
+
"build": "tsup",
|
|
30
46
|
"commit": "cz"
|
|
31
47
|
}
|
|
32
48
|
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
name: publish
|
|
2
|
-
on:
|
|
3
|
-
release:
|
|
4
|
-
types: [published]
|
|
5
|
-
jobs:
|
|
6
|
-
publish:
|
|
7
|
-
runs-on: ubuntu-latest
|
|
8
|
-
steps:
|
|
9
|
-
- name: Checkout
|
|
10
|
-
uses: actions/checkout@v4
|
|
11
|
-
- name: Set up pnpm
|
|
12
|
-
uses: pnpm/action-setup@v4
|
|
13
|
-
- name: Prepare to cache dependencies
|
|
14
|
-
shell: bash
|
|
15
|
-
run: |
|
|
16
|
-
echo "PNPM_STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
17
|
-
- name: Cache dependencies
|
|
18
|
-
uses: actions/cache@v4
|
|
19
|
-
with:
|
|
20
|
-
path: ${{ env.PNPM_STORE_PATH }}
|
|
21
|
-
key: pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
|
|
22
|
-
- name: Install dependencies
|
|
23
|
-
run: pnpm install
|
|
24
|
-
- name: Build
|
|
25
|
-
run: pnpm build
|
|
26
|
-
- name: Prepare to publish
|
|
27
|
-
run: pnpm config set '//registry.npmjs.org/:_authToken' "${{ secrets.NPM_TOKEN }}"
|
|
28
|
-
- name: Publish
|
|
29
|
-
run: pnpm publish --access public --no-git-checks
|
package/.husky/commit-msg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pnpm --no -- commitlint --edit $1
|
package/commitlint.config.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = { extends: ["@commitlint/config-conventional"] };
|
package/dist/configs.d.ts
DELETED
package/dist/configs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAiB5D,CAAC"}
|
package/dist/configs.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unWalletConfigs = void 0;
|
|
4
|
-
exports.unWalletConfigs = {
|
|
5
|
-
prod: {
|
|
6
|
-
frontend: {
|
|
7
|
-
baseURL: "https://id.unwallet.world",
|
|
8
|
-
},
|
|
9
|
-
xapi: {
|
|
10
|
-
url: "wss://xapi.id.unwallet.world",
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
dev: {
|
|
14
|
-
frontend: {
|
|
15
|
-
baseURL: "http://localhost:4200",
|
|
16
|
-
},
|
|
17
|
-
xapi: {
|
|
18
|
-
url: "wss://xapi.id.test.unwallet.dev",
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
};
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface Config {
|
|
2
|
-
clientID: string;
|
|
3
|
-
env?: string;
|
|
4
|
-
}
|
|
5
|
-
export interface UnWalletConfig {
|
|
6
|
-
frontend: UnWalletFrontendConfig;
|
|
7
|
-
xapi: UnWalletXAPIConfig;
|
|
8
|
-
}
|
|
9
|
-
export interface UnWalletFrontendConfig {
|
|
10
|
-
baseURL: string;
|
|
11
|
-
}
|
|
12
|
-
export interface UnWalletXAPIConfig {
|
|
13
|
-
url: string;
|
|
14
|
-
}
|
|
15
|
-
export interface SignResult {
|
|
16
|
-
digest: string;
|
|
17
|
-
signature: string;
|
|
18
|
-
}
|
|
19
|
-
export interface SendTransactionResult {
|
|
20
|
-
transactionID: string;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;CACvB"}
|
package/dist/types.js
DELETED
package/dist/unwallet.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unwallet.d.ts","sourceRoot":"","sources":["../src/unwallet.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EACN,cAAc,EACd,UAAU,EACV,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,MAAM,CAAwC;gBAE1C,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS;IAUzE,OAAO,CAAC,eAAe;WAKT,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsC9C,SAAS,CAAC,IAAI,EAAE;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI;IA2BD,IAAI,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBhB,eAAe,CAAC,IAAI,EAAE;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkClC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,UAAU;CAYnB"}
|
package/dist/unwallet.js
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnWallet = void 0;
|
|
4
|
-
const ethers_1 = require("ethers");
|
|
5
|
-
const configs_1 = require("./configs");
|
|
6
|
-
class UnWallet {
|
|
7
|
-
constructor(config, unWalletConfig, ws) {
|
|
8
|
-
this.resolve = null;
|
|
9
|
-
this.reject = null;
|
|
10
|
-
this.config = config;
|
|
11
|
-
this.unWalletConfig = unWalletConfig;
|
|
12
|
-
this.ws = ws;
|
|
13
|
-
this.connectionID = "";
|
|
14
|
-
this.initPromiseArgs();
|
|
15
|
-
}
|
|
16
|
-
initPromiseArgs() {
|
|
17
|
-
this.resolve = (result) => { };
|
|
18
|
-
this.reject = (reason) => { };
|
|
19
|
-
}
|
|
20
|
-
static init(config) {
|
|
21
|
-
return new Promise((resolve, reject) => {
|
|
22
|
-
if (config.env === undefined) {
|
|
23
|
-
config.env = "prod";
|
|
24
|
-
}
|
|
25
|
-
if (!(config.env in configs_1.unWalletConfigs)) {
|
|
26
|
-
throw Error("invalid env");
|
|
27
|
-
}
|
|
28
|
-
const unWalletConfig = configs_1.unWalletConfigs[config.env];
|
|
29
|
-
const ws = new WebSocket(unWalletConfig.xapi.url);
|
|
30
|
-
{
|
|
31
|
-
ws.onerror = (event) => {
|
|
32
|
-
reject("websocket connection failed");
|
|
33
|
-
};
|
|
34
|
-
ws.onopen = (event) => {
|
|
35
|
-
unWallet.getConnectionID();
|
|
36
|
-
};
|
|
37
|
-
ws.onmessage = (event) => {
|
|
38
|
-
const msg = JSON.parse(event.data);
|
|
39
|
-
if (msg.type === "connectionID") {
|
|
40
|
-
unWallet.connectionID = msg.value;
|
|
41
|
-
resolve(unWallet);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
unWallet.handleWSMessage(msg);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
// should be run after ws setup
|
|
48
|
-
const unWallet = new UnWallet(config, unWalletConfig, ws);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
authorize(args) {
|
|
52
|
-
if (!args.responseMode) {
|
|
53
|
-
args.responseMode = "fragment";
|
|
54
|
-
}
|
|
55
|
-
let url = new URL(`${this.unWalletConfig.frontend.baseURL}/${args.isVirtual === false ? "" : "v"}authorize`);
|
|
56
|
-
{
|
|
57
|
-
url.searchParams.set("response_type", "id_token");
|
|
58
|
-
url.searchParams.set("response_mode", args.responseMode);
|
|
59
|
-
url.searchParams.set("client_id", this.config.clientID);
|
|
60
|
-
url.searchParams.set("scope", "openid");
|
|
61
|
-
url.searchParams.set("redirect_uri", args.redirectURL);
|
|
62
|
-
if (args.nonce !== undefined) {
|
|
63
|
-
url.searchParams.set("nonce", args.nonce);
|
|
64
|
-
}
|
|
65
|
-
if (args.chainID !== undefined) {
|
|
66
|
-
url.searchParams.set("chain_id", args.chainID.toString());
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
location.assign(url.toString());
|
|
70
|
-
}
|
|
71
|
-
sign(args) {
|
|
72
|
-
return new Promise((resolve, reject) => {
|
|
73
|
-
this.resolve = (sig) => {
|
|
74
|
-
resolve({
|
|
75
|
-
digest: ethers_1.ethers.sha256(ethers_1.ethers.toUtf8Bytes(args.message)),
|
|
76
|
-
signature: sig,
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
this.reject = reject;
|
|
80
|
-
const url = new URL(`${this.unWalletConfig.frontend.baseURL}/x/sign`);
|
|
81
|
-
{
|
|
82
|
-
url.searchParams.set("connectionID", this.connectionID);
|
|
83
|
-
url.searchParams.set("clientID", this.config.clientID);
|
|
84
|
-
url.searchParams.set("message", args.message);
|
|
85
|
-
url.searchParams.set("ticketToken", args.ticketToken);
|
|
86
|
-
}
|
|
87
|
-
this.openWindow(url);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
sendTransaction(args) {
|
|
91
|
-
return new Promise((resolve, reject) => {
|
|
92
|
-
if (args.value === undefined && args.data === undefined) {
|
|
93
|
-
throw new Error("either value or data required");
|
|
94
|
-
}
|
|
95
|
-
this.resolve = (txID) => {
|
|
96
|
-
resolve({ transactionID: txID });
|
|
97
|
-
};
|
|
98
|
-
this.reject = reject;
|
|
99
|
-
const url = new URL(`${this.unWalletConfig.frontend.baseURL}/x/sendTransaction`);
|
|
100
|
-
{
|
|
101
|
-
url.searchParams.set("connectionID", this.connectionID);
|
|
102
|
-
url.searchParams.set("clientID", this.config.clientID);
|
|
103
|
-
url.searchParams.set("chainID", args.chainID.toString());
|
|
104
|
-
url.searchParams.set("toAddress", args.toAddress);
|
|
105
|
-
url.searchParams.set("value", args.value !== undefined ? args.value : "0x0");
|
|
106
|
-
url.searchParams.set("data", args.data !== undefined ? args.data : "0x");
|
|
107
|
-
url.searchParams.set("ticketToken", args.ticketToken);
|
|
108
|
-
}
|
|
109
|
-
this.openWindow(url);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
getConnectionID() {
|
|
113
|
-
this.sendWSMessage({
|
|
114
|
-
action: "getConnectionID",
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
sendWSMessage(msg) {
|
|
118
|
-
this.ws.send(JSON.stringify(msg));
|
|
119
|
-
}
|
|
120
|
-
handleWSMessage(msg) {
|
|
121
|
-
switch (msg.type) {
|
|
122
|
-
case "signature":
|
|
123
|
-
this.resolve(msg.value);
|
|
124
|
-
break;
|
|
125
|
-
case "transactionID":
|
|
126
|
-
this.resolve(msg.value);
|
|
127
|
-
break;
|
|
128
|
-
case "error":
|
|
129
|
-
switch (msg.value) {
|
|
130
|
-
case "rejected":
|
|
131
|
-
this.reject("canceled");
|
|
132
|
-
break;
|
|
133
|
-
default:
|
|
134
|
-
throw new Error(msg.value);
|
|
135
|
-
}
|
|
136
|
-
break;
|
|
137
|
-
default:
|
|
138
|
-
throw new Error(`unexpected message type: ${msg.type}`);
|
|
139
|
-
}
|
|
140
|
-
this.initPromiseArgs();
|
|
141
|
-
}
|
|
142
|
-
openWindow(url) {
|
|
143
|
-
const width = screen.width / 2;
|
|
144
|
-
const height = screen.height;
|
|
145
|
-
const left = screen.width / 4;
|
|
146
|
-
const top = 0;
|
|
147
|
-
window.open(url.toString(), "_blank", `width=${width},height=${height},left=${left},top=${top}`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
exports.UnWallet = UnWallet;
|
package/src/configs.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { UnWalletConfig } from "./types";
|
|
2
|
-
|
|
3
|
-
export const unWalletConfigs: { [env: string]: UnWalletConfig } = {
|
|
4
|
-
prod: {
|
|
5
|
-
frontend: {
|
|
6
|
-
baseURL: "https://id.unwallet.world",
|
|
7
|
-
},
|
|
8
|
-
xapi: {
|
|
9
|
-
url: "wss://xapi.id.unwallet.world",
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
dev: {
|
|
13
|
-
frontend: {
|
|
14
|
-
baseURL: "http://localhost:4200",
|
|
15
|
-
},
|
|
16
|
-
xapi: {
|
|
17
|
-
url: "wss://xapi.id.test.unwallet.dev",
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
};
|
package/src/index.ts
DELETED
package/src/types.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export interface Config {
|
|
2
|
-
clientID: string;
|
|
3
|
-
env?: string;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export interface UnWalletConfig {
|
|
7
|
-
frontend: UnWalletFrontendConfig;
|
|
8
|
-
xapi: UnWalletXAPIConfig;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface UnWalletFrontendConfig {
|
|
12
|
-
baseURL: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface UnWalletXAPIConfig {
|
|
16
|
-
url: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface SignResult {
|
|
20
|
-
digest: string;
|
|
21
|
-
signature: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface SendTransactionResult {
|
|
25
|
-
transactionID: string;
|
|
26
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"declaration": true,
|
|
4
|
-
"declarationMap": true,
|
|
5
|
-
"forceConsistentCasingInFileNames": true,
|
|
6
|
-
"esModuleInterop": true,
|
|
7
|
-
"lib": ["dom", "es2015"],
|
|
8
|
-
"module": "commonjs",
|
|
9
|
-
"outDir": "./dist",
|
|
10
|
-
"skipLibCheck": true,
|
|
11
|
-
"strict": true,
|
|
12
|
-
"target": "es6"
|
|
13
|
-
},
|
|
14
|
-
"include": ["./src"]
|
|
15
|
-
}
|