wowok 1.0.3 → 1.0.5

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/guard.js CHANGED
@@ -1,20 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sense_objects_fn = exports.description_fn = exports.parse_sense_bsc = exports.SenseMaker = exports.Sense_Cmd = exports.query_description = exports.signer_guard = exports.launch = exports.Guard_Sense_Binder = void 0;
3
+ exports.sense_objects_fn = exports.description_fn = exports.parse_sense_bsc = exports.SenseMaker = exports.QUERIES = exports.everyone_guard = exports.signer_guard = exports.launch = exports.Guard_Sense_Binder = exports.MAX_SENSE_COUNT = void 0;
4
4
  const bcs_1 = require("@mysten/bcs");
5
5
  const protocol_1 = require("./protocol");
6
6
  const util_1 = require("./util");
7
+ exports.MAX_SENSE_COUNT = 16;
7
8
  var Guard_Sense_Binder;
8
9
  (function (Guard_Sense_Binder) {
9
- Guard_Sense_Binder[Guard_Sense_Binder["AND"] = 1] = "AND";
10
- Guard_Sense_Binder[Guard_Sense_Binder["OR"] = 2] = "OR";
10
+ Guard_Sense_Binder[Guard_Sense_Binder["AND"] = 0] = "AND";
11
+ Guard_Sense_Binder[Guard_Sense_Binder["OR"] = 1] = "OR";
11
12
  })(Guard_Sense_Binder || (exports.Guard_Sense_Binder = Guard_Sense_Binder = {}));
