wowok 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/passport.js CHANGED
@@ -1,23 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.graphql_query_objects = exports.rpc_query_cmd_fn = exports.destroy = exports.add_context_address = exports.verify = exports.passport_queries = exports.MAX_GUARD_COUNT = void 0;
3
+ exports.graphql_query_objects = exports.rpc_query_cmd_fn = exports.destroy = exports.verify = exports.guard_queries = exports.guard_futures = exports.MAX_GUARD_COUNT = void 0;
4
4
  const transactions_1 = require("@mysten/sui.js/transactions");
5
5
  const protocol_1 = require("./protocol");
6
6
  const utils_1 = require("./utils");
7
7
  const guard_1 = require("./guard");
8
- const bcs_1 = require("@mysten/bcs");
9
8
  exports.MAX_GUARD_COUNT = 8;
9
+ // from guards: get future objects to fill by singer
10
+ const guard_futures = async (guards) => {
11
+ let futrue_objects = guards.map((value) => {
12
+ return { objectid: value, callback: guard_1.rpc_sense_objects_fn, parser: guard_1.parse_futures, data: [] };
13
+ });
14
+ await protocol_1.PROTOCOL.Query(futrue_objects); // future objects
15
+ let future_objects_result = [];
16
+ futrue_objects.forEach((value) => {
17
+ future_objects_result = future_objects_result.concat(value.data);
18
+ });
19
+ future_objects_result = (0, utils_1.array_unique)(future_objects_result); // objects in guards
20
+ return future_objects_result;
21
+ };
22
+ exports.guard_futures = guard_futures;
23
+ // from guards: get objects to 'guard_query' on chain , with future variables had filled.
10
24
  // passport verify for some guards, MUST be in ONE pxb:
11
25
  // 0. construct Guard_Query_Objects(passport_quries) from queries for guards of objects
12
26
  // 1. create passport
13
- // 2. add all guards
27
+ // 2. add all guards / guards future variables
14
28
  // 3. verify passport
15
29
  // 4. ops using passport(guard set on object)
16
30
  // 5. ops using passport(guard set on object)
17
31
  // 6. destroy passport
18
- const passport_queries = async (guards) => {
32
+ const guard_queries = async (guards, futures) => {
19
33
  let sense_objects = guards.map((value) => {
20
- return { objectid: value, callback: guard_1.rpc_sense_objects_fn, data: [] };
34
+ let v = new Map();
35
+ futures?.forEach((f) => {
36
+ if (f.guardid == value) {
37
+ (0, guard_1.add_future_variable)(v, f.identifier, f.type, f.witness, f?.value, false);
38
+ }
39
+ });
40
+ return { objectid: value, callback: guard_1.rpc_sense_objects_fn, parser: guard_1.parse_sense_bsc, data: [], variables: futures ? v : undefined };
21
41
  });
22
42
  await protocol_1.PROTOCOL.Query(sense_objects); // objects need quering in guards
23
43
  let sense_objects_result = [];
@@ -25,7 +45,6 @@ const passport_queries = async (guards) => {
25
45
  sense_objects_result = sense_objects_result.concat(value.data);
26
46
  });
27
47
  sense_objects_result = (0, utils_1.array_unique)(sense_objects_result); // objects in guards
28
- // console.log(sense_objects_result);
29
48
  let queries = sense_objects_result.map((value) => {
30
49
  return { objectid: value, callback: exports.rpc_query_cmd_fn, data: [] };
31
50
  });
@@ -47,52 +66,51 @@ const passport_queries = async (guards) => {
47
66
  });
48
67
  return res;
49
68
  };
50
- exports.passport_queries = passport_queries;
69
+ exports.guard_queries = guard_queries;
51
70
  // return passport object used
