wowok 1.7.10 → 1.7.13
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/entity.d.ts +21 -4
- package/dist/entity.d.ts.map +1 -1
- package/dist/entity.js +67 -39
- package/dist/entity.js.map +1 -1
- package/dist/guard.d.ts +3 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +31 -6
- package/dist/guard.js.map +1 -1
- package/dist/passport.d.ts +3 -1
- package/dist/passport.d.ts.map +1 -1
- package/dist/passport.js +69 -18
- package/dist/passport.js.map +1 -1
- package/dist/permission.d.ts +2 -0
- package/dist/permission.d.ts.map +1 -1
- package/dist/permission.js +4 -0
- package/dist/permission.js.map +1 -1
- package/dist/protocol.d.ts +1 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +9 -8
- package/dist/protocol.js.map +1 -1
- package/dist/repository.d.ts +2 -1
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +33 -0
- package/dist/repository.js.map +1 -1
- package/dist/service.d.ts +1 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +19 -0
- package/dist/service.js.map +1 -1
- package/dist/utils.d.ts +2 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +17 -26
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/entity.ts +84 -39
- package/src/guard.ts +32 -10
- package/src/passport.ts +79 -19
- package/src/permission.ts +4 -0
- package/src/protocol.ts +10 -9
- package/src/repository.ts +33 -1
- package/src/service.ts +19 -1
- package/src/utils.ts +22 -34
- package/tsconfig.tsbuildinfo +1 -1
package/dist/utils.js
CHANGED
|
@@ -115,6 +115,18 @@ export const concatenate = (resultConstructor, ...arrays) => {
|
|
|
115
115
|
}
|
|
116
116
|
return result;
|
|
117
117
|
};
|
|
118
|
+
export function deepCopy(obj) {
|
|
119
|
+
if (obj === null || typeof obj !== 'object') {
|
|
120
|
+
return obj;
|
|
121
|
+
}
|
|
122
|
+
const copy = Array.isArray(obj) ? [] : {};
|
|
123
|
+
for (const key in obj) {
|
|
124
|
+
if (obj.hasOwnProperty(key)) {
|
|
125
|
+
copy[key] = deepCopy(obj[key]);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return copy;
|
|
129
|
+
}
|
|
118
130
|
export const parseObjectType = (chain_type, header = 'payment::Payment<') => {
|
|
119
131
|
if (chain_type) {
|
|
120
132
|
const i = chain_type.indexOf(header);
|
|
@@ -155,11 +167,13 @@ export function parse_object_type(object_data) {
|
|
|
155
167
|
}
|
|
156
168
|
export class Bcs {
|
|
157
169
|
constructor() {
|
|
170
|
+
this.VecMapStruct = bcs.struct('VecMap', {
|
|
171
|
+
contents: bcs.vector(bcs.tuple([bcs.string(), bcs.string()])),
|
|
172
|
+
});
|
|
158
173
|
this.EntStruct = bcs.struct('EntStruct', {
|
|
159
|
-
|
|
174
|
+
description: bcs.string(),
|
|
175
|
+
info: this.VecMapStruct,
|
|
160
176
|
resource: bcs.option(bcs.Address),
|
|
161
|
-
safer_name: bcs.vector(bcs.string()),
|
|
162
|
-
safer_value: bcs.vector(bcs.string()),
|
|
163
177
|
like: bcs.u32(),
|
|
164
178
|
dislike: bcs.u32(),
|
|
165
179
|
});
|
|
@@ -167,14 +181,6 @@ export class Bcs {
|
|
|
167
181
|
nick: bcs.string(),
|
|
168
182
|
tags: bcs.vector(bcs.string()),
|
|
169
183
|
});
|
|
170
|
-
this.PersonalInfo = bcs.struct('PersonalInfo', {
|
|
171
|
-
name: bcs.string(),
|
|
172
|
-
description: bcs.string(),
|
|
173
|
-
avatar: bcs.string(),
|
|
174
|
-
twitter: bcs.string(),
|
|
175
|
-
discord: bcs.string(),
|
|
176
|
-
homepage: bcs.string(),
|
|
177
|
-
});
|
|
178
184
|
this.Guards = bcs.struct('Guards', {
|
|
179
185
|
address: bcs.option(bcs.Address),
|
|
180
186
|
});
|
|
@@ -303,21 +309,6 @@ export class Bcs {
|
|
|
303
309
|
const struct_vec = bcs.vector(bcs.u8()).parse(data);
|
|
304
310
|
return this.EntStruct.parse(Uint8Array.from(struct_vec));
|
|
305
311
|
}
|
|
306
|
-
se_entInfo(info) {
|
|
307
|
-
return this.PersonalInfo.serialize({
|
|
308
|
-
name: info.name ?? '',
|
|
309
|
-
description: info.description ?? '',
|
|
310
|
-
avatar: info.avatar ?? '',
|
|
311
|
-
twitter: info.twitter ?? '',
|
|
312
|
-
discord: info.discord ?? '',
|
|
313
|
-
homepage: info.homepage ?? '',
|
|
314
|
-
}).toBytes();
|
|
315
|
-
}
|
|
316
|
-
de_entInfo(data) {
|
|
317
|
-
if (!data || data.length === 0)
|
|
318
|
-
return undefined;
|
|
319
|
-
return this.PersonalInfo.parse(data);
|
|
320
|
-
}
|
|
321
312
|
de_tags(data) {
|
|
322
313
|
if (!data || data.length === 0)
|
|
323
314
|
return undefined;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAA6B,MAAM,eAAe,CAAA;AACnG,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,yCAAyC,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,gFAAgF,CAAC,CAAC;AAEjH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAiC,EAAiC,EAAE;IACjG,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,IAAI,IAAI,KAAK,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,SAAS;QACzF,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,mBAAmB,CAAC,cAAc,CAAA;IACjD,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,IAAI,KAAK,SAAS,CAAC,YAAY,IAAI,IAAI,KAAK,SAAS,CAAC,aAAa;QAC5G,IAAI,KAAK,SAAS,CAAC,aAAa,IAAG,IAAI,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;QAClE,OAAO,mBAAmB,CAAC,kBAAkB,CAAA;IACrD,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;QACzC,OAAO,mBAAmB,CAAC,OAAO,CAAA;IACtC,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC7C,OAAO,mBAAmB,CAAC,WAAW,CAAA;IAC1C,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,mBAAmB,CAAC,MAAM,CAAA;IACrC,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,mBAAmB,CAAC,UAAU,CAAA;IACzC,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,mBAAmB,CAAC,IAAI,CAAA;IACnC,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAa,EAAE,EAAY,EAA+B,EAAE;IACnF,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO;QACpB,OAAO,EAAC,KAAK,EAAC,KAAK,EAAG,KAAK,EAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;IAChF,CAAC;SAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,EAAC,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA;QAChD,OAAO,EAAC,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,CAAA;IAC1C,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAA8B,EAAE;IAC1E,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO;QACpB,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAG,KAAK,EAAC,KAAK,EAAC,CAAC;IACvC,CAAC;SAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,EAAC,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA;QAChD,OAAO,EAAC,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,CAAA;IAC1C,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAe,EAAoC,EAAE;IAC/E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,iDAAiD;IACjD,OAAO,IAAI,EAAE,CAAC;QACb,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,IAAI,CAAC,CAAC;QACT,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM;QACP,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACZ,CAAC;IAED,OAAO;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,GAAG;KACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAA8C,EAAU,EAAE;IAC1F,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE;IAEzB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAS,EAAE,CAAQ,EAAE,MAAa,EAAQ,EAAE;IAC9D,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAS,EAAE,CAAQ,EAAE,MAAa,EAAQ,EAAE;IAC/D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAS,EAAE,CAAQ,EAAE,MAAa,EAAQ,EAAE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAS,EAAE,CAAQ,EAAE,MAAa,EAAQ,EAAE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,iBAAqB,EAAE,GAAG,MAAY,EAAE,EAAE;IAClE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA;AAED,MAAM,UAAU,QAAQ,CAAI,GAAM;IAChC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAQ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAoC,EAAE,SAAc,mBAAmB,EAAW,EAAE;IAChH,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,CAAA;QACZ,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAI,CAAC,IAAW,EAAE,IAAW,EAAE,EAAE;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAS,EAAU,EAAE;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,IAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA;AAED,MAAM,UAAU,UAAU,CAAE,CAAQ;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,WAAkB;IAChD,IAAI,WAAW,GAAc,EAAE,CAAC;IAChC,IAAI,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;QAC9D,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,OAAO,GAAG;IA6BZ;QA1BQ,iBAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAChE,CAAC,CAAC;QAEK,cAAS,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE;YACf,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC;QACK,cAAS,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;SACjC,CAAC,CAAA;QACM,WAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;SACnC,CAAC,CAAA;QACM,SAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;YAC9B,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;YAChB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;SACjC,CAAC,CAAA;QACM,UAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAA;IAEsB,CAAC;IACzB,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,GAAI,IAAI,GAAG,EAAE,CAAC;QAC/B,CAAC;QAAA,CAAC;QACF,OAAO,GAAG,CAAC,SAAS,CAAC;IACxB,CAAC;IAEF,cAAc,CAAC,IAAqB;QAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3D,CAAC;IAED,GAAG,CAAC,IAA4B,EAAE,IAAqB;QACnD,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,SAAS,CAAC,SAAS;gBACpB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,KAAK,SAAS,CAAC,YAAY;gBACvB,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACjD,KAAK,SAAS,CAAC,QAAQ;gBACnB,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/C,KAAK,SAAS,CAAC,OAAO;gBAClB,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9C,KAAK,SAAS,CAAC,WAAW;gBACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1D,KAAK,SAAS,CAAC,SAAS;gBACpB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACtE,KAAK,SAAS,CAAC,YAAY;gBACvB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,SAAS,CAAC,mBAAmB;gBAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,SAAS,CAAC,cAAc;gBACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1D,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,SAAS,CAAC,kBAAkB;gBAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9D,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,KAAK,SAAS,CAAC,SAAS;gBACpB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,KAAK,SAAS,CAAC,WAAW;gBACtB,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAClD,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9D;gBACI,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,EAAE,CAAC,IAAc,EAAG,IAAqB;QACrC,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,SAAS,CAAC,SAAS;gBACpB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,SAAS,CAAC,YAAY;gBACvB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,SAAS,CAAC,QAAQ;gBACnB,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,SAAS,CAAC,OAAO;gBAClB,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,KAAK,SAAS,CAAC,WAAW;gBACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,SAAS,CAAC,SAAS;gBACpB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxD,KAAK,SAAS,CAAC,YAAY;gBACvB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,SAAS,CAAC,mBAAmB;gBAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,SAAS,CAAC,cAAc;gBACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,SAAS,CAAC,kBAAkB;gBAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,SAAS,CAAC,WAAW;gBACtB,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,SAAS,CAAC,SAAS;gBACpB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC;gBACI,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAA2B;QAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAA;QAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,IAA2B;QAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,QAAQ,CAAC,IAA2B;QAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAK,EAAE,EAAE;YACzB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,EAAE,KAAK,IAAI,SAAS,EAAE,CAAA;QAC1D,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAU;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAU;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACpB,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;QACf,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAW,EAAW,EAAE;IAC1C,IAAI,GAAG,GAAG,gBAAgB,CAAA;IAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AACvE,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,MAAS,EAAE,MAAgC,EAAM,EAAE;IAC5E,IAAI,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;IAEtB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACvC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,GAAQ,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,6GAA6G;AAC7G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,OAAc,EAAY,EAAE;IACzE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAA;AAC9E,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAkB,EAAY,EAAE;IAC9D,OAAO,mBAAmB,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAA;AACnE,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAe,EAAY,EAAE;IACzD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAA;AAC7D,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAY,EAAE;IAClD,IAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAW,EAAY,EAAE,GAAG,OAAO,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA,CAAA,CAAC,CAAA;AACrH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAe,EAAY,EAAE;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,mBAAmB,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAE;AACxG,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAA8B,EAAY,EAAE;IACvE,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAwB,EAAY,EAAE;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,oEAAoE,CAAC,CAAA;AAChJ,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAQ,GAAC,QAAQ,EAAU,EAAE;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA0C,EAAE,MAAW,QAAQ,EAAE,GAAW,EAAY,EAAE;IACpH,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,GAAG,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;IACb,CAAC;IAAA,CAAC;IAAC,OAAO,KAAK,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAA0C,EAAE,GAAG,GAAC,CAAC,EAAY,EAAE;IACrF,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA0C,EAAE,GAAG,GAAC,CAAC,EAAY,EAAE;IACtF,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AACrD,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,GAAG,GAAC,CAAC,EAAY,EAAE;IACvF,OAAO,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AACtD,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,GAAG,GAAC,CAAC,EAAY,EAAE;IACvF,OAAO,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAY,EAAE;IAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7F,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAY,EAAE;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAY,EAAE;IAC3D,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7B,KAAK,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA+B,EAAY,EAAE;IACxE,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,SAAa,EAAY,EAAE;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAY,EAAW,EAAE;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC;IACpB,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC;IACf,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC,CAAA;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEhD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;YACvC,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAc,EAAE,QAAe,EAAW,EAAE;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,GAAG,CAAA;IAC/B,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IACpC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACb,OAAO,mBAAmB,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,mBAAmB,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACJ,OAAO,mBAAmB,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAW,EAAY,EAAE;IAC/C,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACT,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;oBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBAAA,CAAC;gBACF,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,IAAI,EAAE,KAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,EAAC,CAAA;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAQ,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAC,CAAA;AAC7C,CAAC,CAAA;AAGD,MAAM,UAAU,YAAY,CAAC,KAAgB,EAAE,KAAY;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAQ;IAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC;YACJ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YACtB,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;YACR,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;YACpB,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEH,MAAM,UAAU,cAAc,CAAC,GAAU;IACrC,IAAI,CAAK,CAAC;IACV,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;AACvF,CAAC;AAaD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAA+B,EAAW,EAAE;IACrE,OAAO,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;IACrD,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,IAAG,KAAK,EAAE,OAAO;YAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAC,EAAE,EAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAC,EAAC,WAAW,EAAC,IAAI,EAAE,QAAQ,EAAC,IAAI,EAAE,SAAS,EAAC,IAAI,EAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACjH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,IAAG,KAAK,EAAE,WAAW;oBAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,IAAG,KAAK,EAAE,WAAW;oBAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,kBAAkB;YAClB,IAAI,KAAK,EAAE,WAAW;gBAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAC,QAAQ,EAAC,KAAK,CAAC,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACnE,IAAI,KAAK,EAAE,YAAY;gBAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAE3D,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAC,EAAC,WAAW,EAAC,IAAI,EAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACjH,IAAI,KAAK,EAAE,WAAW;wBAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACf,kBAAkB;oBAClB,IAAI,KAAK,EAAE,WAAW;wBAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,kBAAkB;YAClB,IAAI,KAAK,EAAE,YAAY;gBAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAyB,EAAW,EAAE;IACvE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAA;AAGD,MAAM,UAAU,aAAa,CAAI,KAAU;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AACnF,CAAC"}
|
package/package.json
CHANGED
package/src/entity.ts
CHANGED
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import { Protocol, FnCallType, TxbObject, ResourceAddress, ResourceObject} from './protocol.js';
|
|
2
|
-
import { IsValidDesription, IsValidAddress, IsValidName,
|
|
2
|
+
import { IsValidDesription, IsValidAddress, IsValidName, Bcs, IsValidStringLength} from './utils.js';
|
|
3
3
|
import { ERROR, Errors } from './exception.js';
|
|
4
4
|
import { TagName, Resource } from './resource.js';
|
|
5
5
|
import { Transaction as TransactionBlock, TransactionResult } from '@mysten/sui/transactions';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
7
|
export interface EntityData {
|
|
11
|
-
info?:
|
|
8
|
+
info?: Map<string, string>,
|
|
12
9
|
resource_object?: string,
|
|
13
10
|
like?: number,
|
|
14
11
|
dislike?: number,
|
|
15
12
|
address?:string,
|
|
13
|
+
description?: string,
|
|
14
|
+
lastActive_digest?: string,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export enum EntityInfo_Default {
|
|
18
|
+
name = 'name',
|
|
19
|
+
avatar = 'avatar',
|
|
20
|
+
x = 'x',
|
|
21
|
+
discord = 'discord',
|
|
22
|
+
location = 'location',
|
|
23
|
+
homepage = 'homepage'
|
|
16
24
|
}
|
|
25
|
+
|
|
26
|
+
export interface EntityInfo {
|
|
27
|
+
title: string;
|
|
28
|
+
value: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
17
31
|
export class Entity {
|
|
18
32
|
protected object:TxbObject;
|
|
19
33
|
protected txb;
|
|
@@ -42,21 +56,51 @@ export class Entity {
|
|
|
42
56
|
})
|
|
43
57
|
}
|
|
44
58
|
|
|
45
|
-
|
|
46
|
-
if (info
|
|
47
|
-
|
|
48
|
-
if (info
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
add_info(info: Map<string, string>) {
|
|
60
|
+
if (info.size === 0) return ;
|
|
61
|
+
|
|
62
|
+
if (info.size > Entity.MAX_INFO_LENGTH) {
|
|
63
|
+
ERROR(Errors.IsValidValue, `Entity.update: info size too long ${info.size}`);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
info.forEach((v, k) => {
|
|
67
|
+
if (!IsValidName(k)) {
|
|
68
|
+
ERROR(Errors.IsValidName, `Entity.update: ${k} key too long `);
|
|
69
|
+
}
|
|
70
|
+
if (!IsValidStringLength(v, Entity.MAX_INFO_VALUE_LENGTH)) {
|
|
71
|
+
ERROR(Errors.IsValidValue, `Entity.update: ${k} value too long`);
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
const keys = Array.from(info.keys()).map(v => v.toLocaleLowerCase());
|
|
76
|
+
const values = Array.from(info.values());
|
|
52
77
|
|
|
53
|
-
const bytes = Bcs.getInstance().se_entInfo(info);
|
|
54
78
|
this.txb.moveCall({
|
|
55
|
-
target:Protocol.Instance().entityFn('
|
|
56
|
-
arguments:[Protocol.TXB_OBJECT(this.txb, this.object),
|
|
79
|
+
target:Protocol.Instance().entityFn('info_add') as FnCallType,
|
|
80
|
+
arguments:[Protocol.TXB_OBJECT(this.txb, this.object),
|
|
81
|
+
this.txb.pure.vector('string', keys),
|
|
82
|
+
this.txb.pure.vector('string', values)]
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
remove_info(titles:string[]) {
|
|
87
|
+
if (titles.length === 0) return ;
|
|
88
|
+
const t = titles.map(v => v.toLowerCase());
|
|
89
|
+
this.txb.moveCall({
|
|
90
|
+
target:Protocol.Instance().entityFn('info_remove') as FnCallType,
|
|
91
|
+
arguments:[Protocol.TXB_OBJECT(this.txb, this.object),
|
|
92
|
+
this.txb.pure.vector('string', t)]
|
|
57
93
|
})
|
|
58
94
|
}
|
|
59
95
|
|
|
96
|
+
removeall_info() {
|
|
97
|
+
this.txb.moveCall({
|
|
98
|
+
target:Protocol.Instance().entityFn('info_removeall') as FnCallType,
|
|
99
|
+
arguments:[Protocol.TXB_OBJECT(this.txb, this.object)]
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
60
104
|
create_resource() : ResourceAddress {
|
|
61
105
|
return this.txb.moveCall({
|
|
62
106
|
target:Protocol.Instance().entityFn('resource_create') as FnCallType,
|
|
@@ -71,6 +115,17 @@ export class Entity {
|
|
|
71
115
|
})
|
|
72
116
|
}
|
|
73
117
|
|
|
118
|
+
set_description(description:string) {
|
|
119
|
+
if (!IsValidDesription(description)) {
|
|
120
|
+
ERROR(Errors.IsValidDesription, 'Entity.set_description');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return this.txb.moveCall({
|
|
124
|
+
target:Protocol.Instance().entityFn('description_set') as FnCallType,
|
|
125
|
+
arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.string(description)]
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
|
|
74
129
|
destroy_resource(resource:Resource) { // Resource must self-owned.
|
|
75
130
|
return this.txb.moveCall({
|
|
76
131
|
target:Protocol.Instance().entityFn('resource_destroy') as FnCallType,
|
|
@@ -94,33 +149,23 @@ export class Entity {
|
|
|
94
149
|
this.txb.pure.address(new_address)]
|
|
95
150
|
})
|
|
96
151
|
}
|
|
97
|
-
query_ent(address_queried:string) {
|
|
98
|
-
if (!IsValidAddress(address_queried)) {
|
|
99
|
-
ERROR(Errors.InvalidParam, 'query_ent');
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
this.txb.moveCall({
|
|
103
|
-
target:Protocol.Instance().entityFn('QueryEnt') as FnCallType,
|
|
104
|
-
arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.address(address_queried)]
|
|
105
|
-
})
|
|
106
|
-
}
|
|
107
152
|
|
|
108
153
|
static EntityData = async (address:string) : Promise<EntityData|undefined>=> {
|
|
109
154
|
if (IsValidAddress(address)) {
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
like: r1.like, dislike:r1.dislike, address:address};
|
|
123
|
-
}
|
|
155
|
+
const res = await Protocol.Client().getDynamicFieldObject({
|
|
156
|
+
parentId:Protocol.Instance().objectEntity(), name:{type:'address', value:address}});
|
|
157
|
+
|
|
158
|
+
const content = (res?.data?.content as any)?.fields;
|
|
159
|
+
const info = new Map<string, string>();
|
|
160
|
+
(content?.value?.fields?.info?.fields?.contents as any)?.forEach((v:any) => {
|
|
161
|
+
info.set(v?.fields?.key, v?.fields?.value)
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
return {like:content?.value?.fields?.like, dislike:content?.value?.fields?.dislike, address: address,
|
|
165
|
+
resource_object: content?.value?.fields?.resource, lastActive_digest: res?.data?.previousTransaction ?? '',
|
|
166
|
+
info : info, description:content?.value?.fields?.description}
|
|
124
167
|
}
|
|
125
168
|
}
|
|
169
|
+
static MAX_INFO_LENGTH = 32;
|
|
170
|
+
static MAX_INFO_VALUE_LENGTH = 256; // The max length of each info value.
|
|
126
171
|
}
|
package/src/guard.ts
CHANGED
|
@@ -39,6 +39,10 @@ export interface GuardQuery {
|
|
|
39
39
|
description: string;
|
|
40
40
|
parameters_description?: string[];
|
|
41
41
|
}
|
|
42
|
+
|
|
43
|
+
// commands for check guard (repository data query)
|
|
44
|
+
export const CMD_CHECK_GUARD = [112, 113, 114, 115, 116, 117, 118, 119];
|
|
45
|
+
|
|
42
46
|
export const GUARD_QUERIES:GuardQuery[] = [
|
|
43
47
|
// module, 'name', 'id', [input], output
|
|
44
48
|
{module:MODULES.permission, query_name:'Owner', query_id:1, parameters:[], return:ValueType.TYPE_ADDRESS, description:"Owner's address."},
|
|
@@ -57,27 +61,30 @@ export const GUARD_QUERIES:GuardQuery[] = [
|
|
|
57
61
|
{module:MODULES.repository, query_name:'Permission of Policy', query_id:103, parameters:[ValueType.TYPE_STRING], return:ValueType.TYPE_U64, description:'The permission index of a certain consensus policy in the Permission object.', parameters_description:['the policy name']},
|
|
58
62
|
{module:MODULES.repository, query_name:'Value Type of Policy', query_id:104, parameters:[ValueType.TYPE_STRING], return:ValueType.TYPE_U8, description:'Data types defined by consensus policy.', parameters_description:['the policy name']},
|
|
59
63
|
{module:MODULES.repository, query_name:'Contains Data', query_id:105, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_BOOL, description:'Does it contain data for a certain field of an address?', parameters_description:['address','the field name']},
|
|
60
|
-
{module:MODULES.repository, query_name:'
|
|
61
|
-
{module:MODULES.repository, query_name:'
|
|
64
|
+
{module:MODULES.repository, query_name:'Is Guard for data query been set', query_id:106, parameters:[], return:ValueType.TYPE_BOOL, description:'Has the guard for data query been set?', parameters_description:[]},
|
|
65
|
+
{module:MODULES.repository, query_name:'Guard address for data query', query_id:107, parameters:[], return: ValueType.TYPE_ADDRESS, description:'The guard address for data query.', parameters_description:[]},
|
|
62
66
|
{module:MODULES.repository, query_name:'Type', query_id:108, parameters:[], return:ValueType.TYPE_U8, description:'The repository Type. 0: Normal; 1: Wowok greenee.', },
|
|
63
67
|
{module:MODULES.repository, query_name:'Policy Mode', query_id:109, parameters:[], return:ValueType.TYPE_U8, description:'Policy Mode. 0: Free mode; 1: Strict mode.', },
|
|
64
68
|
{module:MODULES.repository, query_name:'Reference Count', query_id:110, parameters:[], return:ValueType.TYPE_U64, description:'The number of times it is referenced by other objects.', },
|
|
65
69
|
{module:MODULES.repository, query_name:'Is Referenced by An Object', query_id:111, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_BOOL, description:'Is it referenced by an object?', parameters_description:['address']},
|
|
66
|
-
{module:MODULES.repository, query_name:
|
|
70
|
+
{module:MODULES.repository, query_name:'Number Data', query_id:112, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_U256, description:'Data for a field at an address and get unsigned integer type data.', parameters_description:['address', 'the field name']},
|
|
67
71
|
{module:MODULES.repository, query_name:'String Data', query_id:113, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_STRING, description:'Data for a field at an address and get string type data.', parameters_description:['address', 'the field name']},
|
|
68
72
|
{module:MODULES.repository, query_name:'Address Data', query_id:114, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_ADDRESS, description:'Data for a field at an address and get address type data.', parameters_description:['address', 'the field name']},
|
|
69
73
|
{module:MODULES.repository, query_name:'Bool Data', query_id:115, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_BOOL, description:'Data for a field at an address and get bool type data.', parameters_description:['address', 'the field name']},
|
|
70
74
|
{module:MODULES.repository, query_name:'Number Vector Data', query_id:116, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_VEC_U256, description:'Data for a field at an address and get unsigned integer vector type data.', parameters_description:['address', 'the field name']},
|
|
71
75
|
{module:MODULES.repository, query_name:'String Vector Data', query_id:117, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_VEC_STRING, description:'Data for a field at an address and get string vector type data.', parameters_description:['address', 'the field name']},
|
|
72
76
|
{module:MODULES.repository, query_name:'Address Vector Data', query_id:118, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_VEC_ADDRESS, description:'Data for a field at an address and get address vector type data.', parameters_description:['address', 'the field name']},
|
|
73
|
-
{module:MODULES.repository, query_name:'Bool Vector Data', query_id:119, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return: ValueType.TYPE_VEC_BOOL, description:'Data for a field at an address and get bool vector type data.', parameters_description:['address', 'the field name']},
|
|
74
|
-
|
|
77
|
+
//{module:MODULES.repository, query_name:'Bool Vector Data', query_id:119, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return: ValueType.TYPE_VEC_BOOL, description:'Data for a field at an address and get bool vector type data.', parameters_description:['address', 'the field name']},
|
|
78
|
+
//{module:MODULES.repository, query_name:'Raw data without Type', query_id:106, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_VEC_U8, description:'Data for a field at an address and does not contain data type information.', parameters_description:['address', 'the field name']},
|
|
79
|
+
//{module:MODULES.repository, query_name:'Raw data', query_id:107, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_VEC_U8, description:'Data for a field at an address, and the first byte contains data type information.', parameters_description:['address', 'the field name']},
|
|
80
|
+
|
|
75
81
|
{module:MODULES.entity, query_name:'Has Entity', query_id:200, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_BOOL, description:'Is an entity already registered?', parameters_description:['address']},
|
|
76
82
|
{module:MODULES.entity, query_name:'Likes', query_id:201, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_U64, description:'The number of likes for an address by other addresses.', parameters_description:['address']},
|
|
77
83
|
{module:MODULES.entity, query_name:'Dislikes', query_id:202, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_U64, description:'The number of dislikes for an address by other addresses.', parameters_description:['address']},
|
|
78
|
-
{module:MODULES.entity, query_name:'
|
|
79
|
-
{module:MODULES.entity, query_name:'Has Resource by Entity
|
|
84
|
+
{module:MODULES.entity, query_name:'Info Count', query_id:203, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_U64, description:'Public Infomation count of the entity.', parameters_description:['address']},
|
|
85
|
+
{module:MODULES.entity, query_name:'Has Resource by Entity', query_id:204, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_BOOL, description:'Whether an entity created a resource?', parameters_description:['address']},
|
|
80
86
|
{module:MODULES.entity, query_name:'Entity Resource', query_id:205, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_ADDRESS, description:'The address of a resource object created by an entity.', parameters_description:['address']},
|
|
87
|
+
{module:MODULES.entity, query_name:'Info', query_id:206, parameters:[ValueType.TYPE_ADDRESS, ValueType.TYPE_STRING], return:ValueType.TYPE_STRING, description:'The information of the entity (such as name, location, etc.).', parameters_description:['address', 'info name']},
|
|
81
88
|
|
|
82
89
|
{module:MODULES.demand, query_name:'Permission', query_id:300, parameters:[], return:ValueType.TYPE_ADDRESS, description:'Permission object address.', },
|
|
83
90
|
{module:MODULES.demand, query_name:'Deadline', query_id:302, parameters:[], return:ValueType.TYPE_U64, description:'The expiration time of presenting.', },
|
|
@@ -91,6 +98,7 @@ export const GUARD_QUERIES:GuardQuery[] = [
|
|
|
91
98
|
{module:MODULES.demand, query_name:'Presenter of the Service', query_id:310, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_ADDRESS, description:'Address that recommends the service', parameters_description:['service address']},
|
|
92
99
|
{module:MODULES.demand, query_name:'Type', query_id:311, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI")', parameters_description:[]},
|
|
93
100
|
{module:MODULES.demand, query_name:'Type with Original Ids', query_id:312, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI") with original ids', parameters_description:[]},
|
|
101
|
+
{module:MODULES.demand, query_name:'Location', query_id:313, parameters:[], return:ValueType.TYPE_STRING, description:'location or coordinate address', parameters_description:[]},
|
|
94
102
|
|
|
95
103
|
{module:MODULES.service, query_name:'Permission', query_id:400, parameters:[], return:ValueType.TYPE_ADDRESS, description:'Permission object address.', },
|
|
96
104
|
{module:MODULES.service, query_name:'Payee', query_id:401, parameters:[], return:ValueType.TYPE_ADDRESS, description:'Payee address, that all order withdrawals will be collected to this address.', },
|
|
@@ -117,6 +125,7 @@ export const GUARD_QUERIES:GuardQuery[] = [
|
|
|
117
125
|
{module:MODULES.service, query_name:'Contains Arbitration', query_id:422, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_BOOL, description:'Does it contain an arbitration that allows a refund to be made from the order at any time based on the arbitration result.?', parameters_description:['arbitration address']},
|
|
118
126
|
{module:MODULES.service, query_name:'Type', query_id:423, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI")', parameters_description:[]},
|
|
119
127
|
{module:MODULES.service, query_name:'Type with Original Ids', query_id:424, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI") with original ids', parameters_description:[]},
|
|
128
|
+
{module:MODULES.service, query_name:'Location', query_id:425, parameters:[], return:ValueType.TYPE_STRING, description:'location or coordinate address', parameters_description:[]},
|
|
120
129
|
|
|
121
130
|
{module:MODULES.order, query_name:'Amount', query_id:500, parameters:[], return:ValueType.TYPE_U64, description:'Order amount.', },
|
|
122
131
|
{module:MODULES.order, query_name:'Payer', query_id:501, parameters:[], return:ValueType.TYPE_ADDRESS, description:'Order payer.', },
|
|
@@ -133,6 +142,10 @@ export const GUARD_QUERIES:GuardQuery[] = [
|
|
|
133
142
|
{module:MODULES.order, query_name:'Has Arb', query_id:514, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_BOOL, description:'Does the order contain an Arb for arbitration?', parameters_description:['arb address']},
|
|
134
143
|
{module:MODULES.order, query_name:'Type', query_id:515, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI")', parameters_description:[]},
|
|
135
144
|
{module:MODULES.order, query_name:'Type with Original Ids', query_id:516, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI") with original ids', parameters_description:[]},
|
|
145
|
+
{module:MODULES.order, query_name:'Number of Items', query_id:517, parameters:[], return:ValueType.TYPE_U64, description:'The number of the purchased items', parameters_description:[]},
|
|
146
|
+
{module:MODULES.order, query_name:'Has Item', query_id:518, parameters:[ValueType.TYPE_STRING], return:ValueType.TYPE_BOOL, description:'Has the order included the purchase of a certain item?', parameters_description:['item name']},
|
|
147
|
+
{module:MODULES.order, query_name:'Item Price', query_id:519, parameters:[ValueType.TYPE_STRING], return:ValueType.TYPE_U64, description:'The price of the purchased item', parameters_description:['item name']},
|
|
148
|
+
{module:MODULES.order, query_name:'Item Quantity', query_id:520, parameters:[ValueType.TYPE_STRING], return:ValueType.TYPE_U64, description:'The quantity of the purchased item', parameters_description:['item name']},
|
|
136
149
|
|
|
137
150
|
{module:MODULES.machine, query_name:'Permission', query_id:700, parameters:[], return:ValueType.TYPE_ADDRESS, description:'Permission object address.', },
|
|
138
151
|
{module:MODULES.machine, query_name:'Paused', query_id:701, parameters:[], return:ValueType.TYPE_BOOL, description:'Pause the creation of new Progress?', },
|
|
@@ -243,6 +256,7 @@ export const GUARD_QUERIES:GuardQuery[] = [
|
|
|
243
256
|
{module:MODULES.arbitration, query_name:'Treasury', query_id:1510, parameters:[], return:ValueType.TYPE_ADDRESS, description:'The address of the Treasury where fees was collected at the time of withdrawal.', },
|
|
244
257
|
{module:MODULES.arbitration, query_name:'Type', query_id:1511, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI")', parameters_description:[]},
|
|
245
258
|
{module:MODULES.arbitration, query_name:'Type with Original Ids', query_id:1512, parameters:[], return:ValueType.TYPE_STRING, description:'The type name(eg. contains "2::sui::SUI") with original ids', parameters_description:[]},
|
|
259
|
+
{module:MODULES.arbitration, query_name:'Location', query_id:1513, parameters:[], return:ValueType.TYPE_STRING, description:'location or coordinate address', parameters_description:[]},
|
|
246
260
|
|
|
247
261
|
{module:MODULES.arb, query_name:'Order', query_id:1600, parameters:[], return:ValueType.TYPE_ADDRESS, description:'Order under arbitration.', },
|
|
248
262
|
{module:MODULES.arb, query_name:'Arbitration', query_id:1601, parameters:[], return:ValueType.TYPE_ADDRESS, description:"Arbitration object address.", },
|
|
@@ -264,7 +278,8 @@ export const GUARD_QUERIES:GuardQuery[] = [
|
|
|
264
278
|
export enum FunctionGroup {
|
|
265
279
|
txn = 'Txn Functions',
|
|
266
280
|
number = 'Number Crunching',
|
|
267
|
-
logic = 'Compare or Logic'
|
|
281
|
+
logic = 'Compare or Logic',
|
|
282
|
+
string = 'String Functions',
|
|
268
283
|
}
|
|
269
284
|
|
|
270
285
|
export const GuardFunctions : Guard_Options[] = [
|
|
@@ -272,6 +287,7 @@ export const GuardFunctions : Guard_Options[] = [
|
|
|
272
287
|
{from:'type', name:'Txn Time', value:ContextType.TYPE_CLOCK, group:FunctionGroup.txn, return:ValueType.TYPE_U64},
|
|
273
288
|
{from:'type', name:'Guard Address', value:ContextType.TYPE_GUARD, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
|
|
274
289
|
{from:'type', name:'PositiveNumber to Address', value:OperatorType.TYPE_NUMBER_ADDRESS, group:FunctionGroup.number, return:ValueType.TYPE_ADDRESS},
|
|
290
|
+
{from:'type', name:'Convert the string to lowercase', value:OperatorType.TYPE_STRING_LOWERCASE, group:FunctionGroup.string, return:ValueType.TYPE_STRING},
|
|
275
291
|
{from:'type', name:'PositiveNumber Add (+)', value:OperatorType.TYPE_NUMBER_ADD, group:FunctionGroup.number, return:'number'},
|
|
276
292
|
{from:'type', name:'PositiveNumber Subtract (-)', value:OperatorType.TYPE_NUMBER_SUBTRACT, group:FunctionGroup.number, return:'number'},
|
|
277
293
|
{from:'type', name:'PositiveNumber Multiply (*)', value:OperatorType.TYPE_NUMBER_MULTIPLY, group:FunctionGroup.number, return:'number'},
|
|
@@ -431,9 +447,10 @@ export class Guard {
|
|
|
431
447
|
}
|
|
432
448
|
|
|
433
449
|
static StringOptions = () : Guard_Options[] => {
|
|
434
|
-
|
|
450
|
+
const q:Guard_Options[] = Guard.CmdFilter(ValueType.TYPE_STRING).map((v) => {
|
|
435
451
|
return {from:'query', name:v.query_name, value:v.query_id, group:FirstLetterUppercase(v.module), return:v.return};
|
|
436
|
-
})
|
|
452
|
+
})
|
|
453
|
+
return [...q, ...GuardFunctions.filter(v => v.return === ValueType.TYPE_STRING)];
|
|
437
454
|
}
|
|
438
455
|
static BoolOptions = () : Guard_Options[] => {
|
|
439
456
|
const n1:Guard_Options[] = Guard.BoolCmd.map((v)=> { return {from:'query', name:v.query_name, value:v.query_id, group:FirstLetterUppercase(v.module), return:v.return}});
|
|
@@ -676,6 +693,11 @@ export class GuardMaker {
|
|
|
676
693
|
if (this.type_validator.length < splice_len) { ERROR(Errors.Fail, 'type_validator.length:'+e) }
|
|
677
694
|
if (!GuardMaker.match_u256(this.type_validator[this.type_validator.length -1])) { ERROR(Errors.Fail, 'type_validator check:'+e) }
|
|
678
695
|
break;
|
|
696
|
+
case OperatorType.TYPE_STRING_LOWERCASE:
|
|
697
|
+
splice_len = 1; ret = ValueType.TYPE_STRING;
|
|
698
|
+
if (this.type_validator.length < splice_len) { ERROR(Errors.Fail, 'type_validator.length:'+e) }
|
|
699
|
+
if (this.type_validator[this.type_validator.length -1] !== ValueType.TYPE_STRING) { ERROR(Errors.Fail, 'type_validator check:'+e) }
|
|
700
|
+
break;
|
|
679
701
|
case OperatorType.TYPE_LOGIC_AND:
|
|
680
702
|
case OperatorType.TYPE_LOGIC_OR: //@ logics count
|
|
681
703
|
if (!logic_count || logic_count < 2) ERROR(Errors.Fail, 'logic param invalid:'+e);
|