12
13
  function launch(txb, creation) {
13
- var guard = txb.moveCall({
14
+ if (!(0, protocol_1.IsValidDesription)(creation.description))
15
+ return false;
16
+ if (!creation.senses)
17
+ return false;
18
+ let bValid = true;
19
+ creation.senses.forEach((v) => {
20
+ if (!v.input || v.input.length == 0)
21
+ bValid = false;
22
+ });
23
+ if (!bValid)
24
+ return false;
25
+ let guard = txb.moveCall({
14
26
  target: protocol_1.PROTOCOL.GuardFn('new'),
15
- arguments: [txb.pure(creation.description, bcs_1.BCS.STRING),],
27
+ arguments: [txb.pure(creation.description, bcs_1.BCS.STRING)],
16
28
  });
17
- creation?.senses.forEach((sense) => {
29
+ creation.senses.forEach((sense) => {
18
30
  txb.moveCall({
19
31
  target: protocol_1.PROTOCOL.GuardFn('sense_add'),
20
32
  arguments: [guard, txb.pure([].slice.call(sense.input)),
@@ -33,33 +45,136 @@ function signer_guard(txb) {
33
45
  txb.moveCall({
34
46
  target: protocol_1.PROTOCOL.GuardFn('signer_guard'),
35
47
  arguments: []
36
- }); // { kind: 'Result', index: 0 }, ref to address could used by PTB
48
+ });
49
+ return true;
37
50
  }
38
51
  exports.signer_guard = signer_guard;
39
- function query_description(txb, guard) {
52
+ function everyone_guard(txb) {
40
53
  txb.moveCall({
41
- target: protocol_1.PROTOCOL.GuardFn('description'),
42
- arguments: [guard]
54
+ target: protocol_1.PROTOCOL.GuardFn('everyone_guard'),
55
+ arguments: []
43
56
  });
57
+ return true;
44
58
  }
45
- exports.query_description = query_description;
46
- exports.Sense_Cmd = [[protocol_1.MODULES.permission, 'creator', 1, [], protocol_1.Data_Type.TYPE_STATIC_address],
47
- [protocol_1.MODULES.permission, 'is_admin', 2, [protocol_1.Data_Type.TYPE_STATIC_address], protocol_1.Data_Type.TYPE_STATIC_bool],
48
- [protocol_1.MODULES.permission, 'has_rights', 3, [protocol_1.Data_Type.TYPE_STATIC_address, protocol_1.Data_Type.TYPE_STATIC_u64], protocol_1.Data_Type.TYPE_STATIC_bool],
49
- [protocol_1.MODULES.permission, 'contains_address', 4, [protocol_1.Data_Type.TYPE_STATIC_address], protocol_1.Data_Type.TYPE_STATIC_bool],
50
- [protocol_1.MODULES.permission, 'contains_index', 5, [protocol_1.Data_Type.TYPE_STATIC_address, protocol_1.Data_Type.TYPE_STATIC_u64], protocol_1.Data_Type.TYPE_STATIC_bool],
51
- [protocol_1.MODULES.permission, 'contains_guard', 6, [protocol_1.Data_Type.TYPE_STATIC_address, protocol_1.Data_Type.TYPE_STATIC_u64], protocol_1.Data_Type.TYPE_STATIC_bool],
52
- [protocol_1.MODULES.repository, 'permission', 1, [], protocol_1.Data_Type.TYPE_STATIC_address],
53
- [protocol_1.MODULES.repository, 'policy_contains', 2, [protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_bool],
54
- [protocol_1.MODULES.repository, 'policy_has_permission_index', 3, [protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_bool],
55
- [protocol_1.MODULES.repository, 'policy_permission_index', 4, [protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_u64],
56
- [protocol_1.MODULES.repository, 'policy_value_type', 5, [protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_u8],
57
- [protocol_1.MODULES.repository, 'contains_id', 6, [protocol_1.Data_Type.TYPE_STATIC_address], protocol_1.Data_Type.TYPE_STATIC_bool],
58
- [protocol_1.MODULES.repository, 'contains_value', 7, [protocol_1.Data_Type.TYPE_STATIC_address, protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_bool],
59
- [protocol_1.MODULES.repository, 'value_without_type', 8, [protocol_1.Data_Type.TYPE_STATIC_address, protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_vec_u8],
60
- [protocol_1.MODULES.repository, 'value', 9, [protocol_1.Data_Type.TYPE_STATIC_address, protocol_1.Data_Type.TYPE_STATIC_vec_u8], protocol_1.Data_Type.TYPE_STATIC_vec_u8],
61
- [protocol_1.MODULES.repository, 'type', 10, [], protocol_1.Data_Type.TYPE_STATIC_u8],
62
- [protocol_1.MODULES.repository, 'policy_mode', 11, [], protocol_1.Data_Type.TYPE_STATIC_u8],
59
+ exports.everyone_guard = everyone_guard;
60
+ exports.QUERIES = [
61
+ // module, 'name', 'id', [input], output
62
+ [protocol_1.MODULES.permission, 'builder', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
63
+ [protocol_1.MODULES.permission, 'is_admin', 2, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
64
+ [protocol_1.MODULES.permission, 'has_rights', 3, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_u64], protocol_1.ValueType.TYPE_STATIC_bool],
65
+ [protocol_1.MODULES.permission, 'contains_address', 4, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
66
+ [protocol_1.MODULES.permission, 'contains_index', 5, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_u64], protocol_1.ValueType.TYPE_STATIC_bool],
67
+ [protocol_1.MODULES.permission, 'contains_guard', 6, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_u64], protocol_1.ValueType.TYPE_STATIC_bool],
68
+ [protocol_1.MODULES.permission, 'contains_guard', 7, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_u64], protocol_1.ValueType.TYPE_STATIC_address],
69
+ [protocol_1.MODULES.permission, 'entity_count', 8, [], protocol_1.ValueType.TYPE_STATIC_u64],
70
+ [protocol_1.MODULES.permission, 'admin_count', 9, [], protocol_1.ValueType.TYPE_STATIC_u64],
71
+ [protocol_1.MODULES.repository, 'permission', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
72
+ [protocol_1.MODULES.repository, 'policy_contains', 2, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
73
+ [protocol_1.MODULES.repository, 'policy_has_permission_index', 3, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
74
+ [protocol_1.MODULES.repository, 'policy_permission_index', 4, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_u64],
75
+ [protocol_1.MODULES.repository, 'policy_value_type', 5, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_u8],
76
+ [protocol_1.MODULES.repository, 'contains_id', 6, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
77
+ [protocol_1.MODULES.repository, 'contains_value', 7, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
78
+ [protocol_1.MODULES.repository, 'value_without_type', 8, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_vec_u8],
79
+ [protocol_1.MODULES.repository, 'value', 9, [protocol_1.ValueType.TYPE_STATIC_address, protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_vec_u8],
80
+ [protocol_1.MODULES.repository, 'type', 10, [], protocol_1.ValueType.TYPE_STATIC_u8],
81
+ [protocol_1.MODULES.repository, 'policy_mode', 11, [], protocol_1.ValueType.TYPE_STATIC_u8],
82
+ [protocol_1.MODULES.machine, 'permission', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
83
+ [protocol_1.MODULES.machine, 'has_paused', 2, [], protocol_1.ValueType.TYPE_STATIC_bool],
84
+ [protocol_1.MODULES.machine, 'has_published', 3, [], protocol_1.ValueType.TYPE_STATIC_bool],
85
+ [protocol_1.MODULES.machine, 'consensus_repositories_contains', 5, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
86
+ [protocol_1.MODULES.machine, 'has_endpoint', 6, [], protocol_1.ValueType.TYPE_STATIC_bool],
87
+ [protocol_1.MODULES.machine, 'endpoint', 7, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
88
+ [protocol_1.MODULES.progress, 'machine', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
89
+ [protocol_1.MODULES.progress, 'current', 2, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
90
+ [protocol_1.MODULES.progress, 'has_parent', 3, [], protocol_1.ValueType.TYPE_STATIC_bool],
91
+ [protocol_1.MODULES.progress, 'parent', 4, [], protocol_1.ValueType.TYPE_STATIC_address],
92
+ [protocol_1.MODULES.progress, 'has_task', 5, [], protocol_1.ValueType.TYPE_STATIC_bool],
93
+ [protocol_1.MODULES.progress, 'task', 6, [], protocol_1.ValueType.TYPE_STATIC_address],
94
+ [protocol_1.MODULES.progress, 'has_namedOperator', 7, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
95
+ [protocol_1.MODULES.progress, 'namedOperator_contains', 8, [protocol_1.ValueType.TYPE_STATIC_vec_u8, protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
96
+ [protocol_1.MODULES.progress, 'has_context_repository', 9, [], protocol_1.ValueType.TYPE_STATIC_bool],
97
+ [protocol_1.MODULES.progress, 'context_repository', 10, [], protocol_1.ValueType.TYPE_STATIC_address],
98
+ [protocol_1.MODULES.demand, 'permission', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
99
+ [protocol_1.MODULES.demand, 'has_time_expire', 2, [], protocol_1.ValueType.TYPE_STATIC_bool],
100
+ [protocol_1.MODULES.demand, 'time_expire', 3, [], protocol_1.ValueType.TYPE_STATIC_u64],
101
+ [protocol_1.MODULES.demand, 'earnest_count', 4, [], protocol_1.ValueType.TYPE_STATIC_u64],
102
+ [protocol_1.MODULES.demand, 'has_guard', 5, [], protocol_1.ValueType.TYPE_STATIC_bool],
103
+ [protocol_1.MODULES.demand, 'guard', 6, [], protocol_1.ValueType.TYPE_STATIC_address],
104
+ [protocol_1.MODULES.demand, 'has_yes', 7, [], protocol_1.ValueType.TYPE_STATIC_bool],
105
+ [protocol_1.MODULES.demand, 'yes', 8, [], protocol_1.ValueType.TYPE_STATIC_address],
106
+ [protocol_1.MODULES.demand, 'presenters_count', 9, [], protocol_1.ValueType.TYPE_STATIC_u64],
107
+ [protocol_1.MODULES.demand, 'has_presenter', 10, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
108
+ [protocol_1.MODULES.demand, 'persenter', 11, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_address],
109
+ [protocol_1.MODULES.order, 'amount', 1, [], protocol_1.ValueType.TYPE_STATIC_u64],
110
+ [protocol_1.MODULES.order, 'payer', 2, [], protocol_1.ValueType.TYPE_STATIC_address],
111
+ [protocol_1.MODULES.order, 'service', 3, [], protocol_1.ValueType.TYPE_STATIC_address],
112
+ [protocol_1.MODULES.order, 'has_progress', 4, [], protocol_1.ValueType.TYPE_STATIC_bool],
113
+ [protocol_1.MODULES.order, 'progress', 5, [], protocol_1.ValueType.TYPE_STATIC_address],
114
+ [protocol_1.MODULES.order, 'has_requred_info', 6, [], protocol_1.ValueType.TYPE_STATIC_bool],
115
+ [protocol_1.MODULES.order, 'requred_info_service_pubkey', 7, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
116
+ [protocol_1.MODULES.order, 'requred_info_customer_pubkey', 8, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
117
+ [protocol_1.MODULES.order, 'requred_info_info', 9, [], protocol_1.ValueType.TYPE_STATIC_vec_vec_u8],
118
+ [protocol_1.MODULES.order, 'has_discount', 10, [], protocol_1.ValueType.TYPE_STATIC_bool],
119
+ [protocol_1.MODULES.order, 'discount', 11, [], protocol_1.ValueType.TYPE_STATIC_address],
120
+ [protocol_1.MODULES.order, 'balance', 12, [], protocol_1.ValueType.TYPE_STATIC_u64],
121
+ [protocol_1.MODULES.order, 'bRefunded', 13, [], protocol_1.ValueType.TYPE_STATIC_u8],
122
+ [protocol_1.MODULES.order, 'bWithdrawed', 14, [], protocol_1.ValueType.TYPE_STATIC_u8],
123
+ [protocol_1.MODULES.service, 'permission', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
124
+ [protocol_1.MODULES.service, 'payee', 2, [], protocol_1.ValueType.TYPE_STATIC_address],
125
+ [protocol_1.MODULES.service, 'has_buy_guard', 3, [], protocol_1.ValueType.TYPE_STATIC_bool],
126
+ [protocol_1.MODULES.service, 'buy_guard', 4, [], protocol_1.ValueType.TYPE_STATIC_address],
127
+ [protocol_1.MODULES.service, 'repository_contains', 5, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
128
+ [protocol_1.MODULES.service, 'has_withdraw_guard', 6, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
129
+ [protocol_1.MODULES.service, 'withdraw_guard_percent', 7, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
130
+ [protocol_1.MODULES.service, 'has_refund_guard', 8, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
131
+ [protocol_1.MODULES.service, 'refund_guard_percent', 9, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
132
+ [protocol_1.MODULES.service, 'has_sale', 10, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
133
+ [protocol_1.MODULES.service, 'sale_price', 11, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_u64],
134
+ [protocol_1.MODULES.service, 'sale_stock', 12, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_u64],
135
+ [protocol_1.MODULES.service, 'has_machine', 13, [], protocol_1.ValueType.TYPE_STATIC_bool],
136
+ [protocol_1.MODULES.service, 'machine', 14, [], protocol_1.ValueType.TYPE_STATIC_address],
137
+ [protocol_1.MODULES.service, 'bPaused', 15, [], protocol_1.ValueType.TYPE_STATIC_bool],
138
+ [protocol_1.MODULES.service, 'bPublished', 16, [], protocol_1.ValueType.TYPE_STATIC_bool],
139
+ [protocol_1.MODULES.service, 'has_required', 17, [], protocol_1.ValueType.TYPE_STATIC_bool],
140
+ [protocol_1.MODULES.service, 'requrired_pubkey', 18, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
141
+ [protocol_1.MODULES.service, 'requrired_info', 19, [], protocol_1.ValueType.TYPE_STATIC_vec_vec_u8],
142
+ [protocol_1.MODULES.reward, 'permission', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
143
+ [protocol_1.MODULES.reward, 'rewards_count_remain', 2, [], protocol_1.ValueType.TYPE_STATIC_u64],
144
+ [protocol_1.MODULES.reward, 'rewards_count_supplied', 3, [], protocol_1.ValueType.TYPE_STATIC_u64],
145
+ [protocol_1.MODULES.reward, 'guard_count', 4, [], protocol_1.ValueType.TYPE_STATIC_u64],
146
+ [protocol_1.MODULES.reward, 'has_guard', 5, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
147
+ [protocol_1.MODULES.reward, 'guard_portions', 6, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
148
+ [protocol_1.MODULES.reward, 'time_expire', 7, [], protocol_1.ValueType.TYPE_STATIC_u64],
149
+ [protocol_1.MODULES.reward, 'has_claimed', 8, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
150
+ [protocol_1.MODULES.reward, 'claimed', 9, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
151
+ [protocol_1.MODULES.reward, 'has_claimed_count', 10, [], protocol_1.ValueType.TYPE_STATIC_u64],
152
+ [protocol_1.MODULES.reward, 'is_sponsor', 11, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
153
+ [protocol_1.MODULES.reward, 'sponsor', 12, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
154
+ [protocol_1.MODULES.reward, 'sponsor_count', 13, [], protocol_1.ValueType.TYPE_STATIC_u64],
155
+ [protocol_1.MODULES.reward, 'bAllowRepeatClaim', 14, [], protocol_1.ValueType.TYPE_STATIC_bool],
156
+ [protocol_1.MODULES.vote, 'permission', 1, [], protocol_1.ValueType.TYPE_STATIC_address],
157
+ [protocol_1.MODULES.vote, 'bOptions_locked_for_voting', 2, [], protocol_1.ValueType.TYPE_STATIC_bool],
158
+ [protocol_1.MODULES.vote, 'bdeadline_locked', 3, [], protocol_1.ValueType.TYPE_STATIC_bool],
159
+ [protocol_1.MODULES.vote, 'bLockedGuard', 4, [], protocol_1.ValueType.TYPE_STATIC_bool],
160
+ [protocol_1.MODULES.vote, 'max_choice_count', 5, [], protocol_1.ValueType.TYPE_STATIC_u8],
161
+ [protocol_1.MODULES.vote, 'deadline', 6, [], protocol_1.ValueType.TYPE_STATIC_u64],
162
+ [protocol_1.MODULES.vote, 'has_reference', 7, [], protocol_1.ValueType.TYPE_STATIC_bool],
163
+ [protocol_1.MODULES.vote, 'reference', 8, [], protocol_1.ValueType.TYPE_STATIC_address],
164
+ [protocol_1.MODULES.vote, 'has_guard', 9, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
165
+ [protocol_1.MODULES.vote, 'guard', 10, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
166
+ [protocol_1.MODULES.vote, 'voted', 11, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_bool],
167
+ [protocol_1.MODULES.vote, 'voted_weight', 12, [protocol_1.ValueType.TYPE_STATIC_address], protocol_1.ValueType.TYPE_STATIC_u64],
168
+ [protocol_1.MODULES.vote, 'has_agree', 13, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
169
+ [protocol_1.MODULES.vote, 'agree_has_object', 14, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_bool],
170
+ [protocol_1.MODULES.vote, 'agree_object', 15, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_address],
171
+ [protocol_1.MODULES.vote, 'agree_count', 16, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_u64],
172
+ [protocol_1.MODULES.vote, 'agree_votes', 17, [protocol_1.ValueType.TYPE_STATIC_vec_u8], protocol_1.ValueType.TYPE_STATIC_u64],
173
+ [protocol_1.MODULES.vote, 'voted_count', 18, [], protocol_1.ValueType.TYPE_STATIC_u64],
174
+ [protocol_1.MODULES.vote, 'top1_name_by_count', 19, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
175
+ [protocol_1.MODULES.vote, 'top1_count', 20, [], protocol_1.ValueType.TYPE_STATIC_u64],
176
+ [protocol_1.MODULES.vote, 'top1_name_by_votes', 21, [], protocol_1.ValueType.TYPE_STATIC_vec_u8],
177
+ [protocol_1.MODULES.vote, 'top1_votes', 22, [], protocol_1.ValueType.TYPE_STATIC_u64],
63
178
  ];
64
179
  class SenseMaker {
65
180
  data = [];
@@ -69,43 +184,43 @@ class SenseMaker {
69
184
  add_param(type, param) {
70
185
  const bcs = new bcs_1.BCS((0, bcs_1.getSuiMoveConfig)());
71
186
  switch (type) {
72
- case protocol_1.Data_Type.TYPE_STATIC_address:
187
+ case protocol_1.ValueType.TYPE_STATIC_address:
73
188
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
74
189
  this.data.push(bcs.ser(bcs_1.BCS.ADDRESS, param).toBytes());
75
190
  this.type_validator.push(type);
76
191
  break;
77
- case protocol_1.Data_Type.TYPE_STATIC_bool:
192
+ case protocol_1.ValueType.TYPE_STATIC_bool:
78
193
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
79
194
  this.data.push(bcs.ser(bcs_1.BCS.BOOL, param).toBytes());
80
195
  this.type_validator.push(type);
81
196
  break;
82
- case protocol_1.Data_Type.TYPE_STATIC_u8:
197
+ case protocol_1.ValueType.TYPE_STATIC_u8:
83
198
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
84
199
  this.data.push(bcs.ser(bcs_1.BCS.U8, param).toBytes());
85
200
  this.type_validator.push(type);
86
201
  break;
87
- case protocol_1.Data_Type.TYPE_STATIC_u64:
202
+ case protocol_1.ValueType.TYPE_STATIC_u64:
88
203
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
89
204
  this.data.push(bcs.ser(bcs_1.BCS.U64, param).toBytes());
90
205
  this.type_validator.push(type);
91
206
  break;
92
- case protocol_1.Data_Type.TYPE_STATIC_vec_u8:
207
+ case protocol_1.ValueType.TYPE_STATIC_vec_u8:
93
208
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
94
- this.data.push(bcs.ser("vector<u8>", param).toBytes());
209
+ this.data.push(bcs.ser(bcs_1.BCS.STRING, param).toBytes());
95
210
  this.type_validator.push(type);
96
211
  // this.data[this.data.length-1].forEach((item : number) => console.log(item))
97
212
  break;
98
- case protocol_1.Data_Type.TYPE_CONTEXT_SIGNER:
213
+ case protocol_1.ContextType.TYPE_CONTEXT_SIGNER:
99
214
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
100
- this.type_validator.push(protocol_1.Data_Type.TYPE_STATIC_address);
215
+ this.type_validator.push(protocol_1.ValueType.TYPE_STATIC_address);
101
216
  break;
102
- case protocol_1.Data_Type.TYPE_CONTEXT_CURRENT_CLOCK:
217
+ case protocol_1.ContextType.TYPE_CONTEXT_CURRENT_CLOCK:
103
218
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
104
- this.type_validator.push(protocol_1.Data_Type.TYPE_STATIC_u64);
219
+ this.type_validator.push(protocol_1.ValueType.TYPE_STATIC_u64);
105
220
  break;
106
- case protocol_1.Data_Type.TYPE_CONTEXT_CURRENT_PROGRESS:
221
+ case protocol_1.ContextType.TYPE_CONTEXT_CURRENT_PROGRESS:
107
222
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes());
108
- this.type_validator.push(protocol_1.Data_Type.TYPE_STATIC_address);
223
+ this.type_validator.push(protocol_1.ValueType.TYPE_STATIC_address);
109
224
  break;
110
225
  default:
111
226
  return false;
@@ -113,34 +228,44 @@ class SenseMaker {
113
228
  ;
114
229
  return true;
115
230
  }
116
- add_cmd(object_address, sense_index) {
117
- if (!object_address || sense_index >= exports.Sense_Cmd.length) {
231
+ query_index(module, query_name) {
232
+ for (let i = 0; i < exports.QUERIES.length; i++) {
233
+ if (exports.QUERIES[i][0] == module && exports.QUERIES[i][1] == query_name) {
234
+ return i;
235
+ }
236
+ }
237
+ return -1;
238
+ }
239
+ // query_index: index(from 0) of array QUERIES
240
+ add_query(object_address, module, query_name) {
241
+ let query_index = this.query_index(module, query_name);
242
+ if (!object_address || query_index == -1) {
118
243
  return false;
119
244
  }
120
- let offset = this.type_validator.length - exports.Sense_Cmd[sense_index][3].length;
245
+ let offset = this.type_validator.length - exports.QUERIES[query_index][3].length;
121
246
  if (offset < 0) {
122
247
  return false;
123
248
  }
124
249
  let types = this.type_validator.slice(offset);
125
- if (!(0, util_1.array_equal)(types, exports.Sense_Cmd[sense_index][3])) { // type validate
250
+ if (!(0, util_1.array_equal)(types, exports.QUERIES[query_index][3])) { // type validate
126
251
  return false;
127
252
  }
128
253
  const bcs = new bcs_1.BCS((0, bcs_1.getSuiMoveConfig)());
129
- this.data.push(bcs.ser(bcs_1.BCS.U8, protocol_1.Data_Type.TYPE_DYNAMIC_QUERY).toBytes()); // TYPE
254
+ this.data.push(bcs.ser(bcs_1.BCS.U8, protocol_1.OperatorType.TYPE_DYNAMIC_QUERY).toBytes()); // TYPE
130
255
  this.data.push(bcs.ser(bcs_1.BCS.ADDRESS, object_address).toBytes()); // object address
131
- this.data.push(bcs.ser(bcs_1.BCS.U8, exports.Sense_Cmd[sense_index][2]).toBytes()); // cmd
132
- this.type_validator.splice(offset, exports.Sense_Cmd[sense_index][3].length); // delete type stack
133
- this.type_validator.push(exports.Sense_Cmd[sense_index][4]); // add the return value type to type stack
256
+ this.data.push(bcs.ser(bcs_1.BCS.U8, exports.QUERIES[query_index][2]).toBytes()); // cmd
257
+ this.type_validator.splice(offset, exports.QUERIES[query_index][3].length); // delete type stack
258
+ this.type_validator.push(exports.QUERIES[query_index][4]); // add the return value type to type stack
134
259
  // console.log(this.type_validator)
135
260
  return true;
136
261
  }
137
262
  add_logic(type) {
138
263
  switch (type) {
139
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_GREATER:
140
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL:
141
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_LESSER:
142
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_LESSER_EQUAL:
143
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_EQUAL:
264
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_GREATER:
265
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL:
266
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_LESSER:
267
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_LESSER_EQUAL:
268
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_EQUAL:
144
269
  if (this.type_validator.length < 2) {
145
270
  return false;
146
271
  }
@@ -151,8 +276,8 @@ class SenseMaker {
151
276
  return false;
152
277
  }
153
278
  break;
154
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_EQUAL:
155
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_HAS_SUBSTRING:
279
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_EQUAL:
280
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_HAS_SUBSTRING:
156
281
  if (this.type_validator.length < 2) {
157
282
  return false;
158
283
  }
@@ -163,14 +288,15 @@ class SenseMaker {
163
288
  const bcs = new bcs_1.BCS((0, bcs_1.getSuiMoveConfig)());
164
289
  this.data.push(bcs.ser(bcs_1.BCS.U8, type).toBytes()); // TYPE
165
290
  this.type_validator.splice(this.type_validator.length - 2); // delete type stack
166
- this.type_validator.push(protocol_1.Data_Type.TYPE_STATIC_bool); // add bool to type stack
291
+ this.type_validator.push(protocol_1.ValueType.TYPE_STATIC_bool); // add bool to type stack
167
292
  return true;
168
293
  }
169
- make(bNotAfterSense, binder) {
294
+ make(bNotAfterSense = false, binder = Guard_Sense_Binder.AND) {
170
295
  //console.log(this.type_validator);
171
296
  //this.data.forEach((value:Uint8Array) => console.log(value));
172
- if (this.type_validator.length != 1 || this.type_validator[0] != protocol_1.Data_Type.TYPE_STATIC_bool) {
173
- return undefined;
297
+ if (this.type_validator.length != 1 || this.type_validator[0] != protocol_1.ValueType.TYPE_STATIC_bool) {
298
+ // console.log(this.type_validator)
299
+ return false;
174
300
  } // ERROR
175
301
  let input = (0, util_1.concatenate)(Uint8Array, ...this.data);
176
302
  const sense = { input: input, notAfterSense: bNotAfterSense, binder: binder };
@@ -179,9 +305,9 @@ class SenseMaker {
179
305
  }
180
306
  exports.SenseMaker = SenseMaker;
181
307
  function match_u128(type) {
182
- if (type == protocol_1.Data_Type.TYPE_STATIC_option_u8 ||
183
- type == protocol_1.Data_Type.TYPE_STATIC_option_u64 ||
184
- type == protocol_1.Data_Type.TYPE_STATIC_option_u128) {
308
+ if (type == protocol_1.ValueType.TYPE_STATIC_u8 ||
309
+ type == protocol_1.ValueType.TYPE_STATIC_u64 ||
310
+ type == protocol_1.ValueType.TYPE_STATIC_u128) {
185
311
  return true;
186
312
  }
187
313
  return false;
@@ -196,42 +322,42 @@ function parse_sense_bsc(chain_sense_bsc) {
196
322
  var type = array.shift();
197
323
  // console.log(type);
198
324
  switch (type) {
199
- case protocol_1.Data_Type.TYPE_CONTEXT_SIGNER:
200
- case protocol_1.Data_Type.TYPE_CONTEXT_CURRENT_CLOCK:
201
- case protocol_1.Data_Type.TYPE_CONTEXT_CURRENT_PROGRESS:
202
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_GREATER:
203
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL:
204
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_LESSER:
205
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_LESSER_EQUAL:
206
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_U128_EQUAL:
207
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_EQUAL:
208
- case protocol_1.Data_Type.TYPE_LOGIC_OPERATOR_HAS_SUBSTRING:
325
+ case protocol_1.ContextType.TYPE_CONTEXT_SIGNER:
326
+ case protocol_1.ContextType.TYPE_CONTEXT_CURRENT_CLOCK:
327
+ case protocol_1.ContextType.TYPE_CONTEXT_CURRENT_PROGRESS:
328
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_GREATER:
329
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL:
330
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_LESSER:
331
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_LESSER_EQUAL:
332
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_U128_EQUAL:
333
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_EQUAL:
334
+ case protocol_1.OperatorType.TYPE_LOGIC_OPERATOR_HAS_SUBSTRING:
209
335
  break;
210
- case protocol_1.Data_Type.TYPE_STATIC_address:
336
+ case protocol_1.ValueType.TYPE_STATIC_address:
211
337
  //console.log('0x' + bcs.de(BCS.ADDRESS, Uint8Array.from(array)).toString());
212
338
  array.splice(0, 32);
213
339
  break;
214
- case protocol_1.Data_Type.TYPE_STATIC_bool:
215
- case protocol_1.Data_Type.TYPE_STATIC_u8:
340
+ case protocol_1.ValueType.TYPE_STATIC_bool:
341
+ case protocol_1.ValueType.TYPE_STATIC_u8:
216
342
  array.splice(0, 1);
217
343
  break;
218
- case protocol_1.Data_Type.TYPE_STATIC_u64:
344
+ case protocol_1.ValueType.TYPE_STATIC_u64:
219
345
  array.splice(0, 8);
220
346
  break;
221
- case protocol_1.Data_Type.TYPE_STATIC_u128:
347
+ case protocol_1.ValueType.TYPE_STATIC_u128:
222
348
  array.splice(0, 16);
223
349
  break;
224
- case protocol_1.Data_Type.TYPE_STATIC_vec_u8:
350
+ case protocol_1.ValueType.TYPE_STATIC_vec_u8:
225
351
  let { value, length } = (0, util_1.ulebDecode)(Uint8Array.from(array));
226
352
  array.splice(0, value + length);
227
353
  break;
228
- case protocol_1.Data_Type.TYPE_DYNAMIC_QUERY:
354
+ case protocol_1.OperatorType.TYPE_DYNAMIC_QUERY:
229
355
  result.push('0x' + bcs.de(bcs_1.BCS.ADDRESS, Uint8Array.from(array)).toString());
230
356
  array.splice(0, 33); // address + cmd
231
357
  break;
232
358
  default:
233
359
  // console.log('parse_sense_bsc:undefined');
234
- return undefined; // error
360
+ return false; // error
235
361
  }
236
362
  }
237
363
  return result;