unwallet-client-sdk 0.3.0 → 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 CHANGED
@@ -39,14 +39,55 @@ const sig = await unWallet.sign({
39
39
  });
40
40
  ```
41
41
 
42
+ #### Example return value
43
+
44
+ ```json
45
+ {
46
+ "digest": "0xc71ed5b0509d8da72abc9527ed72530743822e8d9b33f9695b42e20ece78c09b",
47
+ "signature": "0xd94388b5d51395c46b00f6197de318ba275cd7f9c5e4dccf2059373a4b41b3975403852e2587f262375e6d2b3318380dcd95535ecebec7e8c7ebbbefdcf22a371b"
48
+ }
49
+ ```
50
+
51
+ ### Requesting a signature for a transaction
52
+
53
+ ```js
54
+ const metaTx = await unWallet.signTransaction({
55
+ to: "0xB481148EB6A5f6b5b9Cc10cb0C8304B9B179A8e6", // the address the transaction is directed to
56
+ value: "0x0", // the MATIC value sent with this transaction (optional)
57
+ data: "0x...", // the hash of the invoked method signature and encoded parameters (optional)
58
+ });
59
+ ```
60
+
61
+ #### Example return value
62
+
63
+ ```json
64
+ {
65
+ "executor": "0x3ADBDCBa56d70Fc15Dcbe98901432cC07B2aAaeF",
66
+ "data": "0x...",
67
+ "signature": "0x19eb83842bc2d2c55567d4da63981ae9d4ce76ec567b591f18e18f4e030c4389331ba3ce0f1549331cb51710881320982b7b7a3632a7d81ca214690ecf3267c51c"
68
+ }
69
+ ```
70
+
71
+ To execute the transaction, call [POST /metaTransactions of unWallet Enterprise API](https://developers.ent.unwallet.world/ja/latest/unwallet-ent-api.html#post-metatransactions).
72
+
42
73
  ### Requesting a signature for a token transfer transaction
43
74
 
44
75
  ```js
45
76
  const metaTx = await unWallet.signTokenTransfer({
46
- id: 1, // token ID
47
- to: "0x0000000000000000000000000000000000000000", // destination address
77
+ id: 101, // token ID
78
+ to: "0xB481148EB6A5f6b5b9Cc10cb0C8304B9B179A8e6", // destination address
48
79
  amount: 1, // token amount
49
80
  });
