wowok 1.1.1 → 1.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAoB,KAAK,sBAAsB,EAAU,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAkB,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAC9F,OAAO,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAuB,MAAM,SAAS,CAAC;AAI5D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAC,OAAO,CAAC;IACf,IAAI,EAAC,MAAM,CAAC;IACZ,GAAG,EAAC,MAAM,CAAC;IACX,MAAM,EAAC,SAAS,EAAE,CAAC;IACnB,MAAM,EAAC,SAAS,CAAA;CACnB,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,qBAAa,WAAW;IAEpB,MAAM,CAAC,aAAa,aAAmB,QAAQ,UAAS,MAAM,EAAE,KAAI,QAAQ,kBAAkB,EAAE,CAAC,CAehG;IAGD,MAAM,CAAC,aAAa,CAAC,MAAM,EAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAC,UAAU,EAAE,QAAQ,CAAC,EAAC,YAAY,GAAI,OAAO;IA6EhI,MAAM,CAAC,aAAa,aAAmB,QAAQ,UAAS,MAAM,EAAE,YAAW,kBAAkB,EAAE,KAAI,QAAQ,kBAAkB,EAAE,CAAC,CAuC/H;IAGD,MAAM,CAAC,eAAe,CAAC,MAAM,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAC,UAAU,EAAE,QAAQ,CAAC,EAAC,YAAY,GAAK,OAAO;IA0EvH,MAAM,CAAC,oBAAoB,aAAa,QAAQ,YAAW,iBAAiB,SAAQ,WAAW,UAAS,oBAAoB,UAsC3H;IAGD,MAAM,CAAC,gBAAgB,aAAa,QAAQ,YAAW,iBAAiB,SAAQ,WAAW,UAAS,oBAAoB,UAgBvH;CACJ;AAED,qBAAa,QAAQ;IACjB,MAAM,CAAC,eAAe,SAAK;IAC3B,SAAS,CAAC,QAAQ,0DAAC;IACnB,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;gBAEG,QAAQ,EAAC,QAAQ,EAAE,MAAM,EAAC,WAAW,EAAE,EAAE,aAAa,EAAC,kBAAkB,EAAE,EAAE,aAAa,CAAC,EAAC,kBAAkB,EAAE;IAgE7H,OAAO;IAQP,MAAM;CAOT"}
1
+ {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,sBAAsB,EAAU,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAe,WAAW,EAAE,QAAQ,EAC/B,MAAM,YAAY,CAAC;AAM3C,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACd,CAAA;AAED,UAAU,UAAU;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAG,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,UAAU,SAAS;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,CAAC,MAAM,GAAG;QAAC,UAAU,EAAC,MAAM,CAAC;QAAC,IAAI,EAAC,MAAM,CAAC;QAAC,OAAO,EAAC,MAAM,CAAA;KAAC,CAAC,EAAE,CAAC;IAC1E,WAAW,EAAE,UAAU,EAAE,CAAC;CAC7B;AACD,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CACjC;AACD,qBAAa,WAAW;IACpB,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACvC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,OAAO;IACP,SAAS,oBAAmC;IAE5C,MAAM,CAAC,WAAW,aAAoB,QAAQ,UAAU,MAAM,EAAE,0BAwB/D;IAED,OAAO,CAAC,YAAY,CASnB;IAED,OAAO,CAAC,SAAS,CA+DhB;IAED,IAAI,UAAgB,UAAU,EAAE,KAAI,QAAQ,aAAa,CAAC,CA4CzD;IAED,OAAO,CAAC,YAAY,CAcnB;CACJ;AAED,qBAAa,QAAQ;IACjB,MAAM,CAAC,eAAe,SAAK;IAC3B,SAAS,CAAC,QAAQ,0DAAC;IACnB,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;gBAEG,QAAQ,EAAC,QAAQ,EAAE,MAAM,EAAC,WAAW,EAAE,EAAE,KAAK,CAAC,EAAC,aAAa;IAmD1E,OAAO;IAQP,MAAM;CAOT"}
package/dist/passport.js CHANGED
@@ -1,29 +1,48 @@
1
1
  import { Inputs } from '@mysten/sui.js/transactions';
2
- import { Protocol, ContextType, OperatorType, ValueType, } from './protocol';
3
- import { parse_object_type, array_unique, Bcs, ulebDecode } from './utils';
4
- import { Guard } from './guard';
2
+ import { Protocol, ContextType, OperatorType, ValueType } from './protocol';
3
+ import { parse_object_type, array_unique, Bcs, ulebDecode, IsValidAddress, IsValidArray } from './utils';
5
4
  import { BCS } from '@mysten/bcs';
6
5
  import { ERROR, Errors } from './exception';
7
6
  export class GuardParser {
8
- // from guards: get objects to fill FUTURE value by singer
9
- static guard_futures = async (protocol, guards) => {
10
- let futrue_objects = guards.map((value) => {
11
- return { objectid: value, callback: GuardParser.rpc_sense_objects_fn, parser: GuardParser.parse_futures, data: [] };
7
+ guard_list = [];
8
+ protocol;
9
+ constructor(protocol) { this.protocol = protocol; }
10
+ guardlist = () => { return this.guard_list; };
11
+ static CreateAsync = async (protocol, guards) => {
12
+ if (!IsValidArray(guards, IsValidAddress)) {
13
+ ERROR(Errors.IsValidArray, 'guards');
14
+ }
15
+ let guard_list = array_unique(guards);
16
+ const me = new GuardParser(protocol);
17
+ let res = await protocol.Query_Raw(guards);
18
+ res.forEach((r) => {
19
+ let c = r.data?.content;
20
+ if (!c)
21
+ return;
22
+ let index = protocol.WOWOK_OBJECTS_TYPE().findIndex(v => v.includes('guard::Guard') && v == c.type);
23
+ if (index == -1)
24
+ return;
25
+ let info = { id: c.fields.id.id, query_list: [], futrue_list: [] };
26
+ me.parse_future(info, c.fields.variables);
27
+ if (c.fields.input.type == (protocol.Package() + '::bcs::BCS')) {
28
+ me.parse_bcs(info, Uint8Array.from(c.fields.input.fields.bytes));
29
+ }
30
+ me.guard_list.push(info);
12
31
  });
13
- await protocol.Query(futrue_objects); // future objects
14
- let future_objects_result = [];
15
- futrue_objects.forEach((futrue) => {
16
- futrue.data.forEach((f) => {
17
- if (future_objects_result.findIndex((v) => { return v.guardid == f.guardid && v.identifier == f.identifier; }) == -1) {
18
- future_objects_result.push(f);
32
+ return me;
33
+ };
34
+ parse_future = (info, variables) => {
35
+ variables.forEach((v) => {
36
+ if (v.type == (this.protocol.Package() + '::guard::Variable')) {
37
+ if (v.fields.type == OperatorType.TYPE_FUTURE_QUERY || v.fields.type == ContextType.TYPE_CONTEXT_FUTURE_ID) {
38
+ info.futrue_list.push({ identifier: v.fields.identifier, type: v.fields.type,
39
+ witness: '0x' + Bcs.getInstance().de(BCS.ADDRESS, Uint8Array.from(v.fields.value)) });
19
40
  }
20
- });
41
+ }
21
42
  });
22
- return future_objects_result;
23
43
  };
24
- // parse guard futures into result, WITH future variable READY.
25
- static parse_futures(result, guardid, chain_sense_bsc, variable) {
26
- var arr = [].slice.call(chain_sense_bsc.reverse());
44
+ parse_bcs = (info, chain_bytes) => {
45
+ var arr = [].slice.call(chain_bytes.reverse());
27
46
  while (arr.length > 0) {
28
47
  var type = arr.shift();
29
48
  // console.log(type);
@@ -38,20 +57,21 @@ export class GuardParser {
38
57
  case OperatorType.TYPE_LOGIC_OPERATOR_EQUAL:
39
58
  case OperatorType.TYPE_LOGIC_OPERATOR_HAS_SUBSTRING:
40
59
  case OperatorType.TYPE_LOGIC_ALWAYS_TRUE:
60
+ case OperatorType.TYPE_LOGIC_NOT:
61
+ case OperatorType.TYPE_LOGIC_AND:
62
+ case OperatorType.TYPE_LOGIC_OR:
41
63
  break;
42
- case ContextType.TYPE_CONTEXT_FUTURE_ID: // MACHINE-ID
64
+ case ContextType.TYPE_CONTEXT_FUTURE_ID:
43
65
  case OperatorType.TYPE_FUTURE_QUERY:
44
66
  var identifer = arr.splice(0, 1);
67
+ let i = info.futrue_list.find(f => f.identifier == identifer[0]);
68
+ if (!i) {
69
+ ERROR(Errors.Fail, 'futrue_list not found');
70
+ }
45
71
  if (type == OperatorType.TYPE_FUTURE_QUERY) {
72
+ info.query_list.push({ identifier: identifer[0], type: type, witness: i.witness }); // query list item
46
73
  arr.splice(0, 1); // cmd
47
74
  }
48
- if (!variable || variable?.get(identifer[0])?.type != type)
49
- return false;
50
- let witness = Guard.get_variable_witness(variable, identifer[0], type);
51
- if (!witness)
52
- return false;
53
- result.push({ guardid: guardid, identifier: identifer[0], type: type, value: '',
54
- witness: '0x' + Bcs.getInstance().de(BCS.ADDRESS, Uint8Array.from(witness)) });
55
75
  break;
56
76
  case ContextType.TYPE_CONTEXT_address:
57
77
  case ContextType.TYPE_CONTEXT_bool:
@@ -79,190 +99,79 @@ export class GuardParser {
79
99
  arr.splice(0, value + length);
80
100
  break;
81
101
  case OperatorType.TYPE_QUERY:
102
+ info.query_list.push('0x' + Bcs.getInstance().de(BCS.ADDRESS, Uint8Array.from(arr)).toString());
82
103
  arr.splice(0, 33); // address + cmd
83
104
  break;
84
105
  default:
85
- console.error('parse_sense_bsc:undefined');
86
- console.log(type);
87
- console.log(arr);
88
- return false; // error
106
+ ERROR(Errors.Fail, 'parse_bcs types');
89
107
  }
90
108
  }
91
- return true;
92
- }
93
- // from guards: get objects to 'guard_query' on chain , with future variables had filled.
94
- // passport verify for some guards, MUST be in ONE pxb:
95
- // 0. construct Guard_Query_Objects(passport_quries) from queries for guards of objects
96
- // 1. create passport
97
- // 2. add all guards / guards future variables
98
- // 3. verify passport
99
- // 4. ops using passport(guard set on object)
100
- // 5. ops using passport(guard set on object)
101
- // 6. destroy passport
102
- static guard_queries = async (protocol, guards, futures) => {
103
- let sense_objects = guards.map((value) => {
104
- let v = new Map();
105
- futures?.forEach((f) => {
106
- if (f.guardid == value) {
107
- Guard.add_future_variable(v, f.identifier, f.type, f.witness.slice(0), f?.value ? f.value.slice(0) : undefined, true);
109
+ };
110
+ done = async (fill) => {
111
+ let objects = [];
112
+ this.guard_list.forEach((g) => {
113
+ g.futrue_list.forEach((f) => {
114
+ let r = fill?.find(i => i.identifier == f.identifier && g.id == i.guard);
115
+ if (!r && !f.futrue) {
116
+ ERROR(Errors.InvalidParam, 'fill');
108
117
  }
118
+ if (r)
119
+ f.futrue = r.future;
120
+ objects.push(f.futrue);
109
121
  });
110
- return { objectid: value, callback: GuardParser.rpc_sense_objects_fn, parser: GuardParser.parse_sense_bsc, data: [], variables: futures ? v : undefined };
111
- });
112
- await protocol.Query(sense_objects); // objects need quering in guards
113
- let sense_objects_result = [];
114
- sense_objects.forEach((value) => {
115
- sense_objects_result = sense_objects_result.concat(value.data);
116
- });
117
- sense_objects_result = array_unique(sense_objects_result); // objects in guards
118
- let queries = sense_objects_result.map((value) => {
119
- return { objectid: value, callback: GuardParser.rpc_query_cmd_fn, data: [] };
120
- });
121
- await protocol.Query(queries, { 'showType': true }); // queries for passport verifing
122
- let res = [];
123
- sense_objects.forEach((guard) => {
124
- res = res.concat(guard.data.map((object) => {
125
- let data = queries.filter((v) => {
126
- return v.objectid == object;
127
- });
128
- if (!data) {
129
- console.error('error find data');
130
- console.log(queries);
131
- console.log(object);
132
- return;
122
+ g.query_list = g.query_list.map((q) => {
123
+ if (typeof (q) === "string") {
124
+ objects.push(q);
125
+ return q;
133
126
  }
134
- return data[0].data;
135
- }));
136
- });
137
- return res;
138
- };
139
- // parse guard senses input bytes of a guard, return [objectids] for 'query_cmd'
140
- static parse_sense_bsc(result, guardid, chain_sense_bsc, variable) {
141
- var arr = [].slice.call(chain_sense_bsc.reverse());
142
- while (arr.length > 0) {
143
- var type = arr.shift();
144
- // console.log(type);
145
- switch (type) {
146
- case ContextType.TYPE_CONTEXT_SIGNER:
147
- case ContextType.TYPE_CONTEXT_CLOCK:
148
- case OperatorType.TYPE_LOGIC_OPERATOR_U128_GREATER:
149
- case OperatorType.TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL:
150
- case OperatorType.TYPE_LOGIC_OPERATOR_U128_LESSER:
151
- case OperatorType.TYPE_LOGIC_OPERATOR_U128_LESSER_EQUAL:
152
- case OperatorType.TYPE_LOGIC_OPERATOR_U128_EQUAL:
153
- case OperatorType.TYPE_LOGIC_OPERATOR_EQUAL:
154
- case OperatorType.TYPE_LOGIC_OPERATOR_HAS_SUBSTRING:
155
- case OperatorType.TYPE_LOGIC_ALWAYS_TRUE:
156
- break;
157
- case ContextType.TYPE_CONTEXT_FUTURE_ID: // MACHINE-ID
158
- var v = arr.splice(0, 1);
159
- if (!variable || variable?.get(v[0])?.type != type)
160
- return false;
161
- break;
162
- case ContextType.TYPE_CONTEXT_address:
163
- case ContextType.TYPE_CONTEXT_bool:
164
- case ContextType.TYPE_CONTEXT_u8:
165
- case ContextType.TYPE_CONTEXT_u64:
166
- case ContextType.TYPE_CONTEXT_vec_u8:
167
- arr.splice(0, 1); // identifier
168
- break;
169
- case ValueType.TYPE_STATIC_address:
170
- //console.log('0x' + bcs.de(BCS.ADDRESS, Uint8Array.from(array)).toString());
171
- arr.splice(0, 32);
172
- break;
173
- case ValueType.TYPE_STATIC_bool:
174
- case ValueType.TYPE_STATIC_u8:
175
- arr.splice(0, 1);
176
- break;
177
- case ValueType.TYPE_STATIC_u64:
178
- arr.splice(0, 8);
179
- break;
180
- case ValueType.TYPE_STATIC_u128:
181
- arr.splice(0, 16);
182
- break;
183
- case ValueType.TYPE_STATIC_vec_u8:
184
- let { value, length } = ulebDecode(Uint8Array.from(arr));
185
- arr.splice(0, value + length);
186
- break;
187
- case OperatorType.TYPE_QUERY:
188
- result.push('0x' + Bcs.getInstance().de(BCS.ADDRESS, Uint8Array.from(arr)).toString());
189
- arr.splice(0, 33); // address + cmd
190
- break;
191
- case OperatorType.TYPE_QUERY_FROM_CONTEXT:
192
- case OperatorType.TYPE_FUTURE_QUERY:
193
- var identifer = arr.splice(0, 1);
194
- if (variable) {
195
- let v = Guard.get_variable_value(variable, identifer[0], type);
196
- if (v) {
197
- result.push('0x' + Bcs.getInstance().de(BCS.ADDRESS, Uint8Array.from(v)).toString());
198
- arr.splice(0, 1); // splice cmd
199
- break;
200
- }
127
+ else {
128
+ let r = g.futrue_list.find(f => f.identifier == q.identifier && f.type == q.type && f.witness == q.witness);
129
+ if (!r || !r.futrue) {
130
+ ERROR(Errors.Fail, 'query witness not match');
201
131
  }
202
- ;
203
- return false;
204
- default:
205
- console.error('parse_sense_bsc:undefined');
206
- console.log(type);
207
- console.log(arr);
208
- return false; // error
209
- }
210
- }
211
- return true;
212
- }
213
- // callback to parse guard's object-queries into Guard_Query_Object[]
214
- static rpc_sense_objects_fn = (protocol, response, param, option) => {
215
- if (!response.error) {
216
- let c = response?.data?.content;
217
- let index = protocol.WOWOK_OBJECTS_TYPE().findIndex(v => v.includes('guard::Guard') && v == c.type);
218
- if (index >= 0 && c.fields.id.id == param.objectid) { // GUARD OBJECT
219
- if (!param?.variables) {
220
- let v = new Map();
221
- for (let i = 0; i < c.fields.variables.length; i++) {
222
- let variable = c.fields.variables[i];
223
- let bret;
224
- if (variable.type == (protocol.WOWOK_OBJECTS_PREFIX_TYPE()[index] + 'Variable')) { // ...::guard::Variable
225
- if (variable.fields.type == OperatorType.TYPE_FUTURE_QUERY || variable.fields.type == ContextType.TYPE_CONTEXT_FUTURE_ID) {
226
- bret = Guard.add_future_variable(v, variable.fields.identifier, variable.fields.type, variable.fields?.value ? Uint8Array.from(variable.fields.value) : undefined, undefined, false);
227
- }
228
- else {
229
- bret = Guard.add_variable(v, variable.fields.identifier, variable.fields.type, variable.fields?.value ? Uint8Array.from(variable.fields.value) : undefined, false);
230
- }
231
- if (!bret) {
232
- console.log('rpc_sense_objects_fn add_variable error');
233
- console.log(variable);
234
- return;
235
- }
236
- }
237
- }
238
- param.variables = v;
132
+ objects.push(r.futrue);
133
+ return r.futrue;
239
134
  }
240
- for (let i = 0; i < c.fields.senses.length; i++) {
241
- let sense = c.fields.senses[i];
242
- if (sense.type == (protocol.WOWOK_OBJECTS_PREFIX_TYPE()[index] + 'Sense')) { // ...::guard::Sense
243
- let result = [];
244
- if (param?.parser && param.parser(result, param.objectid, Uint8Array.from(sense.fields.input.fields.bytes), param.variables)) {
245
- param.data = param.data.concat(result); // DONT array_unique senses
246
- }
247
- }
135
+ });
136
+ });
137
+ // objects info
138
+ let res = await this.protocol.Query_Raw(array_unique(objects), { showType: true });
139
+ let query = [];
140
+ let witness = [];
141
+ this.guard_list.forEach(g => {
142
+ g.query_list.forEach(q => {
143
+ let r = res.find(r => r.data?.objectId == q);
144
+ if (!r) {
145
+ ERROR(Errors.Fail, 'query object not match');
248
146
  }
249
- }
250
- }
251
- };
252
- // construct Guard_Query_Object of wowok objects for passport verify
253
- static rpc_query_cmd_fn = (protocol, response, param, option) => {
254
- if (!response.error && response.data?.objectId == param.objectid && response.data?.type) {
255
- for (let k = 0; k < protocol.WOWOK_OBJECTS_TYPE().length; k++) {
256
- if (response?.data?.type.includes(protocol.WOWOK_OBJECTS_TYPE()[k])) { // type: pack::m::Object<...>
257
- param.data = { target: protocol.WOWOK_OBJECTS_PREFIX_TYPE()[k] + 'guard_query',
258
- object: Inputs.SharedObjectRef({
259
- objectId: response.data.objectId,
260
- mutable: false,
261
- initialSharedVersion: response.data.version,
262
- }),
263
- types: parse_object_type(response?.data?.type),
264
- id: param.objectid, };
147
+ let object = this.object_query(r.data);
148
+ if (!object) {
149
+ ERROR(Errors.Fail, 'object fail');
265
150
  }
151
+ query.push(object);
152
+ });
153
+ g.futrue_list.forEach(f => {
154
+ let r = res.find(r => r.data?.objectId == f.futrue);
155
+ if (!r) {
156
+ ERROR(Errors.Fail, 'query future not match');
157
+ }
158
+ let object = this.object_query(r.data, 'witness');
159
+ witness.push(object);
160
+ });
161
+ });
162
+ return { query: query, witness: witness };
163
+ };
164
+ object_query = (data, method = 'guard_query') => {
165
+ for (let k = 0; k < this.protocol.WOWOK_OBJECTS_TYPE().length; k++) {
166
+ if (data.type.includes(this.protocol.WOWOK_OBJECTS_TYPE()[k])) { // type: pack::m::Object<...>
167
+ return { target: this.protocol.WOWOK_OBJECTS_PREFIX_TYPE()[k] + method,
168
+ object: Inputs.SharedObjectRef({
169
+ objectId: data.objectId,
170
+ mutable: false,
171
+ initialSharedVersion: data.version,
172
+ }),
173
+ types: parse_object_type(data.type),
174
+ id: data.objectId, };
266
175
  }
267
176
  }
268
177
  };
@@ -273,7 +182,7 @@ export class Passport {
273
182
  protocol;
274
183
  get_object() { return this.passport; }
275
184
  // return passport object used
276
- constructor(protocol, guards, guard_queries, future_values) {
185
+ constructor(protocol, guards, query) {
277
186
  if (!guards || guards.length > Passport.MAX_GUARD_COUNT) {
278
187
  ERROR(Errors.InvalidParam, 'guards');
279
188
  }
@@ -293,35 +202,26 @@ export class Passport {
293
202
  arguments: [this.passport, Protocol.TXB_OBJECT(txb, guard)]
294
203
  });
295
204
  });
296
- let result = new Map();
297
- future_values?.forEach((v) => {
298
- if (result.has(v.guardid)) {
299
- result.get(v.guardid)?.identifier.push(v.identifier);
300
- result.get(v.guardid)?.real_address.push(v.value);
301
- }
302
- else {
303
- result.set(v.guardid, { identifier: [v.identifier], real_address: [v.value] });
304
- }
305
- });
306
- result.forEach((v, k) => {
205
+ // witness
206
+ query?.witness.forEach((w) => {
307
207
  txb.moveCall({
308
- target: protocol.PassportFn('futures_set'),
309
- arguments: [this.passport, txb.pure(Bcs.getInstance().ser_address(k)), txb.pure(Bcs.getInstance().ser_vector_u8(v.identifier)),
310
- txb.pure(v.real_address, 'vector<address>')]
208
+ target: w.target,
209
+ arguments: [this.passport, txb.object(w.object)],
210
+ typeArguments: w.types,
311
211
  });
312
212
  });
313
213
  // rules: 'verify' & 'query' in turns;'verify' at final end.
314
- for (let i = 0; i < guard_queries.length; i++) {
315
- let res = txb.moveCall({
214
+ query?.query.forEach((q) => {
215
+ let [type, address] = txb.moveCall({
316
216
  target: protocol.PassportFn('passport_verify'),
317
- arguments: [this.passport, txb.object(Protocol.CLOCK_OBJECT),]
217
+ arguments: [this.passport, txb.object(Protocol.CLOCK_OBJECT)]
318
218
  });
319
219
  txb.moveCall({
320
- target: guard_queries[i].target,
321
- arguments: [txb.object(guard_queries[i].object), this.passport, res],
322
- typeArguments: guard_queries[i].types,
220
+ target: q.target,
221
+ arguments: [txb.object(q.object), this.passport, type, address],
222
+ typeArguments: q.types,
323
223
  });
324
- }
224
+ });
325
225
  txb.moveCall({
326
226
  target: protocol.PassportFn('passport_verify'),
327
227
  arguments: [this.passport, txb.object(Protocol.CLOCK_OBJECT)]
@@ -7,6 +7,9 @@ export declare enum PermissionIndex {
7
7
  repository_remove_policies = 104,
8
8
  repository_set_policy_description = 105,
9
9
  repository_set_policy_permission = 106,
10
+ repository_reference_add = 107,
11
+ repository_reference_remove = 108,
12
+ repository_reference_removeall = 108,
10
13
  vote = 150,
11
14
  vote_set_description = 151,
12
15
  vote_set_reference = 152,
@@ -1 +1 @@
1
- {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ export var PermissionIndex;
11
11
  PermissionIndex[PermissionIndex["repository_remove_policies"] = 104] = "repository_remove_policies";
12
12
  PermissionIndex[PermissionIndex["repository_set_policy_description"] = 105] = "repository_set_policy_description";
13
13
  PermissionIndex[PermissionIndex["repository_set_policy_permission"] = 106] = "repository_set_policy_permission";
14
+ PermissionIndex[PermissionIndex["repository_reference_add"] = 107] = "repository_reference_add";
15
+ PermissionIndex[PermissionIndex["repository_reference_remove"] = 108] = "repository_reference_remove";
16
+ PermissionIndex[PermissionIndex["repository_reference_removeall"] = 108] = "repository_reference_removeall";
14
17
  PermissionIndex[PermissionIndex["vote"] = 150] = "vote";
15
18
  PermissionIndex[PermissionIndex["vote_set_description"] = 151] = "vote_set_description";
16
19
  PermissionIndex[PermissionIndex["vote_set_reference"] = 152] = "vote_set_reference";
@@ -54,7 +54,10 @@ export declare enum OperatorType {
54
54
  TYPE_LOGIC_OPERATOR_U128_EQUAL = 15,
55
55
  TYPE_LOGIC_OPERATOR_EQUAL = 16,
56
56
  TYPE_LOGIC_OPERATOR_HAS_SUBSTRING = 17,
57
- TYPE_LOGIC_ALWAYS_TRUE = 18
57
+ TYPE_LOGIC_ALWAYS_TRUE = 18,
58
+ TYPE_LOGIC_NOT = 19,
59
+ TYPE_LOGIC_AND = 20,
60
+ TYPE_LOGIC_OR = 21
58
61
  }
59
62
  export declare enum ContextType {
60
63
  TYPE_CONTEXT_SIGNER = 60,
@@ -98,7 +101,7 @@ export declare class Protocol {
98
101
  protected everyone_guard: string;
99
102
  protected graphql: string;
100
103
  protected txb: TransactionBlock | undefined;
101
- constructor(network: ENTRYPOINT, signer_address: string);
104
+ constructor(network?: ENTRYPOINT);
102
105
  UseNetwork(network?: ENTRYPOINT): void;
103
106
  Package(): string;
104
107
  EveryoneGuard(): string;
@@ -119,6 +122,7 @@ export declare class Protocol {
119
122
  ServiceFn: (fn: any) => string;
120
123
  WowokFn: (fn: any) => string;
121
124
  Query: (objects: Query_Param[], options?: SuiObjectDataOptions) => Promise<SuiObjectResponse[]>;
125
+ Query_Raw: (objects: string[], options?: SuiObjectDataOptions) => Promise<SuiObjectResponse[]>;
122
126
  NewSession: () => TransactionBlock;
123
127
  CurrentSession: () => TransactionBlock;
124
128
  SignExcute: (exes: ((protocol: Protocol, param: any) => void)[], priv_key: string, param?: any, options?: SuiTransactionBlockResponseOptions) => Promise<SuiTransactionBlockResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -33,6 +33,9 @@ export var OperatorType;
33
33
  OperatorType[OperatorType["TYPE_LOGIC_OPERATOR_EQUAL"] = 16] = "TYPE_LOGIC_OPERATOR_EQUAL";
34
34
  OperatorType[OperatorType["TYPE_LOGIC_OPERATOR_HAS_SUBSTRING"] = 17] = "TYPE_LOGIC_OPERATOR_HAS_SUBSTRING";
35
35
  OperatorType[OperatorType["TYPE_LOGIC_ALWAYS_TRUE"] = 18] = "TYPE_LOGIC_ALWAYS_TRUE";
36
+ OperatorType[OperatorType["TYPE_LOGIC_NOT"] = 19] = "TYPE_LOGIC_NOT";
37
+ OperatorType[OperatorType["TYPE_LOGIC_AND"] = 20] = "TYPE_LOGIC_AND";
38
+ OperatorType[OperatorType["TYPE_LOGIC_OR"] = 21] = "TYPE_LOGIC_OR";
36
39
  })(OperatorType || (OperatorType = {}));
37
40
  export var ContextType;
38
41
  (function (ContextType) {
@@ -89,8 +92,7 @@ export class Protocol {
89
92
  everyone_guard = '';
90
93
  graphql = '';
91
94
  txb;
92
- constructor(network, signer_address) {
93
- this.signer = signer_address;
95
+ constructor(network = ENTRYPOINT.testnet) {
94
96
  this.UseNetwork(network);
95
97
  this.NewSession();
96
98
  }
@@ -104,7 +106,7 @@ export class Protocol {
104
106
  case ENTRYPOINT.devnet:
105
107
  break;
106
108
  case ENTRYPOINT.testnet:
107
- this.package = "0x142a896540e7bb2858ca8a3ec6194511e409a7d81225abddf84ae58fd4764735";
109
+ this.package = "0xfca45168861085e920aa6e0dd0391b8dbe439fb4725004fe4e0fa5792870bae8";
108
110
  this.everyone_guard = "0x78a41fcc4f566360839613f6b917fb101ae015e56b43143f496f265b6422fddc";
109
111
  this.graphql = 'https://sui-testnet.mystenlabs.com/graphql';
110
112
  break;
@@ -157,6 +159,10 @@ export class Protocol {
157
159
  }
158
160
  return res;
159
161
  };
162
+ Query_Raw = async (objects, options = { showContent: true }) => {
163
+ const client = new SuiClient({ url: this.NetworkUrl() });
164
+ return await client.call('sui_multiGetObjects', [objects, options]);
165
+ };
160
166
  NewSession = () => {
161
167
  this.txb = new TransactionBlock();
162
168
  return this.txb;
@@ -202,7 +208,11 @@ export class Protocol {
202
208
  WOWOK_OBJECTS_PREFIX_TYPE = () => Object.keys(MODULES).map((key) => { return this.package + '::' + key + '::'; });
203
209
  object_name_from_type_repr = (type_repr) => {
204
210
  let i = type_repr.indexOf('::');
205
- if (i > 0 && type_repr.slice(0, i).includes(this.package)) {
211
+ if (i > 0 && type_repr.slice(0, i) === this.package) {
212
+ i = type_repr.indexOf('<');
213
+ if (i > 0) {
214
+ type_repr = type_repr.slice(0, i);
215
+ }
206
216
  let n = type_repr.lastIndexOf('::');
207
217
  if (n > 0) {
208
218
  return type_repr.slice(n + 2);
@@ -31,6 +31,8 @@ export declare class Repository {
31
31
  destroy(): false | undefined;
32
32
  add_data(data: Repository_Policy_Data): void;
33
33
  remove(address: string, key: string): void;
34
+ add_reference(references: string[], passport?: PassportObject): void;
35
+ remove_reference(references: string[], removeall?: boolean, passport?: PassportObject): void;
34
36
  add_policies(policies: Repository_Policy[], passport?: PassportObject): void;
35
37
  remove_policies(policy_keys: string[], removeall?: boolean, passport?: PassportObject): void;
36
38
  set_description(description: string, passport?: PassportObject): void;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,SAAS,EAAoB,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAC9I,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAA;AAI9D,oBAAY,sBAAsB;IAC9B,gBAAgB,IAAI;IACpB,kBAAkB,IAAI;CACzB;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,GAAG,EAAC,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAA;AAED,qBAAa,UAAU;IACnB,SAAS,CAAC,UAAU,mBAAE;IACtB,SAAS,CAAC,MAAM,EAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;IACV,OAAO;IAKP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,EAAC,gBAAgB,EAAE,MAAM,EAAC,SAAS,GAAI,UAAU;IAK1F,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,EACzE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,UAAU;IAyB/E,MAAM,IAAK,iBAAiB;IAO5B,OAAO;IASP,QAAQ,CAAC,IAAI,EAAC,sBAAsB;IAuCpC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,MAAM;IAmBjC,YAAY,CAAC,QAAQ,EAAC,iBAAiB,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwCnE,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAyClF,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAoB5D,eAAe,CAAC,WAAW,EAAC,sBAAsB,EAAE,QAAQ,CAAC,EAAC,cAAc;IAe5E,sBAAsB,CAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAyBlF,qBAAqB,CAAC,MAAM,EAAC,MAAM,EAAE,gBAAgB,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IA6BvF,iBAAiB,CAAC,cAAc,EAAC,gBAAgB;IAajD,MAAM,CAAC,gBAAgB,SAAQ;IAC/B,MAAM,CAAC,cAAc,SAAO;IAC5B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,WAAW,QAAQ,MAAM,aAE/B;IACD,MAAM,CAAC,YAAY,UAAU,UAAU,aAEtC;CACJ"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,SAAS,EAAoB,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAC9I,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAA;AAI9D,oBAAY,sBAAsB;IAC9B,gBAAgB,IAAI;IACpB,kBAAkB,IAAI;CACzB;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,GAAG,EAAC,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAA;AAED,qBAAa,UAAU;IACnB,SAAS,CAAC,UAAU,mBAAE;IACtB,SAAS,CAAC,MAAM,EAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;IACV,OAAO;IAKP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,EAAC,gBAAgB,EAAE,MAAM,EAAC,SAAS,GAAI,UAAU;IAK1F,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,EACzE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,UAAU;IAyB/E,MAAM,IAAK,iBAAiB;IAO5B,OAAO;IASP,QAAQ,CAAC,IAAI,EAAC,sBAAsB;IAuCpC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,MAAM;IAkBjC,aAAa,CAAC,UAAU,EAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IA0B3D,gBAAgB,CAAC,UAAU,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IA2ClF,YAAY,CAAC,QAAQ,EAAC,iBAAiB,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwCnE,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAyClF,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAoB5D,eAAe,CAAC,WAAW,EAAC,sBAAsB,EAAE,QAAQ,CAAC,EAAC,cAAc;IAe5E,sBAAsB,CAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAyBlF,qBAAqB,CAAC,MAAM,EAAC,MAAM,EAAE,gBAAgB,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IA6BvF,iBAAiB,CAAC,cAAc,EAAC,gBAAgB;IAajD,MAAM,CAAC,gBAAgB,SAAQ;IAC/B,MAAM,CAAC,cAAc,SAAO;IAC5B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,WAAW,QAAQ,MAAM,aAE/B;IACD,MAAM,CAAC,YAAY,UAAU,UAAU,aAEtC;CACJ"}