zano_web3 9.2.1 → 9.3.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/package.json +1 -1
- package/shared/dist/utils.js +1 -1
- package/shared/dist/utils.js.map +1 -1
- package/web/src/zanoWallet.ts +32 -18
package/package.json
CHANGED
package/shared/dist/utils.js
CHANGED
|
@@ -17,7 +17,7 @@ export function validateTokensInput(input, decimal_point = 12) {
|
|
|
17
17
|
error: 'Invalid decimal point',
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
const dotInput = input.replace(/,/g, '');
|
|
20
|
+
const dotInput = input.replace(/,/g, '.');
|
|
21
21
|
const decimalDevider = new Decimal(10).pow(decimal_point);
|
|
22
22
|
const maxAllowedNumber = MAX_NUMBER.div(decimalDevider);
|
|
23
23
|
const minAllowedNumber = new Decimal(1).div(decimalDevider);
|
package/shared/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,UAAU,mBAAmB,CAAC,KAAsB,EAAE,gBAAwB,EAAE;IAElF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACf,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,eAAe;SACzB,CAAC;IACN,CAAC;IAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;QAC1C,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uBAAuB;SACjC,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,UAAU,mBAAmB,CAAC,KAAsB,EAAE,gBAAwB,EAAE;IAElF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACf,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,eAAe;SACzB,CAAC;IACN,CAAC;IAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;QAC1C,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uBAAuB;SACjC,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE1D,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QAClB,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC/C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEtF,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBAC9C,OAAO,YAAY,CAAC;gBACxB,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAE3D,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;QACjC,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,0CAA0C;SACpD,CAAC;IACN,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,mEAAmE;SAC7E,CAAC;IACN,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,eAAe,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,oCAAoC;SAC9C,CAAC;IACN,CAAC;IAED,IAAI,eAAe,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,sCAAsC;SAChD,CAAC;IACN,CAAC;IAED,OAAO;QACH,KAAK,EAAE,IAAI;KACd,CAAC;AACN,CAAC"}
|
package/web/src/zanoWallet.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Wallet } from './types';
|
|
|
4
4
|
export interface ZanoWalletParams {
|
|
5
5
|
authPath: string;
|
|
6
6
|
useLocalStorage?: boolean; // default: true
|
|
7
|
-
aliasRequired?: boolean;
|
|
7
|
+
aliasRequired?: boolean;
|
|
8
8
|
customLocalStorageKey?: string;
|
|
9
9
|
customNonce?: string;
|
|
10
10
|
customServerPath?: string;
|
|
@@ -35,6 +35,15 @@ interface WalletCredentials {
|
|
|
35
35
|
address: string;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
type PermissionType =
|
|
39
|
+
| 'general'
|
|
40
|
+
| 'balance'
|
|
41
|
+
| 'history'
|
|
42
|
+
|
|
43
|
+
interface CompanionPermission {
|
|
44
|
+
type: PermissionType;
|
|
45
|
+
}
|
|
46
|
+
|
|
38
47
|
class ZanoWallet {
|
|
39
48
|
|
|
40
49
|
private DEFAULT_LOCAL_STORAGE_KEY = "wallet";
|
|
@@ -42,7 +51,7 @@ class ZanoWallet {
|
|
|
42
51
|
|
|
43
52
|
private params: ZanoWalletParams;
|
|
44
53
|
private zanoWallet: ZanoWindowParams;
|
|
45
|
-
|
|
54
|
+
|
|
46
55
|
constructor(params: ZanoWalletParams) {
|
|
47
56
|
|
|
48
57
|
if (typeof window === 'undefined') {
|
|
@@ -57,9 +66,9 @@ class ZanoWallet {
|
|
|
57
66
|
this.zanoWallet = ((window as unknown) as ZanoWindow).zano;
|
|
58
67
|
this.localStorageKey = params.customLocalStorageKey || this.DEFAULT_LOCAL_STORAGE_KEY;
|
|
59
68
|
}
|
|
60
|
-
|
|
61
69
|
|
|
62
|
-
|
|
70
|
+
|
|
71
|
+
private handleError({ message }: { message: string }) {
|
|
63
72
|
if (this.params.onConnectError) {
|
|
64
73
|
this.params.onConnectError(message);
|
|
65
74
|
} else {
|
|
@@ -89,8 +98,13 @@ class ZanoWallet {
|
|
|
89
98
|
this.setWalletCredentials(undefined);
|
|
90
99
|
}
|
|
91
100
|
|
|
92
|
-
async
|
|
101
|
+
async requestPermissions(permissions: CompanionPermission[]) {
|
|
102
|
+
return this.zanoWallet.request('REQUEST_ACCESS', {
|
|
103
|
+
permissions,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
93
106
|
|
|
107
|
+
async connect() {
|
|
94
108
|
if (this.params.beforeConnect) {
|
|
95
109
|
await this.params.beforeConnect();
|
|
96
110
|
}
|
|
@@ -122,7 +136,7 @@ class ZanoWallet {
|
|
|
122
136
|
console.log('existingWalletValid', existingWalletValid);
|
|
123
137
|
console.log('existingWallet', existingWallet);
|
|
124
138
|
console.log('walletData', walletData);
|
|
125
|
-
|
|
139
|
+
|
|
126
140
|
if (existingWalletValid) {
|
|
127
141
|
nonce = existingWallet.nonce;
|
|
128
142
|
signature = existingWallet.signature;
|
|
@@ -131,23 +145,23 @@ class ZanoWallet {
|
|
|
131
145
|
const generatedNonce = this.params.customNonce || uuidv4();
|
|
132
146
|
|
|
133
147
|
const signResult = await this.zanoWallet.request(
|
|
134
|
-
'REQUEST_MESSAGE_SIGN',
|
|
148
|
+
'REQUEST_MESSAGE_SIGN',
|
|
135
149
|
{
|
|
136
150
|
message: generatedNonce
|
|
137
|
-
},
|
|
151
|
+
},
|
|
138
152
|
null
|
|
139
153
|
);
|
|
140
154
|
|
|
141
155
|
if (!signResult?.data?.result) {
|
|
142
156
|
return this.handleError({ message: 'Failed to sign message' });
|
|
143
|
-
}
|
|
157
|
+
}
|
|
144
158
|
|
|
145
159
|
nonce = generatedNonce;
|
|
146
160
|
signature = signResult.data.result.sig;
|
|
147
161
|
publicKey = signResult.data.result.pkey;
|
|
148
162
|
}
|
|
149
163
|
|
|
150
|
-
|
|
164
|
+
|
|
151
165
|
const serverData = {
|
|
152
166
|
alias: walletData.alias,
|
|
153
167
|
address: walletData.address,
|
|
@@ -163,7 +177,7 @@ class ZanoWallet {
|
|
|
163
177
|
|
|
164
178
|
|
|
165
179
|
if (!this.params.disableServerRequest) {
|
|
166
|
-
const result = await fetch(
|
|
180
|
+
const result = await fetch(this.params.customServerPath || "/api/auth", {
|
|
167
181
|
method: "POST",
|
|
168
182
|
headers: {
|
|
169
183
|
"Content-Type": "application/json",
|
|
@@ -174,11 +188,11 @@ class ZanoWallet {
|
|
|
174
188
|
}
|
|
175
189
|
)
|
|
176
190
|
})
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
191
|
+
.then(res => res.json())
|
|
192
|
+
.catch((e) => ({
|
|
193
|
+
success: false,
|
|
194
|
+
error: e.message
|
|
195
|
+
}));
|
|
182
196
|
|
|
183
197
|
if (!result?.success || !result?.data) {
|
|
184
198
|
return this.handleError({ message: result.error });
|
|
@@ -203,7 +217,7 @@ class ZanoWallet {
|
|
|
203
217
|
|
|
204
218
|
return true;
|
|
205
219
|
}
|
|
206
|
-
|
|
220
|
+
|
|
207
221
|
async getWallet() {
|
|
208
222
|
return (await this.zanoWallet.request('GET_WALLET_DATA'))?.data as Wallet;
|
|
209
223
|
}
|
|
@@ -217,4 +231,4 @@ class ZanoWallet {
|
|
|
217
231
|
}
|
|
218
232
|
}
|
|
219
233
|
|
|
220
|
-
export default ZanoWallet;
|
|
234
|
+
export default ZanoWallet;
|