50
81
  ```
51
82
 
83
+ #### Example return value
84
+
85
+ ```json
86
+ {
87
+ "executor": "0x3ADBDCBa56d70Fc15Dcbe98901432cC07B2aAaeF",
88
+ "data": "0x...",
89
+ "signature": "0x19eb83842bc2d2c55567d4da63981ae9d4ce76ec567b591f18e18f4e030c4389331ba3ce0f1549331cb51710881320982b7b7a3632a7d81ca214690ecf3267c51c"
90
+ }
91
+ ```
92
+
52
93
  To execute the transaction, call [POST /metaTransactions of unWallet Enterprise API](https://developers.ent.unwallet.world/ja/latest/unwallet-ent-api.html#post-metatransactions).
package/dist/types.d.ts CHANGED
@@ -7,6 +7,10 @@ export interface UnWalletConfig {
7
7
  authURL: string;
8
8
  wsAPIURL: string;
9
9
  }
10
+ export interface DigestAndSignature {
11
+ digest: string;
12
+ signature: string;
13
+ }
10
14
  export interface MetaTransaction {
11
15
  executor: string;
12
16
  data: string;
@@ -1 +1 @@
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,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB"}
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,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,4 +1,4 @@
1
- import { Config, UnWalletConfig, MetaTransaction } from "./types";
1
+ import { Config, UnWalletConfig, DigestAndSignature, MetaTransaction } from "./types";
2
2
  export declare class UnWallet {
3
3
  private config;
4
4
  private unWalletConfig;
@@ -16,7 +16,12 @@ export declare class UnWallet {
16
16
  }): void;
17
17
  sign(args: {
18
18
  message: string;
19
- }): Promise<string>;
19
+ }): Promise<DigestAndSignature>;
20
+ signTransaction(args: {
21
+ to: string;
22
+ value?: string;
23
+ data?: string;
24
+ }): Promise<MetaTransaction>;
20
25
  signTokenTransfer(args: {
21
26
  id: number;
22
27
  to: string;
@@ -1 +1 @@
1
- {"version":3,"file":"unwallet.d.ts","sourceRoot":"","sources":["../src/unwallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElE,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;IAiC9C,SAAS,CAAC,IAAI,EAAE;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IAgBD,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAahD,iBAAiB,CAAC,IAAI,EAAE;QAC7B,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,eAAe,CAAC;IAerB,kBAAkB,CAAC,IAAI,EAAE;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,UAAU;CAYnB"}
1
+ {"version":3,"file":"unwallet.d.ts","sourceRoot":"","sources":["../src/unwallet.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,eAAe,EAChB,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;IAiC9C,SAAS,CAAC,IAAI,EAAE;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IAgBD,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmB5D,eAAe,CAAC,IAAI,EAAE;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,eAAe,CAAC;IAcrB,iBAAiB,CAAC,IAAI,EAAE;QAC7B,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBrB,kBAAkB,CAAC,IAAI,EAAE;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBnB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,UAAU;CAYnB"}
package/dist/unwallet.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UnWallet = void 0;
4
+ const ethers_1 = require("ethers");
4
5
  const configs_1 = require("./configs");
5
6
  class UnWallet {
6
7
  constructor(config, unWalletConfig, ws) {
@@ -60,7 +61,12 @@ class UnWallet {
60
61
  }
61
62
  sign(args) {
62
63
  return new Promise((resolve, reject) => {
63
- this.resolve = resolve;
64
+ this.resolve = (sig) => {
65
+ resolve({
66
+ digest: ethers_1.ethers.utils.sha256(ethers_1.ethers.utils.toUtf8Bytes(args.message)),
67
+ signature: sig,
68
+ });
69
+ };
64
70
  this.reject = reject;
65
71
  const url = new URL(`${this.unWalletConfig.baseURL}/x/sign`);
66
72
  url.searchParams.set("connectionID", this.connectionID);
@@ -69,6 +75,17 @@ class UnWallet {
69
75
  this.openWindow(url);
70
76
  });
71
77
  }
78
+ signTransaction(args) {
79
+ return new Promise((resolve, reject) => {
80
+ this.resolve = resolve;
81
+ this.reject = reject;
82
+ const url = new URL(`${this.unWalletConfig.baseURL}/x/signTransaction`);
83
+ url.searchParams.set("connectionID", this.connectionID);
84
+ url.searchParams.set("clientID", this.config.clientID);
85
+ url.searchParams.set("transaction", JSON.stringify(args));
86
+ this.openWindow(url);
87
+ });
88
+ }
72
89
  signTokenTransfer(args) {
73
90
  return new Promise((resolve, reject) => {
74
91
  this.resolve = resolve;
@@ -121,6 +138,7 @@ class UnWallet {
121
138
  default:
122
139
  throw new Error(msg.value);
123
140
  }
141
+ break;
124
142
  default:
125
143
  throw new Error(`unknown message type: ${msg.type}`);
126
144
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unwallet-client-sdk",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "unWallet client-side SDK",
5
5
  "license": "MIT",
6
6
  "author": "SIVIRA",
@@ -12,6 +12,9 @@
12
12
  "scripts": {
13
13
  "build": "tsc"
14
14
  },
15
+ "dependencies": {
16
+ "ethers": "^5.6.9"
17
+ },
15
18
  "devDependencies": {
16
19
  "typescript": "^4.3.4"
17
20
  }
package/src/types.ts CHANGED
@@ -9,6 +9,11 @@ export interface UnWalletConfig {
9
9
  wsAPIURL: string;
10
10
  }
11
11
 
12
+ export interface DigestAndSignature {
13
+ digest: string;
14
+ signature: string;
15
+ }
16
+
12
17
  export interface MetaTransaction {
13
18
  executor: string;
14
19
  data: string;
package/src/unwallet.ts CHANGED
@@ -1,5 +1,12 @@
1
+ import { ethers } from "ethers";
2
+
1
3
  import { unWalletConfigs } from "./configs";
2
- import { Config, UnWalletConfig, MetaTransaction } from "./types";
4
+ import {
5
+ Config,
6
+ UnWalletConfig,
7
+ DigestAndSignature,
8
+ MetaTransaction,
9
+ } from "./types";
3
10
 
4
11
  export class UnWallet {
5
12
  private config: Config;
@@ -79,15 +86,39 @@ export class UnWallet {
79
86
  location.assign(url.toString());
80
87
  }
81
88
 
82
- public sign(args: { message: string }): Promise<string> {
89
+ public sign(args: { message: string }): Promise<DigestAndSignature> {
83
90
  return new Promise((resolve, reject) => {
84
- this.resolve = resolve;
91
+ this.resolve = (sig: string) => {
92
+ resolve({
93
+ digest: ethers.utils.sha256(ethers.utils.toUtf8Bytes(args.message)),
94
+ signature: sig,
95
+ });
96
+ };
85
97
  this.reject = reject;
86
98
 
87
99
  const url = new URL(`${this.unWalletConfig.baseURL}/x/sign`);
88
100
  url.searchParams.set("connectionID", this.connectionID);
89
101
  url.searchParams.set("clientID", this.config.clientID);
90
102
  url.searchParams.set("message", args.message);
103
+
104
+ this.openWindow(url);
105
+ });
106
+ }
107
+
108
+ public signTransaction(args: {
109
+ to: string;
110
+ value?: string;
111
+ data?: string;
112
+ }): Promise<MetaTransaction> {
113
+ return new Promise((resolve, reject) => {
114
+ this.resolve = resolve;
115
+ this.reject = reject;
116
+
117
+ const url = new URL(`${this.unWalletConfig.baseURL}/x/signTransaction`);
118
+ url.searchParams.set("connectionID", this.connectionID);
119
+ url.searchParams.set("clientID", this.config.clientID);
120
+ url.searchParams.set("transaction", JSON.stringify(args));
121
+
91
122
  this.openWindow(url);
92
123
  });
93
124
  }
@@ -107,6 +138,7 @@ export class UnWallet {
107
138
  url.searchParams.set("id", args.id.toString());
108
139
  url.searchParams.set("to", args.to);
109
140
  url.searchParams.set("amount", args.amount.toString());
141
+
110
142
  this.openWindow(url);
111
143
  });
112
144
  }
@@ -126,6 +158,7 @@ export class UnWallet {
126
158
  url.searchParams.set("clientID", this.config.clientID);
127
159
  url.searchParams.set("credential", args.credential);
128
160
  url.searchParams.set("challenge", args.challenge);
161
+
129
162
  this.openWindow(url);
130
163
  });
131
164
  }
@@ -163,6 +196,7 @@ export class UnWallet {
163
196
  default:
164
197
  throw new Error(msg.value);
165
198
  }
199
+ break;
166
200
 
167
201
  default:
168
202
  throw new Error(`unknown message type: ${msg.type}`);