wowok_agent 1.6.6 → 2.1.8

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.

Potentially problematic release.


This version of wowok_agent might be problematic. Click here for more details.

Files changed (181) hide show
  1. package/README.md +20 -40
  2. package/dist/index.d.ts +13528 -27
  3. package/dist/index.js +1026 -27
  4. package/dist/schema/call/allocation.d.ts +1370 -0
  5. package/dist/schema/call/allocation.js +27 -0
  6. package/dist/schema/call/arbitration.d.ts +1902 -0
  7. package/dist/schema/call/arbitration.js +106 -0
  8. package/dist/schema/call/base.d.ts +6381 -0
  9. package/dist/schema/call/base.js +152 -0
  10. package/dist/schema/call/contact.d.ts +898 -0
  11. package/dist/schema/call/contact.js +41 -0
  12. package/dist/schema/call/demand.d.ts +1193 -0
  13. package/dist/schema/call/demand.js +51 -0
  14. package/dist/schema/call/guard.d.ts +819 -0
  15. package/dist/schema/call/guard.js +67 -0
  16. package/dist/schema/call/handler.d.ts +80 -0
  17. package/dist/schema/call/handler.js +177 -0
  18. package/dist/schema/call/index.d.ts +18 -0
  19. package/dist/schema/call/index.js +19 -0
  20. package/dist/schema/call/machine.d.ts +3906 -0
  21. package/dist/schema/call/machine.js +164 -0
  22. package/dist/schema/call/order.d.ts +994 -0
  23. package/dist/schema/call/order.js +39 -0
  24. package/dist/schema/call/payment.d.ts +408 -0
  25. package/dist/schema/call/payment.js +20 -0
  26. package/dist/schema/call/permission.d.ts +2945 -0
  27. package/dist/schema/call/permission.js +118 -0
  28. package/dist/schema/call/personal.d.ts +1498 -0
  29. package/dist/schema/call/personal.js +81 -0
  30. package/dist/schema/call/progress.d.ts +847 -0
  31. package/dist/schema/call/progress.js +37 -0
  32. package/dist/schema/call/proof.d.ts +328 -0
  33. package/dist/schema/call/proof.js +27 -0
  34. package/dist/schema/call/repository.d.ts +2220 -0
  35. package/dist/schema/call/repository.js +85 -0
  36. package/dist/schema/call/reward.d.ts +1178 -0
  37. package/dist/schema/call/reward.js +46 -0
  38. package/dist/schema/call/service.d.ts +3534 -0
  39. package/dist/schema/call/service.js +87 -0
  40. package/dist/schema/call/treasury.d.ts +2399 -0
  41. package/dist/schema/call/treasury.js +76 -0
  42. package/dist/schema/common/index.d.ts +623 -0
  43. package/dist/schema/common/index.js +331 -0
  44. package/dist/schema/index.d.ts +7 -0
  45. package/dist/schema/index.js +8 -0
  46. package/dist/schema/local/index.d.ts +7824 -0
  47. package/dist/schema/local/index.js +913 -0
  48. package/dist/schema/local/wip.d.ts +781 -0
  49. package/dist/schema/local/wip.js +229 -0
  50. package/dist/schema/messenger/index.d.ts +3624 -0
  51. package/dist/schema/messenger/index.js +407 -0
  52. package/dist/schema/query/index.d.ts +27176 -0
  53. package/dist/schema/query/index.js +1313 -0
  54. package/dist/schema/utils/guard-parser.d.ts +20 -0
  55. package/dist/schema/utils/guard-parser.js +410 -0
  56. package/dist/schema/utils/guard-query-utils.d.ts +5 -0
  57. package/dist/schema/utils/guard-query-utils.js +22 -0
  58. package/dist/schema/utils/node-parser.d.ts +59 -0
  59. package/dist/schema/utils/node-parser.js +382 -0
  60. package/dist/schema/utils/permission-index-utils.d.ts +2 -0
  61. package/dist/schema/utils/permission-index-utils.js +10 -0
  62. package/package.json +31 -49
  63. package/LICENSE +0 -201
  64. package/dist/call/arbitration.d.ts +0 -57
  65. package/dist/call/arbitration.d.ts.map +0 -1
  66. package/dist/call/arbitration.js +0 -245
  67. package/dist/call/arbitration.js.map +0 -1
  68. package/dist/call/base.d.ts +0 -85
  69. package/dist/call/base.d.ts.map +0 -1
  70. package/dist/call/base.js +0 -231
  71. package/dist/call/base.js.map +0 -1
  72. package/dist/call/call.d.ts +0 -95
  73. package/dist/call/call.d.ts.map +0 -1
  74. package/dist/call/call.js +0 -149
  75. package/dist/call/call.js.map +0 -1
  76. package/dist/call/demand.d.ts +0 -46
  77. package/dist/call/demand.d.ts.map +0 -1
  78. package/dist/call/demand.js +0 -201
  79. package/dist/call/demand.js.map +0 -1
  80. package/dist/call/guard.d.ts +0 -53
  81. package/dist/call/guard.d.ts.map +0 -1
  82. package/dist/call/guard.js +0 -386
  83. package/dist/call/guard.js.map +0 -1
  84. package/dist/call/machine.d.ts +0 -97
  85. package/dist/call/machine.d.ts.map +0 -1
  86. package/dist/call/machine.js +0 -342
  87. package/dist/call/machine.js.map +0 -1
  88. package/dist/call/object_permission.d.ts +0 -14
  89. package/dist/call/object_permission.d.ts.map +0 -1
  90. package/dist/call/object_permission.js +0 -59
  91. package/dist/call/object_permission.js.map +0 -1
  92. package/dist/call/permission.d.ts +0 -63
  93. package/dist/call/permission.d.ts.map +0 -1
  94. package/dist/call/permission.js +0 -137
  95. package/dist/call/permission.js.map +0 -1
  96. package/dist/call/personal.d.ts +0 -47
  97. package/dist/call/personal.d.ts.map +0 -1
  98. package/dist/call/personal.js +0 -119
  99. package/dist/call/personal.js.map +0 -1
  100. package/dist/call/repository.d.ts +0 -117
  101. package/dist/call/repository.d.ts.map +0 -1
  102. package/dist/call/repository.js +0 -408
  103. package/dist/call/repository.js.map +0 -1
  104. package/dist/call/service.d.ts +0 -115
  105. package/dist/call/service.d.ts.map +0 -1
  106. package/dist/call/service.js +0 -550
  107. package/dist/call/service.js.map +0 -1
  108. package/dist/call/treasury.d.ts +0 -46
  109. package/dist/call/treasury.d.ts.map +0 -1
  110. package/dist/call/treasury.js +0 -222
  111. package/dist/call/treasury.js.map +0 -1
  112. package/dist/common.d.ts +0 -12
  113. package/dist/common.d.ts.map +0 -1
  114. package/dist/common.js +0 -71
  115. package/dist/common.js.map +0 -1
  116. package/dist/index.d.ts.map +0 -1
  117. package/dist/index.js.map +0 -1
  118. package/dist/local/.d.ts +0 -20
  119. package/dist/local/.d.ts.map +0 -1
  120. package/dist/local/.js +0 -76
  121. package/dist/local/.js.map +0 -1
  122. package/dist/local/account.d.ts +0 -42
  123. package/dist/local/account.d.ts.map +0 -1
  124. package/dist/local/account.js +0 -335
  125. package/dist/local/account.js.map +0 -1
  126. package/dist/local/cache.d.ts +0 -32
  127. package/dist/local/cache.d.ts.map +0 -1
  128. package/dist/local/cache.js +0 -77
  129. package/dist/local/cache.js.map +0 -1
  130. package/dist/local/coin.d.ts +0 -22
  131. package/dist/local/coin.d.ts.map +0 -1
  132. package/dist/local/coin.js +0 -123
  133. package/dist/local/coin.js.map +0 -1
  134. package/dist/local/config.d.ts +0 -20
  135. package/dist/local/config.d.ts.map +0 -1
  136. package/dist/local/config.js +0 -75
  137. package/dist/local/config.js.map +0 -1
  138. package/dist/local/index.d.ts +0 -110
  139. package/dist/local/index.d.ts.map +0 -1
  140. package/dist/local/index.js +0 -122
  141. package/dist/local/index.js.map +0 -1
  142. package/dist/local/local.d.ts +0 -55
  143. package/dist/local/local.d.ts.map +0 -1
  144. package/dist/local/local.js +0 -248
  145. package/dist/local/local.js.map +0 -1
  146. package/dist/query/events.d.ts +0 -65
  147. package/dist/query/events.d.ts.map +0 -1
  148. package/dist/query/events.js +0 -75
  149. package/dist/query/events.js.map +0 -1
  150. package/dist/query/objects.d.ts +0 -346
  151. package/dist/query/objects.d.ts.map +0 -1
  152. package/dist/query/objects.js +0 -472
  153. package/dist/query/objects.js.map +0 -1
  154. package/dist/query/permission.d.ts +0 -15
  155. package/dist/query/permission.d.ts.map +0 -1
  156. package/dist/query/permission.js +0 -45
  157. package/dist/query/permission.js.map +0 -1
  158. package/dist/query/received.d.ts +0 -16
  159. package/dist/query/received.d.ts.map +0 -1
  160. package/dist/query/received.js +0 -16
  161. package/dist/query/received.js.map +0 -1
  162. package/dist/schema/call.d.ts +0 -13005
  163. package/dist/schema/call.d.ts.map +0 -1
  164. package/dist/schema/call.js +0 -997
  165. package/dist/schema/call.js.map +0 -1
  166. package/dist/schema/const.d.ts +0 -254
  167. package/dist/schema/const.d.ts.map +0 -1
  168. package/dist/schema/const.js +0 -305
  169. package/dist/schema/const.js.map +0 -1
  170. package/dist/schema/local.d.ts +0 -702
  171. package/dist/schema/local.d.ts.map +0 -1
  172. package/dist/schema/local.js +0 -150
  173. package/dist/schema/local.js.map +0 -1
  174. package/dist/schema/query.d.ts +0 -1465
  175. package/dist/schema/query.d.ts.map +0 -1
  176. package/dist/schema/query.js +0 -224
  177. package/dist/schema/query.js.map +0 -1
  178. package/dist/schema/util.d.ts +0 -71
  179. package/dist/schema/util.d.ts.map +0 -1
  180. package/dist/schema/util.js +0 -139
  181. package/dist/schema/util.js.map +0 -1
