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/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
- avatar: bcs.vector(bcs.u8()),
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wowok",
3
- "version": "1.7.10",
3
+ "version": "1.7.13",
4
4
  "description": "Create, collaborate, and transact on your own terms with the AI-driven web3 collaboration protocol.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
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, isValidHttpUrl, Bcs, Entity_Info} from './utils.js';
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?: Entity_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
- update(info: Entity_Info) {
46
- if (info?.name && !IsValidName(info.name)) ERROR(Errors.IsValidName, 'update');
47
- if (info?.description && !IsValidDesription(info.description)) ERROR(Errors.IsValidDesription, 'update');
48
- if (info?.avatar && !isValidHttpUrl(info.avatar)) ERROR(Errors.isValidHttpUrl, 'update:avatar');
49
- if (info?.twitter && !IsValidName(info.twitter)) ERROR(Errors.IsValidName, 'update:twitter');
50
- if (info?.homepage && !isValidHttpUrl(info.homepage)) ERROR(Errors.isValidHttpUrl, 'update:homepage');
51
- if (info?.discord && !IsValidName(info.discord)) ERROR(Errors.IsValidName, 'update:discord');
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('avatar_update') as FnCallType,
56
- arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.vector('u8', [].slice.call(bytes))]
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 txb = new TransactionBlock();
111
- txb.moveCall({
112
- target:Protocol.Instance().entityFn('QueryEnt') as FnCallType,
113
- arguments:[Protocol.TXB_OBJECT(txb, Protocol.Instance().objectEntity()),
114
- txb.pure.address(address)]
115
- }) ;
116
-
117
- const res = await Protocol.Client().devInspectTransactionBlock({sender:address, transactionBlock:txb});
118
- if (res.results?.length === 1 && res.results[0].returnValues?.length === 1 ) {
119
- const r1 = Bcs.getInstance().de_ent(Uint8Array.from(res.results[0].returnValues[0][0]));
120
- return {info: Bcs.getInstance().de_entInfo(Uint8Array.from(r1.avatar)),
121
- resource_object: r1.resource ?? undefined,
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:'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']},
61
- {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']},
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: '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']},
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:'Entity Info', query_id:203, parameters:[ValueType.TYPE_ADDRESS], return:ValueType.TYPE_VEC_U8, description:'Public information about an entity.', parameters_description:['address']},
79
- {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']},
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
- return [...Guard.CmdFilter(ValueType.TYPE_STRING)].map((v) => {
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);