52
- function verify(txb, guards, passport_queries) {
53
- if (!guards || passport_queries.length == 0 || passport_queries.length > exports.MAX_GUARD_COUNT) {
71
+ function verify(txb, guards, guard_queries, future_values) {
72
+ if (!guards || guards.length > exports.MAX_GUARD_COUNT)
73
+ return false;
74
+ if (!(0, protocol_1.IsValidObjects)(guards))
54
75
  return false;
55
- }
56
76
  var passport = txb.moveCall({
57
77
  target: protocol_1.PROTOCOL.PassportFn('new'),
58
- arguments: [(0, protocol_1.TXB_OBJECT)(txb, guards[0])]
78
+ arguments: []
59
79
  });
60
80
  // add others guards, if any
61
- for (let i = 1; i < guards.length; i++) {
81
+ guards.forEach((guard) => {
62
82
  txb.moveCall({
63
83
  target: protocol_1.PROTOCOL.PassportFn('guard_add'),
64
- arguments: [passport, (0, protocol_1.TXB_OBJECT)(txb, guards[i])]
84
+ arguments: [passport, (0, protocol_1.TXB_OBJECT)(txb, guard)]
65
85
  });
66
- }
86
+ });
87
+ future_values?.forEach((v) => {
88
+ console.log(v.value);
89
+ txb.moveCall({
90
+ target: protocol_1.PROTOCOL.PassportFn('future_set'),
91
+ arguments: [passport, txb.pure(utils_1.BCS_CONVERT.ser_address(v.guardid)), txb.pure(utils_1.BCS_CONVERT.ser_u8(v.identifier)),
92
+ txb.pure([].slice.call(v.value))]
93
+ });
94
+ });
67
95
  // rules: 'verify' & 'query' in turns;'verify' at final end.
68
- for (let i = 0; i < passport_queries.length; i++) {
96
+ for (let i = 0; i < guard_queries.length; i++) {
69
97
  let res = txb.moveCall({
70
98
  target: protocol_1.PROTOCOL.PassportFn('passport_verify'),
71
99
  arguments: [passport, txb.object(protocol_1.CLOCK_OBJECT),]
72
100
  });
73
101
  txb.moveCall({
74
- target: passport_queries[i].target,
75
- arguments: [txb.object(passport_queries[i].object), passport, res],
76
- typeArguments: passport_queries[i].types,
102
+ target: guard_queries[i].target,
103
+ arguments: [txb.object(guard_queries[i].object), passport, res],
104
+ typeArguments: guard_queries[i].types,
77
105
  });
78
106
  }
79
107
  txb.moveCall({
80
108
  target: protocol_1.PROTOCOL.PassportFn('passport_verify'),
81
- arguments: [passport]
109
+ arguments: [passport, txb.object(protocol_1.CLOCK_OBJECT)]
82
110
  });
83
111
  return passport;
84
112
  }
85
113
  exports.verify = verify;
86
- function add_context_address(txb, passport, type, value, witness) {
87
- if (!(0, protocol_1.IsValidAddress)(value) || !(0, protocol_1.IsValidAddress)(witness))
88
- return false;
89
- txb.moveCall({
90
- target: protocol_1.PROTOCOL.PassportFn('context_add_address'),
91
- arguments: [passport, txb.pure(type, bcs_1.BCS.U8), txb.pure(value, bcs_1.BCS.ADDRESS), txb.pure(witness, bcs_1.BCS.ADDRESS)]
92
- });
93
- return true;
94
- }
95
- exports.add_context_address = add_context_address;
96
114
  function destroy(txb, passport) {
97
115
  txb.moveCall({
98
116
  target: protocol_1.PROTOCOL.PassportFn('destroy'),
package/dist/progress.js CHANGED
@@ -64,14 +64,14 @@ function progress_set_namedOperator(txb, machine, permission, progress, name, ad
64
64
  if (passport) {
65
65
  txb.moveCall({
66
66
  target: protocol_1.PROTOCOL.ProgressFn('namedOperator_set_with_passport'),
67
- arguments: [passport, (0, protocol_1.TXB_OBJECT)(txb, progress), txb.pure(name), txb.pure((0, utils_1.array_unique)(addresses), 'vector<address>'),
67
+ arguments: [passport, (0, protocol_1.TXB_OBJECT)(txb, progress), txb.pure(name, bcs_1.BCS.STRING), txb.pure((0, utils_1.array_unique)(addresses), 'vector<address>'),
68
68
  (0, protocol_1.TXB_OBJECT)(txb, machine), (0, protocol_1.TXB_OBJECT)(txb, permission)],
69
69
  });
70
70
  }
71
71
  else {
72
72
  txb.moveCall({
73
73
  target: protocol_1.PROTOCOL.ProgressFn('namedOperator_set'),
74
- arguments: [(0, protocol_1.TXB_OBJECT)(txb, progress), txb.pure(name), txb.pure((0, utils_1.array_unique)(addresses), 'vector<address>'),
74
+ arguments: [(0, protocol_1.TXB_OBJECT)(txb, progress), txb.pure(name, bcs_1.BCS.STRING), txb.pure((0, utils_1.array_unique)(addresses), 'vector<address>'),
75
75
  (0, protocol_1.TXB_OBJECT)(txb, machine), (0, protocol_1.TXB_OBJECT)(txb, permission)],
76
76
  });
77
77
  }
package/dist/protocol.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OBJECTS_TYPE = exports.OBJECTS_TYPE_PREFIX = exports.WOWOK_TYPE = exports.SUI_TYPE = exports.PROTOCOL = exports.Protocol = exports.ENTRYPOINT = exports.ContextType = exports.OperatorType = exports.ValueType = exports.CLOCK_OBJECT = exports.TXB_OBJECT = exports.MODULES = exports.IsValidObjects = exports.IsValidArray = exports.IsValidPercent = exports.IsValidInt = exports.IsValidUint = exports.IsValidArgType = exports.IsValidAddress = exports.IsValidEndpoint = exports.IsValidName_AllowEmpty = exports.IsValidName = exports.IsValidDesription = exports.OptionNone = exports.MAX_ENDPOINT_LENGTH = exports.MAX_NAME_LENGTH = exports.MAX_DESCRIPTION_LENGTH = void 0;
3
+ exports.OBJECTS_TYPE = exports.OBJECTS_TYPE_PREFIX = exports.WOWOK_TYPE = exports.SUI_TYPE = exports.PROTOCOL = exports.Protocol = exports.ENTRYPOINT = exports.ValueType = exports.ContextType = exports.OperatorType = exports.CLOCK_OBJECT = exports.TXB_OBJECT = exports.MODULES = exports.IsValidObjects = exports.IsValidArray = exports.IsValidPercent = exports.IsValidInt = exports.IsValidUint = exports.IsValidArgType = exports.IsValidAddress = exports.IsValidEndpoint = exports.IsValidName_AllowEmpty = exports.IsValidName = exports.IsValidDesription = exports.OptionNone = exports.MAX_ENDPOINT_LENGTH = exports.MAX_NAME_LENGTH = exports.MAX_DESCRIPTION_LENGTH = void 0;
4
4
  const client_1 = require("@mysten/sui.js/client");
5
5
  const ed25519_1 = require("@mysten/sui.js/keypairs/ed25519");
6
6
  const bcs_1 = require("@mysten/bcs");
@@ -11,17 +11,22 @@ exports.MAX_NAME_LENGTH = 64;
11
11
  exports.MAX_ENDPOINT_LENGTH = 1024;
12
12
  const OptionNone = (txb) => { return txb.pure([], bcs_1.BCS.U8); };
13
13
  exports.OptionNone = OptionNone;
14
- const IsValidDesription = (description) => { return description.length <= exports.MAX_DESCRIPTION_LENGTH; };
14
+ const IsValidDesription = (description) => { if (!description)
15
+ return false; return description.length <= exports.MAX_DESCRIPTION_LENGTH; };
15
16
  exports.IsValidDesription = IsValidDesription;
16
- const IsValidName = (name) => { return name.length <= exports.MAX_NAME_LENGTH && name.length != 0; };
17
+ const IsValidName = (name) => { if (!name)
18
+ return false; return name.length <= exports.MAX_NAME_LENGTH && name.length != 0; };
17
19
  exports.IsValidName = IsValidName;
18
20
  const IsValidName_AllowEmpty = (name) => { return name.length <= exports.MAX_NAME_LENGTH; };
19
21
  exports.IsValidName_AllowEmpty = IsValidName_AllowEmpty;
20
- const IsValidEndpoint = (endpoint) => { return endpoint.length <= exports.MAX_ENDPOINT_LENGTH; };
22
+ const IsValidEndpoint = (endpoint) => { if (!endpoint)
23
+ return false; return endpoint.length <= exports.MAX_ENDPOINT_LENGTH; };
21
24
  exports.IsValidEndpoint = IsValidEndpoint;
22
- const IsValidAddress = (address) => { return address.length != 0; };
25
+ const IsValidAddress = (addr) => { if (!addr)
26
+ return false; return true; };
23
27
  exports.IsValidAddress = IsValidAddress;
24
- const IsValidArgType = (argType) => { return argType.length != 0; };
28
+ const IsValidArgType = (argType) => { if (!argType)
29
+ return false; return argType.length != 0; };
25
30
  exports.IsValidArgType = IsValidArgType;
26
31
  const IsValidUint = (value) => { return Number.isSafeInteger(value) && value != 0; };
27
32
  exports.IsValidUint = IsValidUint;
@@ -75,30 +80,11 @@ exports.CLOCK_OBJECT = transactions_1.Inputs.SharedObjectRef({
75
80
  mutable: false,
76
81
  initialSharedVersion: 1,
77
82
  });
78
- var ValueType;
79
- (function (ValueType) {
80
- ValueType[ValueType["TYPE_STATIC_bool"] = 100] = "TYPE_STATIC_bool";
81
- ValueType[ValueType["TYPE_STATIC_address"] = 101] = "TYPE_STATIC_address";
82
- ValueType[ValueType["TYPE_STATIC_u64"] = 102] = "TYPE_STATIC_u64";
83
- ValueType[ValueType["TYPE_STATIC_u8"] = 103] = "TYPE_STATIC_u8";
84
- ValueType[ValueType["TYPE_STATIC_u128"] = 104] = "TYPE_STATIC_u128";
85
- ValueType[ValueType["TYPE_STATIC_vec_u8"] = 105] = "TYPE_STATIC_vec_u8";
86
- ValueType[ValueType["TYPE_STATIC_vec_address"] = 106] = "TYPE_STATIC_vec_address";
87
- ValueType[ValueType["TYPE_STATIC_vec_bool"] = 107] = "TYPE_STATIC_vec_bool";
88
- ValueType[ValueType["TYPE_STATIC_vec_vec_u8"] = 108] = "TYPE_STATIC_vec_vec_u8";
89
- ValueType[ValueType["TYPE_STATIC_vec_u64"] = 109] = "TYPE_STATIC_vec_u64";
90
- ValueType[ValueType["TYPE_STATIC_vec_u128"] = 110] = "TYPE_STATIC_vec_u128";
91
- ValueType[ValueType["TYPE_STATIC_option_address"] = 111] = "TYPE_STATIC_option_address";
92
- ValueType[ValueType["TYPE_STATIC_option_bool"] = 112] = "TYPE_STATIC_option_bool";
93
- ValueType[ValueType["TYPE_STATIC_option_u8"] = 113] = "TYPE_STATIC_option_u8";
94
- ValueType[ValueType["TYPE_STATIC_option_u64"] = 114] = "TYPE_STATIC_option_u64";
95
- ValueType[ValueType["TYPE_STATIC_option_u128"] = 115] = "TYPE_STATIC_option_u128";
96
- })(ValueType || (exports.ValueType = ValueType = {}));
97
83
  var OperatorType;
98
84
  (function (OperatorType) {
99
- OperatorType[OperatorType["TYPE_DYNAMIC_QUERY"] = 1] = "TYPE_DYNAMIC_QUERY";
100
- OperatorType[OperatorType["TYPE_FUTURE_ORDER_DYNAMIC_QUERY"] = 2] = "TYPE_FUTURE_ORDER_DYNAMIC_QUERY";
101
- OperatorType[OperatorType["TYPE_FUTURE_PROGRESS_DYNAMIC_QUERY"] = 3] = "TYPE_FUTURE_PROGRESS_DYNAMIC_QUERY";
85
+ OperatorType[OperatorType["TYPE_QUERY"] = 1] = "TYPE_QUERY";
86
+ OperatorType[OperatorType["TYPE_FUTURE_QUERY"] = 2] = "TYPE_FUTURE_QUERY";
87
+ OperatorType[OperatorType["TYPE_QUERY_FROM_CONTEXT"] = 3] = "TYPE_QUERY_FROM_CONTEXT";
102
88
  OperatorType[OperatorType["TYPE_LOGIC_OPERATOR_U128_GREATER"] = 11] = "TYPE_LOGIC_OPERATOR_U128_GREATER";
103
89
  OperatorType[OperatorType["TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL"] = 12] = "TYPE_LOGIC_OPERATOR_U128_GREATER_EQUAL";
104
90
  OperatorType[OperatorType["TYPE_LOGIC_OPERATOR_U128_LESSER"] = 13] = "TYPE_LOGIC_OPERATOR_U128_LESSER";
@@ -113,7 +99,42 @@ var ContextType;
113
99
  ContextType[ContextType["TYPE_CONTEXT_SIGNER"] = 60] = "TYPE_CONTEXT_SIGNER";
114
100
  ContextType[ContextType["TYPE_CONTEXT_CLOCK"] = 61] = "TYPE_CONTEXT_CLOCK";
115
101
  ContextType[ContextType["TYPE_CONTEXT_FUTURE_ID"] = 62] = "TYPE_CONTEXT_FUTURE_ID";
102
+ ContextType[ContextType["TYPE_CONTEXT_bool"] = 70] = "TYPE_CONTEXT_bool";
103
+ ContextType[ContextType["TYPE_CONTEXT_address"] = 71] = "TYPE_CONTEXT_address";
104
+ ContextType[ContextType["TYPE_CONTEXT_u64"] = 72] = "TYPE_CONTEXT_u64";
105
+ ContextType[ContextType["TYPE_CONTEXT_u8"] = 73] = "TYPE_CONTEXT_u8";
106
+ ContextType[ContextType["TYPE_CONTEXT_vec_u8"] = 74] = "TYPE_CONTEXT_vec_u8";
107
+ /* TYPE_CONTEXT_u128 = 75,
108
+ TYPE_CONTEXT_vec_address = 76,
109
+ TYPE_CONTEXT_vec_bool = 77,
110
+ TYPE_CONTEXT_vec_vec_u8 = 78,
111
+ TYPE_CONTEXT_vec_u64 = 79,
112
+ TYPE_CONTEXT_vec_u128 = 80,
113
+ TYPE_CONTEXT_option_address = 81,
114
+ TYPE_CONTEXT_option_bool = 82,
115
+ TYPE_CONTEXT_option_u8 = 83,
116
+ TYPE_CONTEXT_option_u64 = 84,
117
+ TYPE_CONTEXT_option_u128 = 85,*/
116
118
  })(ContextType || (exports.ContextType = ContextType = {}));
119
+ var ValueType;
120
+ (function (ValueType) {
121
+ ValueType[ValueType["TYPE_STATIC_bool"] = 100] = "TYPE_STATIC_bool";
122
+ ValueType[ValueType["TYPE_STATIC_address"] = 101] = "TYPE_STATIC_address";
123
+ ValueType[ValueType["TYPE_STATIC_u64"] = 102] = "TYPE_STATIC_u64";
124
+ ValueType[ValueType["TYPE_STATIC_u8"] = 103] = "TYPE_STATIC_u8";
125
+ ValueType[ValueType["TYPE_STATIC_vec_u8"] = 104] = "TYPE_STATIC_vec_u8";
126
+ ValueType[ValueType["TYPE_STATIC_u128"] = 105] = "TYPE_STATIC_u128";
127
+ ValueType[ValueType["TYPE_STATIC_vec_address"] = 106] = "TYPE_STATIC_vec_address";
128
+ ValueType[ValueType["TYPE_STATIC_vec_bool"] = 107] = "TYPE_STATIC_vec_bool";
129
+ ValueType[ValueType["TYPE_STATIC_vec_vec_u8"] = 108] = "TYPE_STATIC_vec_vec_u8";
130
+ ValueType[ValueType["TYPE_STATIC_vec_u64"] = 109] = "TYPE_STATIC_vec_u64";
131
+ ValueType[ValueType["TYPE_STATIC_vec_u128"] = 110] = "TYPE_STATIC_vec_u128";
132
+ ValueType[ValueType["TYPE_STATIC_option_address"] = 111] = "TYPE_STATIC_option_address";
133
+ ValueType[ValueType["TYPE_STATIC_option_bool"] = 112] = "TYPE_STATIC_option_bool";
134
+ ValueType[ValueType["TYPE_STATIC_option_u8"] = 113] = "TYPE_STATIC_option_u8";
135
+ ValueType[ValueType["TYPE_STATIC_option_u64"] = 114] = "TYPE_STATIC_option_u64";
136
+ ValueType[ValueType["TYPE_STATIC_option_u128"] = 115] = "TYPE_STATIC_option_u128";
137
+ })(ValueType || (exports.ValueType = ValueType = {}));
117
138
  var ENTRYPOINT;
118
139
  (function (ENTRYPOINT) {
119
140
  ENTRYPOINT["mainnet"] = "mainnet";
@@ -141,7 +162,7 @@ class Protocol {
141
162
  case ENTRYPOINT.devnet:
142
163
  break;
143
164
  case ENTRYPOINT.testnet:
144
- this.package = "0x82b70ca54720b7e22d82b6c8c9a1601a228ccdb2a8bd70804a690ca8ea59777f";
165
+ this.package = "0x858da47ed710b543dfeb7235eddeaf9063348a8b187e030ffcb9d8d8bc7e75c3";
145
166
  this.everyone_guard = "0x78a41fcc4f566360839613f6b917fb101ae015e56b43143f496f265b6422fddc";
146
167
  this.graphql = 'https://sui-testnet.mystenlabs.com/graphql';
147
168
  break;
@@ -203,7 +224,7 @@ class Protocol {
203
224
  const response = await client.signAndExecuteTransactionBlock({
204
225
  transactionBlock: txb,
205
226
  signer: keypair,
206
- options
227
+ options,
207
228
  });
208
229
  return response;
209
230
  };
package/dist/service.js CHANGED
@@ -465,20 +465,20 @@ function service_add_sale(pay_type, txb, service, permission, sales, passport) {
465
465
  stock.push(s.stock);
466
466
  });
467
467
  if (passport) {
468
- sales.forEach((sale) => txb.moveCall({
468
+ txb.moveCall({
469
469
  target: protocol_1.PROTOCOL.ServiceFn('sales_add_with_passport'),
470
470
  arguments: [passport, (0, protocol_1.TXB_OBJECT)(txb, service), txb.pure(utils_1.BCS_CONVERT.ser_vector_string(names)),
471
471
  txb.pure(utils_1.BCS_CONVERT.ser_vector_u64(price)), txb.pure(utils_1.BCS_CONVERT.ser_vector_u64(stock)), (0, protocol_1.TXB_OBJECT)(txb, permission)],
472
472
  typeArguments: [pay_type]
473
- }));
473
+ });
474
474
  }
475
475
  else {
476
- sales.forEach((sale) => txb.moveCall({
476
+ txb.moveCall({
477
477
  target: protocol_1.PROTOCOL.ServiceFn('sales_add'),
478
478
  arguments: [(0, protocol_1.TXB_OBJECT)(txb, service), txb.pure(utils_1.BCS_CONVERT.ser_vector_string(names)),
479
479
  txb.pure(utils_1.BCS_CONVERT.ser_vector_u64(price)), txb.pure(utils_1.BCS_CONVERT.ser_vector_u64(stock)), (0, protocol_1.TXB_OBJECT)(txb, permission)],
480
480
  typeArguments: [pay_type]
481
- }));
481
+ });
482
482
  }
483
483
  return true;
484
484
  }
package/dist/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.numToUint8Array = exports.stringToUint8Array = exports.objectids_from_response = exports.Object_Type_Extra = exports.BCS_CONVERT = exports.Bcs = exports.parse_object_type = exports.capitalize = exports.array_unique = exports.array_equal = exports.concatenate = exports.ulebDecode = void 0;
3
+ exports.deepClone = exports.isArr = exports.numToUint8Array = exports.stringToUint8Array = exports.objectids_from_response = exports.Object_Type_Extra = exports.BCS_CONVERT = exports.Bcs = exports.parse_object_type = exports.capitalize = exports.array_unique = exports.array_equal = exports.concatenate = exports.ulebDecode = void 0;
4
4
  const bcs_1 = require("@mysten/bcs");
5
5
  const protocol_1 = require("./protocol");
6
6
  const ulebDecode = (arr) => {
@@ -96,6 +96,27 @@ class Bcs {
96
96
  ser_vector_u64(data) {
97
97
  return this.bcs.ser('vector<u64>', data).toBytes();
98
98
  }
99
+ ser_vector_u8(data) {
100
+ return this.bcs.ser('vector<u8>', data).toBytes();
101
+ }
102
+ ser_address(data) {
103
+ return this.bcs.ser(bcs_1.BCS.ADDRESS, data).toBytes();
104
+ }
105
+ ser_bool(data) {
106
+ return this.bcs.ser(bcs_1.BCS.BOOL, data).toBytes();
107
+ }
108
+ ser_u8(data) {
109
+ return this.bcs.ser(bcs_1.BCS.U8, data).toBytes();
110
+ }
111
+ ser_u64(data) {
112
+ return this.bcs.ser(bcs_1.BCS.U64, data).toBytes();
113
+ }
114
+ ser_string(data) {
115
+ return this.bcs.ser(bcs_1.BCS.STRING, data).toBytes();
116
+ }
117
+ de(type, data) {
118
+ return this.bcs.de(type, data);
119
+ }
99
120
  }
100
121
  exports.Bcs = Bcs;
101
122
  exports.BCS_CONVERT = new Bcs();
@@ -156,3 +177,25 @@ function numToUint8Array(num) {
156
177
  return new Uint8Array(a);
157
178
  }
158
179
  exports.numToUint8Array = numToUint8Array;
180
+ // 判断是否为数组
181
+ const isArr = (origin) => {
182
+ let str = '[object Array]';
183
+ return Object.prototype.toString.call(origin) == str ? true : false;
184
+ };
185
+ exports.isArr = isArr;
186
+ const deepClone = (origin, target) => {
187
+ let tar = target || {};
188
+ for (const key in origin) {
189
+ if (Object.prototype.hasOwnProperty.call(origin, key)) {
190
+ if (typeof origin[key] === 'object' && origin[key] !== null) {
191
+ tar[key] = (0, exports.isArr)(origin[key]) ? [] : {};
192
+ (0, exports.deepClone)(origin[key], tar[key]);
193
+ }
194
+ else {
195
+ tar[key] = origin[key];
196
+ }
197
+ }
198
+ }
199
+ return tar;
200
+ };
201
+ exports.deepClone = deepClone;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wowok",
3
- "version": "1.0.7",
4
- "description": "AI-oriented web3 collaboration protocol, driving innovaion and making it more likely to happen",
3
+ "version": "1.0.8",
4
+ "description": "AI-oriented web3 collaboration protocol, driving innovaion and making it more likely to happen.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "module": "node",
@@ -35,7 +35,7 @@
35
35
  "license": "Apache License",
36
36
  "dependencies": {
37
37
  "@mysten/bcs": "^0.11.1",
38
- "@mysten/sui.js": "^0.50.1",
38
+ "@mysten/sui.js": "^0.51.2",
39
39
  "graphql-tag": "^2.12.6"
40
40
  },
41
41
  "devDependencies": {
package/src/demand.ts CHANGED
@@ -150,21 +150,21 @@ export function demand_set_description(earnest_type:string, txb:TransactionBlock
150
150
  }
151
151
 
152
152
  export function demand_yes(earnest_type:string, txb:TransactionBlock, demand:DemandObject, permission:PermissionObject,
153
- service:string, passport?:PassportObject) : boolean {
153
+ service_id:string, passport?:PassportObject) : boolean {
154
154
  if (!IsValidObjects([demand, permission])) return false;
155
155
  if (!IsValidArgType(earnest_type)) return false;
156
- if (!IsValidAddress(service)) return false;
156
+ if (!IsValidAddress(service_id)) return false;
157
157
 
158
158
  if (passport) {
159
159
  txb.moveCall({
160
160
  target:PROTOCOL.DemandFn('yes_with_passport') as FnCallType,
161
- arguments:[passport, TXB_OBJECT(txb, demand), txb.pure(service, BCS.ADDRESS), TXB_OBJECT(txb, permission)],
161
+ arguments:[passport, TXB_OBJECT(txb, demand), txb.pure(service_id, BCS.ADDRESS), TXB_OBJECT(txb, permission)],
162
162
  typeArguments:[earnest_type],
163
163
  })
164
164
  } else {
165
165
  txb.moveCall({
166
166
  target:PROTOCOL.DemandFn('yes') as FnCallType,
167
- arguments:[TXB_OBJECT(txb, demand), txb.pure(service, BCS.ADDRESS), TXB_OBJECT(txb, permission)],
167
+ arguments:[TXB_OBJECT(txb, demand), txb.pure(service_id, BCS.ADDRESS), TXB_OBJECT(txb, permission)],
168
168
  typeArguments:[earnest_type],
169
169
  })
170
170
  }