@@ -1,335 +0,0 @@
1
- /**
2
- * account management and use
3
- */
4
- import { Ed25519Keypair, fromHex, toHex, decodeSuiPrivateKey, Protocol, TransactionBlock, FAUCET, Errors, ERROR, IsValidName, } from 'wowok';
5
- import { retry_db, isBrowser, session_resolve } from '../common.js';
6
- import path from 'path';
7
- import os from 'os';
8
- export const DEFAULT_ACCOUNT_NAME = 'default';
9
- const AccountLocation = 'wowok-acc';
10
- const AccountKey = 'account';
11
- export class Account {
12
- constructor() {
13
- // token_type is the platform token, if not specified.
14
- this.balance = async (address_or_name, token_type, session) => {
15
- const a = await this.get(address_or_name);
16
- const token_type_ = token_type ?? Protocol.Instance().platformToken(session?.network);
17
- if (a) {
18
- return await Protocol.Client(await session_resolve(session)).getBalance({ owner: a.address, coinType: token_type_ });
19
- }
20
- };
21
- // token_type is the platform token, if not specified.
22
- this.coin = async (token_type, address_or_name, session) => {
23
- const a = await this.get(address_or_name);
24
- const token_type_ = token_type ?? Protocol.Instance().platformToken(session?.network);
25
- if (a) {
26
- return (await Protocol.Client(await session_resolve(session)).getCoins({ owner: a.address, coinType: token_type_ })).data;
27
- }
28
- };
29
- this.get_coin_object = async (txb, balance_required, address_or_name, token_type, session) => {
30
- const a = await this.get(address_or_name);
31
- if (a) {
32
- const b = BigInt(balance_required);
33
- if (b >= BigInt(0)) {
34
- if (Protocol.Instance().IsPlatformToken(token_type, session?.network)) {
35
- return txb.splitCoins(txb.gas, [b]);
36
- }
37
- else {
38
- const r = await Protocol.Client(await session_resolve(session)).getCoins({ owner: a.address, coinType: token_type });
39
- const objects = [];
40
- var current = BigInt(0);
41
- for (let i = 0; i < r.data.length; ++i) {
42
- current += BigInt(r.data[i].balance);
43
- objects.push(r.data[i].coinObjectId);
44
- if (current >= b) {
45
- break;
46
- }
47
- }
48
- if (objects.length === 1) {
49
- return txb.splitCoins(objects[0], [b]);
50
- }
51
- else {
52
- const ret = objects.pop();
53
- txb.mergeCoins(ret, objects);
54
- return txb.splitCoins(ret, [b]);
55
- }
56
- }
57
- }
58
- }
59
- };
60
- this.coinObject_with_balance = async (balance_required, address_or_name, token_type, session) => {
61
- const a = await this.get_imp(address_or_name);
62
- if (!a)
63
- return undefined;
64
- const pair = Ed25519Keypair.fromSecretKey(fromHex(a.secret));
65
- if (!pair)
66
- return undefined;
67
- const txb = new TransactionBlock();
68
- const res = await this.get_coin_object(txb, balance_required, a.address, token_type);
69
- if (res) {
70
- txb.transferObjects([res], a.address);
71
- const r = await Protocol.Client(await session_resolve(session)).signAndExecuteTransaction({
72
- transaction: txb,
73
- signer: pair,
74
- options: { showObjectChanges: true },
75
- });
76
- const t = token_type ?? Protocol.Instance().platformToken(session?.network);
77
- return r?.objectChanges.find((v) => v?.type === 'created' && (v?.objectType).includes(t))?.objectId;
78
- }
79
- };
80
- this.location = AccountLocation;
81
- if (!isBrowser()) {
82
- this.location = path.join(path.join(os.homedir(), '.wowok'), AccountLocation);
83
- }
84
- }
85
- get_location() { return this.location; }
86
- static Instance() {
87
- if (!Account._instance) {
88
- Account._instance = new Account();
89
- }
90
- ;
91
- return Account._instance;
92
- }
93
- accountData(data, showSecret = false) {
94
- if (!data)
95
- return;
96
- const r = Ed25519Keypair.fromSecretKey(fromHex(data.secret));
97
- data.pubkey = r.getPublicKey().toSuiPublicKey();
98
- data.secret = showSecret ? r.getSecretKey() : undefined;
99
- return data;
100
- }
101
- async gen(name) {
102
- if (!name) {
103
- name = DEFAULT_ACCOUNT_NAME;
104
- }
105
- if (!IsValidName(name)) {
106
- ERROR(Errors.IsValidName, `Name ${name} is not valid`);
107
- }
108
- var secret = '0x' + toHex(decodeSuiPrivateKey(Ed25519Keypair.generate().getSecretKey()).secretKey);
109
- var address = Ed25519Keypair.fromSecretKey(fromHex(secret)).getPublicKey().toSuiAddress();
110
- return await retry_db(this.location, async (storage) => {
111
- const r = await storage.get(AccountKey);
112
- if (r) {
113
- const s = JSON.parse(r);
114
- if (name) {
115
- if (s.find(v => v.name === name)) {
116
- ERROR(Errors.IsValidName, `Name ${name} already exists`);
117
- }
118
- }
119
- const ret = { address: address, secret: secret, name };
120
- s.push(ret);
121
- await Promise.all([
122
- await storage.put(AccountKey, JSON.stringify(s)),
123
- await FAUCET.requestSuiFromFaucetV2({ host: FAUCET.getFaucetHost('testnet'), recipient: address }).catch(e => { })
124
- ]);
125
- return this.accountData(ret);
126
- }
127
- else {
128
- const ret = { address: address, secret: secret, name: name };
129
- await Promise.all([
130
- await storage.put(AccountKey, JSON.stringify([ret])),
131
- await FAUCET.requestSuiFromFaucetV2({ host: FAUCET.getFaucetHost('testnet'), recipient: address }).catch(e => { })
132
- ]);
133
- return this.accountData(ret);
134
- }
135
- });
136
- }
137
- async default() {
138
- return await retry_db(this.location, async (storage) => {
139
- const r = await storage.get(AccountKey);
140
- if (r) {
141
- const s = JSON.parse(r);
142
- return this.accountData(s.find(v => v.name === DEFAULT_ACCOUNT_NAME));
143
- }
144
- });
145
- }
146
- // address: if undefined, the default returned.
147
- async get(address_or_name) {
148
- return this.accountData(await this.get_imp(address_or_name));
149
- }
150
- async get_address(address_or_name) {
151
- return (await this.get_imp(address_or_name))?.address;
152
- }
153
- async get_imp(address_or_name) {
154
- if (!address_or_name)
155
- address_or_name = DEFAULT_ACCOUNT_NAME;
156
- return await retry_db(this.location, async (storage) => {
157
- const r = await storage.get(AccountKey);
158
- if (r) {
159
- const s = JSON.parse(r);
160
- return s.find(v => v.address === address_or_name || v.name === address_or_name);
161
- }
162
- });
163
- }
164
- async get_many(address_or_names) {
165
- return await this.get_many_imp(address_or_names).then(v => v.map(i => this.accountData(i)));
166
- }
167
- async get_many_imp(address_or_names) {
168
- return await retry_db(this.location, async (storage) => {
169
- const r = await storage.get(AccountKey);
170
- if (r) {
171
- const s = JSON.parse(r);
172
- return address_or_names.map(i => {
173
- if (!i) {
174
- return s.find(v => v.name === DEFAULT_ACCOUNT_NAME);
175
- }
176
- else {
177
- return s.find(v => v.address === i || v.name === i);
178
- }
179
- });
180
- }
181
- return address_or_names.map(v => undefined);
182
- });
183
- }
184
- async swap_names(name1, name2) {
185
- if (!name1)
186
- name1 = DEFAULT_ACCOUNT_NAME;
187
- if (!name2)
188
- name2 = DEFAULT_ACCOUNT_NAME;
189
- if (name1 === name2)
190
- return false;
191
- if (!IsValidName(name1)) {
192
- ERROR(Errors.IsValidName, `Name ${name1} is not valid`);
193
- }
194
- if (!IsValidName(name2)) {
195
- ERROR(Errors.IsValidName, `Name ${name2} is not valid`);
196
- }
197
- return await retry_db(this.location, async (storage) => {
198
- const r = await storage.get(AccountKey);
199
- if (r) {
200
- const s = JSON.parse(r);
201
- const f1 = s.find(v => v.name === name1);
202
- const f2 = s.find(v => v.name === name2);
203
- if (f1 && f2) {
204
- const t = f1.name;
205
- f1.name = f2.name;
206
- f2.name = t;
207
- await storage.put(AccountKey, JSON.stringify(s));
208
- return true;
209
- }
210
- }
211
- return false;
212
- });
213
- }
214
- async set_name(name, address_or_name) {
215
- if (!address_or_name)
216
- address_or_name = DEFAULT_ACCOUNT_NAME;
217
- if (!name)
218
- name = DEFAULT_ACCOUNT_NAME;
219
- if (address_or_name === name)
220
- return true;
221
- if (!IsValidName(name)) {
222
- ERROR(Errors.IsValidName, `Name ${name} is not valid`);
223
- }
224
- return await retry_db(this.location, async (storage) => {
225
- const r = await storage.get(AccountKey);
226
- if (r) {
227
- const s = JSON.parse(r);
228
- if (s.find(v => v.name === name)) {
229
- ERROR(Errors.IsValidName, `Name ${name} already exists`);
230
- }
231
- const f = s.find(v => v.address === address_or_name || v.name === address_or_name);
232
- if (f) {
233
- f.name = name;
234
- await storage.put(AccountKey, JSON.stringify(s));
235
- return true;
236
- }
237
- }
238
- return false;
239
- });
240
- }
241
- async list(showSuspended, showSecret = false) {
242
- return await retry_db(this.location, async (storage) => {
243
- const r = await storage.get(AccountKey);
244
- if (r) {
245
- const s = JSON.parse(r);
246
- if (showSuspended) {
247
- return s.map(v => this.accountData(v, showSecret));
248
- }
249
- else {
250
- return s.filter(v => !v.suspended).map(v => this.accountData(v, showSecret));
251
- }
252
- }
253
- return [];
254
- });
255
- }
256
- async suspend(address_or_name) {
257
- if (!address_or_name)
258
- address_or_name = DEFAULT_ACCOUNT_NAME;
259
- await retry_db(this.location, async (storage) => {
260
- const r = await storage.get(AccountKey);
261
- if (r) {
262
- const s = JSON.parse(r);
263
- const f = s.find(v => v.address === address_or_name || v.name === address_or_name);
264
- if (f) {
265
- f.suspended = true;
266
- f.name = undefined;
267
- await storage.put(AccountKey, JSON.stringify(s));
268
- }
269
- }
270
- });
271
- }
272
- async resume(address, name) {
273
- if (!name)
274
- name = DEFAULT_ACCOUNT_NAME;
275
- await retry_db(this.location, async (storage) => {
276
- const r = await storage.get(AccountKey);
277
- if (r) {
278
- const s = JSON.parse(r);
279
- if (s.find(v => v.name === name)) {
280
- ERROR(Errors.IsValidName, `Name ${name} already exists`);
281
- }
282
- const f = s.find(v => v.address === address);
283
- if (f) {
284
- f.suspended = false;
285
- f.name = name;
286
- await storage.put(AccountKey, JSON.stringify(s));
287
- }
288
- }
289
- });
290
- }
291
- async faucet(address_or_name) {
292
- const a = await this.get(address_or_name);
293
- if (a) {
294
- await FAUCET.requestSuiFromFaucetV2({ host: FAUCET.getFaucetHost('testnet'), recipient: a.address }).catch(e => { });
295
- }
296
- }
297
- async sign_and_commit(txb, address_or_name, session) {
298
- const a = await this.get_imp(address_or_name);
299
- if (a) {
300
- const pair = Ed25519Keypair.fromSecretKey(fromHex(a.secret));
301
- if (pair) {
302
- const ret = await Protocol.Client(await session_resolve(session)).signAndExecuteTransaction({
303
- transaction: txb,
304
- signer: pair,
305
- options: { showObjectChanges: true },
306
- });
307
- //console.log(ret);
308
- return ret;
309
- }
310
- }
311
- }
312
- async transfer(amount, token_type, to_address_or_name, from_address_or_name, session) {
313
- const [from, to] = await this.get_many_imp([from_address_or_name, to_address_or_name]);
314
- if (!from)
315
- ERROR(Errors.InvalidParam, `Invalid from address or name ${from_address_or_name}`);
316
- const to_address = to?.address ?? to_address_or_name;
317
- if (!to_address)
318
- ERROR(Errors.InvalidParam, `Invalid to address or name ${to_address_or_name}`);
319
- const pair = Ed25519Keypair.fromSecretKey(fromHex(from.secret));
320
- if (pair) {
321
- const txb = new TransactionBlock();
322
- const coin = await this.get_coin_object(txb, amount, from.address, token_type);
323
- if (coin) {
324
- txb.transferObjects([coin], to_address);
325
- const r = await Protocol.Client(await session_resolve(session)).signAndExecuteTransaction({
326
- transaction: txb,
327
- signer: pair,
328
- options: { showObjectChanges: true },
329
- });
330
- return r;
331
- }
332
- }
333
- }
334
- }
335
- //# sourceMappingURL=account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/local/account.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Persisting the result of the quries.
3
- */
4
- export interface CachedData {
5
- expire: number | 'INFINITE';
6
- data: string | any;
7
- }
8
- export declare enum CacheName {
9
- object = "object",
10
- personal = "personal",
11
- table = "table"
12
- }
13
- export type CacheExpireType = number | 'INFINITE';
14
- export type CacheNameType = CacheName | string;
15
- export declare const CacheLocation = "wowok-cache";
16
- export declare class Cache {
17
- static _instance: any;
18
- private location;
19
- static _expire_time_ms: number;
20
- constructor();
21
- static Instance(): Cache;
22
- static Key: (object: string, prefix: CacheName | string) => string;
23
- static getExpireTime: () => number;
24
- static setExpireTime(expire_time_ms: number): void;
25
- static notExpired(cache: CachedData): boolean;
26
- static ExpireTime: (bInfinite?: boolean) => CacheExpireType;
27
- put(object: string, data: CachedData, prefix: CacheNameType): Promise<void>;
28
- get(object: string, prefix: CacheNameType): Promise<CachedData | undefined>;
29
- del(object: string, prefix: CacheNameType): Promise<void>;
30
- cache_get(object: string, prefix: CacheNameType, force_cache?: boolean): Promise<CachedData | undefined>;
31
- }
32
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/local/cache.ts"],"names":[],"mappings":"AACA;;GAEG;AAOH,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,oBAAY,SAAS;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAE3C,qBAAa,KAAK;IACd,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,MAAM,CAAC,eAAe,SAAS;;IAS/B,MAAM,CAAC,QAAQ,IAAK,KAAK;IAKzB,MAAM,CAAC,GAAG,GAAI,QAAQ,MAAM,EAAE,QAAO,SAAS,GAAC,MAAM,KAAI,MAAM,CAE9D;IAED,MAAM,CAAC,aAAa,QAAQ,MAAM,CAEjC;IACD,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM;IAI3C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAC,UAAU,GAAI,OAAO;IAK7C,MAAM,CAAC,UAAU,GAAI,YAAW,OAAO,KAAI,eAAe,CAGzD;IAEK,GAAG,CAAC,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,UAAU,EAAE,MAAM,EAAC,aAAa;IAMxD,GAAG,CAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,aAAa,GAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAS1E,GAAG,CAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,aAAa;IAMvC,SAAS,CAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,aAAa,EAAE,WAAW,CAAC,EAAC,OAAO,GAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAM/G"}
@@ -1,77 +0,0 @@
1
- /**
2
- * Persisting the result of the quries.
3
- */
4
- import { Protocol } from "wowok";
5
- import path from "path";
6
- import os from "os";
7
- import { retry_db, isBrowser } from "../common.js";
8
- export var CacheName;
9
- (function (CacheName) {
10
- CacheName["object"] = "object";
11
- CacheName["personal"] = "personal";
12
- CacheName["table"] = "table";
13
- })(CacheName || (CacheName = {}));
14
- export const CacheLocation = 'wowok-cache';
15
- export class Cache {
16
- ;
17
- constructor() {
18
- this.location = CacheLocation;
19
- if (!isBrowser()) {
20
- this.location = path.join(path.join(os.homedir(), '.wowok'), CacheLocation);
21
- }
22
- }
23
- static Instance() {
24
- if (!Cache._instance) {
25
- Cache._instance = new Cache();
26
- }
27
- ;
28
- return Cache._instance;
29
- }
30
- static setExpireTime(expire_time_ms) {
31
- Cache._expire_time_ms = expire_time_ms;
32
- }
33
- static notExpired(cache) {
34
- if (!cache?.expire)
35
- return false;
36
- if (cache.expire === 'INFINITE')
37
- return true;
38
- return cache.expire <= Date.now();
39
- }
40
- async put(object, data, prefix) {
41
- await retry_db(this.location, async (storage) => {
42
- await storage.put(Cache.Key(object, prefix), JSON.stringify(data));
43
- });
44
- }
45
- async get(object, prefix) {
46
- return await retry_db(this.location, async (storage) => {
47
- const r = await storage.get(Cache.Key(object, prefix));
48
- if (r) {
49
- return JSON.parse(r);
50
- }
51
- });
52
- }
53
- async del(object, prefix) {
54
- await retry_db(this.location, async (storage) => {
55
- await storage.del(Cache.Key(object, prefix));
56
- });
57
- }
58
- async cache_get(object, prefix, force_cache) {
59
- const r = await this.get(object, prefix);
60
- if (r && (force_cache || Cache.notExpired(r))) {
61
- return r;
62
- }
63
- }
64
- }
65
- Cache._expire_time_ms = 60000; // default
66
- Cache.Key = (object, prefix) => {
67
- return object + '.' + prefix + '#' + Protocol.Instance().package('wowok_origin');
68
- };
69
- Cache.getExpireTime = () => {
70
- return Cache._expire_time_ms;
71
- };
72
- Cache.ExpireTime = (bInfinite) => {
73
- if (bInfinite)
74
- return 'INFINITE';
75
- return Date.now() + Cache.getExpireTime();
76
- };
77
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/local/cache.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * coin type cache
3
- */
4
- import { ENTRYPOINT, CoinTypeInfo } from 'wowok';
5
- export interface CoinDataFilter {
6
- alias_or_name?: string;
7
- symbol?: string;
8
- coinType?: string;
9
- }
10
- export declare class CoinInfo {
11
- private location;
12
- constructor();
13
- get_location(): string;
14
- static _instance: any;
15
- static Instance(): CoinInfo;
16
- private default;
17
- private fetch_imp;
18
- fetch(coinType: string, alias?: string, network?: ENTRYPOINT): Promise<CoinTypeInfo | undefined>;
19
- query(filter: CoinDataFilter, network?: ENTRYPOINT): Promise<CoinTypeInfo[]>;
20
- list(network?: ENTRYPOINT): Promise<CoinTypeInfo[]>;
21
- }
22
- //# sourceMappingURL=coin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coin.d.ts","sourceRoot":"","sources":["../../src/local/coin.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAY,UAAU,EAA2C,YAAY,EAAC,MAAM,OAAO,CAAC;AASnG,MAAM,WAAW,cAAc;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAQ;;IASxB,YAAY,IAAK,MAAM;IAEvB,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;IACtB,MAAM,CAAC,QAAQ,IAAK,QAAQ;IAM5B,OAAO,CAAC,OAAO;YAcD,SAAS;IAOjB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,MAAM,EAAE,OAAO,CAAC,EAAC,UAAU,GAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAsC/F,KAAK,CAAC,MAAM,EAAC,cAAc,EAAE,OAAO,CAAC,EAAC,UAAU,GAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA0B3E,IAAI,CAAC,OAAO,CAAC,EAAC,UAAU,GAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAU5D"}
@@ -1,123 +0,0 @@
1
- /**
2
- * coin type cache
3
- */
4
- import { Protocol, ENTRYPOINT, ERROR, Errors } from 'wowok';
5
- import { retry_db, isBrowser } from '../common.js';
6
- import path from 'path';
7
- import os from 'os';
8
- const CoinLocation = 'wowok-coin';
9
- export class CoinInfo {
10
- constructor() {
11
- this.location = CoinLocation;
12
- if (!isBrowser()) {
13
- this.location = path.join(path.join(os.homedir(), '.wowok'), CoinLocation);
14
- }
15
- }
16
- get_location() { return this.location; }
17
- static Instance() {
18
- if (!CoinInfo._instance) {
19
- CoinInfo._instance = new CoinInfo();
20
- }
21
- ;
22
- return CoinInfo._instance;
23
- }
24
- default(network) {
25
- switch (Protocol.Instance().networkUrl(network)?.network) {
26
- case ENTRYPOINT.suitest:
27
- return Protocol.Instance().CoinTypes_Testnet;
28
- case ENTRYPOINT.suimain:
29
- return Protocol.Instance().CoinTypes_Mainnet;
30
- case ENTRYPOINT.wowoktest:
31
- return [];
32
- case ENTRYPOINT.wowokmain:
33
- return [];
34
- }
35
- return [];
36
- }
37
- async fetch_imp(coinType, alias, network) {
38
- const r = await Protocol.Client(network).getCoinMetadata({ coinType: coinType });
39
- if (r) {
40
- return { alias: alias, type: coinType, ...r };
41
- }
42
- }
43
- async fetch(coinType, alias, network) {
44
- if (!coinType)
45
- ERROR(Errors.IsValidTokenType, `${coinType}`);
46
- const net = Protocol.Instance().networkUrl(network);
47
- if (!net)
48
- ERROR(Errors.networkInvalid, Object.entries(ENTRYPOINT));
49
- return await retry_db(this.location, async (storage) => {
50
- const r = await storage.get(net.network);
51
- if (r) {
52
- const c = JSON.parse(r);
53
- const f = c.find(v => v.type.toLowerCase() === coinType.toLowerCase());
54
- if (f) {
55
- if (alias !== undefined)
56
- f.alias = alias;
57
- return f;
58
- }
59
- const n = await this.fetch_imp(coinType, alias, network);
60
- if (n) {
61
- c.push(n);
62
- await storage.put(net.network, JSON.stringify(c));
63
- return n;
64
- }
65
- }
66
- else {
67
- const def = this.default(network);
68
- const ret = def.find(v => v.type.toLowerCase() === coinType.toLowerCase());
69
- if (!ret) {
70
- const n = await this.fetch_imp(coinType, alias);
71
- if (n) {
72
- await storage.put(net.network, JSON.stringify([...def, n]));
73
- return n;
74
- }
75
- }
76
- await storage.put(net.network, JSON.stringify([...def]));
77
- return ret;
78
- }
79
- });
80
- }
81
- // alice - name - symbol - tokenType
82
- async query(filter, network) {
83
- const net = Protocol.Instance().networkUrl(network);
84
- if (!net)
85
- ERROR(Errors.networkInvalid, Object.entries(ENTRYPOINT));
86
- return await retry_db(this.location, async (storage) => {
87
- const r = await storage.get(net.network);
88
- if (r) {
89
- const c = JSON.parse(r);
90
- return c.filter(v => {
91
- let r1 = false;
92
- let r2 = false;
93
- let r3 = false;
94
- if (filter.alias_or_name !== undefined && (v.alias === filter.alias_or_name || v.name === filter.alias_or_name)) {
95
- r1 = true;
96
- }
97
- ;
98
- if (filter.symbol !== undefined && filter.symbol === v.symbol) {
99
- r2 = true;
100
- }
101
- ;
102
- if (filter.coinType !== undefined && filter.coinType.toLowerCase() === v.type.toLowerCase()) {
103
- r3 = true;
104
- }
105
- ;
106
- return r1 && r2 && r3;
107
- });
108
- }
109
- });
110
- }
111
- async list(network) {
112
- const net = Protocol.Instance().networkUrl(network);
113
- if (!net)
114
- ERROR(Errors.networkInvalid, Object.entries(ENTRYPOINT));
115
- return await retry_db(this.location, async (storage) => {
116
- const r = await storage.get(net.network);
117
- if (r) {
118
- return JSON.parse(r);
119
- }
120
- });
121
- }
122
- }
123
- //# sourceMappingURL=coin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coin.js","sourceRoot":"","sources":["../../src/local/coin.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * config
3
- */
4
- import { ENTRYPOINT } from 'wowok';
5
- export interface ConfigData {
6
- network?: ENTRYPOINT;
7
- }
8
- export declare class Config {
9
- private location;
10
- constructor();
11
- get_location(): string;
12
- static _instance: any;
13
- static Instance(): Config;
14
- private default;
15
- network(): Promise<ENTRYPOINT | undefined>;
16
- network_set(network: ENTRYPOINT): Promise<void>;
17
- list(): Promise<ConfigData | undefined>;
18
- reset(): Promise<ConfigData | undefined>;
19
- }
20
- //# sourceMappingURL=config.d.ts.map