wowok 1.2.3 → 1.2.4

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,5 +1,5 @@
1
1
  import { BCS } from '@mysten/bcs';
2
- import { Protocol } from './protocol';
2
+ import { Protocol, ValueType } from './protocol';
3
3
  import { Permission } from './permission';
4
4
  import { Bcs, array_unique, IsValidDesription, IsValidAddress, IsValidArray, OptionNone, } from './utils';
5
5
  import { ERROR, Errors } from './exception';
@@ -62,16 +62,6 @@ export class Repository {
62
62
  arguments: [Protocol.TXB_OBJECT(txb, this.object)],
63
63
  });
64
64
  }
65
- /* move to: Entity.mark
66
- mark(like:'like' | 'unlike', resource:Resource) {
67
- if (!Protocol.IsValidObjects([this.object])) return false;
68
- let txb = this.protocol.CurrentSession();
69
- txb.moveCall({
70
- target:this.protocol.RepositoryFn(like) as FnCallType,
71
- arguments: [Protocol.TXB_OBJECT(txb, resource.get_object()), Protocol.TXB_OBJECT(txb, this.object)],
72
- })
73
- }
74
- */
75
65
  add_data(data) {
76
66
  if (!Repository.IsValidName(data.key)) {
77
67
  ERROR(Errors.IsValidName);
@@ -212,7 +202,7 @@ export class Repository {
212
202
  }
213
203
  let txb = this.protocol.CurrentSession();
214
204
  policies.forEach((policy) => {
215
- let permission_index = policy?.permission ? txb.pure(Bcs.getInstance().ser_option_u64(policy.permission)) : OptionNone(txb);
205
+ let permission_index = policy?.permission ? txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_U64, policy.permission)) : OptionNone(txb);
216
206
  if (passport) {
217
207
  txb.moveCall({
218
208
  target: this.protocol.RepositoryFn('policy_add_with_passport'),
@@ -254,7 +244,7 @@ export class Repository {
254
244
  txb.moveCall({
255
245
  target: this.protocol.RepositoryFn('policy_remove_with_passport'),
256
246
  arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
257
- txb.pure(Bcs.getInstance().ser_vector_string(array_unique(policy_keys))),
247
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(policy_keys))),
258
248
  Protocol.TXB_OBJECT(txb, this.permission)]
259
249
  });
260
250
  }
@@ -270,7 +260,7 @@ export class Repository {
270
260
  txb.moveCall({
271
261
  target: this.protocol.RepositoryFn('policy_remove'),
272
262
  arguments: [Protocol.TXB_OBJECT(txb, this.object),
273
- txb.pure(Bcs.getInstance().ser_vector_string(array_unique(policy_keys))),
263
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(policy_keys))),
274
264
  Protocol.TXB_OBJECT(txb, this.permission)]
275
265
  });
276
266
  }
@@ -343,7 +333,7 @@ export class Repository {
343
333
  if (!Permission.IsValidPermissionIndex(permission_index)) {
344
334
  ERROR(Errors.IsValidPermissionIndex);
345
335
  }
346
- index = txb.pure(Bcs.getInstance().ser_option_u64(permission_index));
336
+ index = txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_U64, permission_index));
347
337
  }
348
338
  if (passport) {
349
339
  txb.moveCall({
package/dist/service.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BCS } from '@mysten/bcs';
2
2
  import { IsValidArray, IsValidPercent, IsValidName_AllowEmpty, Bcs, array_unique, IsValidArgType, IsValidDesription, IsValidAddress, IsValidEndpoint, OptionNone, IsValidUint, IsValidInt, IsValidName, } from './utils';
3
- import { Protocol } from './protocol';
3
+ import { Protocol, ValueType } from './protocol';
4
4
  import { ERROR, Errors } from './exception';
5
5
  export var Service_Discount_Type;
6
6
  (function (Service_Discount_Type) {
@@ -50,7 +50,7 @@ export class Service {
50
50
  }
51
51
  let s = new Service(protocol, pay_token_type, permission);
52
52
  let txb = protocol.CurrentSession();
53
- let ep = endpoint ? txb.pure(Bcs.getInstance().ser_option_string(endpoint)) : OptionNone(txb);
53
+ let ep = endpoint ? txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_STRING, endpoint)) : OptionNone(txb);
54
54
  if (passport) {
55
55
  s.object = txb.moveCall({
56
56
  target: protocol.ServiceFn('new_with_passport'),
@@ -467,8 +467,8 @@ export class Service {
467
467
  if (passport) {
468
468
  txb.moveCall({
469
469
  target: this.protocol.ServiceFn('sales_add_with_passport'),
470
- arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(names)),
471
- txb.pure(Bcs.getInstance().ser_vector_u64(price)), txb.pure(Bcs.getInstance().ser_vector_u64(stock)),
470
+ arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, names)),
471
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, price)), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, stock)),
472
472
  Protocol.TXB_OBJECT(txb, this.permission)],
473
473
  typeArguments: [this.pay_token_type]
474
474
  });
@@ -476,8 +476,8 @@ export class Service {
476
476
  else {
477
477
  txb.moveCall({
478
478
  target: this.protocol.ServiceFn('sales_add'),
479
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(names)),
480
- txb.pure(Bcs.getInstance().ser_vector_u64(price)), txb.pure(Bcs.getInstance().ser_vector_u64(stock)),
479
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, names)),
480
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, price)), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, stock)),
481
481
  Protocol.TXB_OBJECT(txb, this.permission)],
482
482
  typeArguments: [this.pay_token_type]
483
483
  });
@@ -502,7 +502,7 @@ export class Service {
502
502
  else {
503
503
  txb.moveCall({
504
504
  target: this.protocol.ServiceFn('sales_remove_with_passport'),
505
- arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(array_unique(sales))),
505
+ arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(sales))),
506
506
  Protocol.TXB_OBJECT(txb, this.permission)],
507
507
  typeArguments: [this.pay_token_type]
508
508
  });
@@ -519,7 +519,7 @@ export class Service {
519
519
  else {
520
520
  txb.moveCall({
521
521
  target: this.protocol.ServiceFn('sales_remove'),
522
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(array_unique(sales))),
522
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(sales))),
523
523
  Protocol.TXB_OBJECT(txb, this.permission)],
524
524
  typeArguments: [this.pay_token_type]
525
525
  });
@@ -553,9 +553,9 @@ export class Service {
553
553
  let txb = this.protocol.CurrentSession();
554
554
  discount_dispatch.forEach((discount) => {
555
555
  let price_greater = discount.discount?.price_greater ?
556
- txb.pure(Bcs.getInstance().ser_option_u64(discount.discount.price_greater)) : OptionNone(txb);
556
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_U64, discount.discount.price_greater)) : OptionNone(txb);
557
557
  let time_start = discount.discount?.time_start ?
558
- txb.pure(Bcs.getInstance().ser_option_u64(discount.discount.time_start)) : OptionNone(txb);
558
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_U64, discount.discount.time_start)) : OptionNone(txb);
559
559
  if (passport) {
560
560
  txb.moveCall({
561
561
  target: this.protocol.ServiceFn('dicscount_create_with_passport'),
@@ -676,7 +676,7 @@ export class Service {
676
676
  ERROR(Errors.IsValidEndpoint);
677
677
  }
678
678
  let txb = this.protocol.CurrentSession();
679
- let ep = endpoint ? txb.pure(Bcs.getInstance().ser_option_string(endpoint)) : OptionNone(txb);
679
+ let ep = endpoint ? txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_STRING, endpoint)) : OptionNone(txb);
680
680
  if (passport) {
681
681
  txb.moveCall({
682
682
  target: this.protocol.ServiceFn('endpoint_set_with_passport'),
@@ -738,7 +738,7 @@ export class Service {
738
738
  txb.moveCall({
739
739
  target: this.protocol.ServiceFn('required_set_with_passport'),
740
740
  arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
741
- txb.pure(Bcs.getInstance().ser_vector_vector_u8(array_unique(customer_required))),
741
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_VEC_U8, array_unique(customer_required))),
742
742
  txb.pure(pubkey, 'vector<u8>'), Protocol.TXB_OBJECT(txb, this.permission)],
743
743
  typeArguments: [this.pay_token_type]
744
744
  });
@@ -747,7 +747,7 @@ export class Service {
747
747
  txb.moveCall({
748
748
  target: this.protocol.ServiceFn('required_set'),
749
749
  arguments: [Protocol.TXB_OBJECT(txb, this.object),
750
- txb.pure(Bcs.getInstance().ser_vector_vector_u8(array_unique(customer_required))),
750
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_VEC_U8, array_unique(customer_required))),
751
751
  txb.pure(pubkey, 'vector<u8>'), Protocol.TXB_OBJECT(txb, this.permission)],
752
752
  typeArguments: [this.pay_token_type]
753
753
  });
@@ -867,7 +867,7 @@ export class Service {
867
867
  arguments: [Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, order),
868
868
  txb.pure(customer_info_crypto.pubkey, 'vector<u8>'),
869
869
  txb.pure(customer_info_crypto.customer_pubkey, 'vector<u8>'),
870
- txb.pure(Bcs.getInstance().ser_vector_vector_u8(array_unique(customer_info_crypto.customer_info_crypt)))],
870
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_VEC_U8, array_unique(customer_info_crypto.customer_info_crypt)))],
871
871
  typeArguments: [this.pay_token_type]
872
872
  });
873
873
  }
@@ -901,8 +901,8 @@ export class Service {
901
901
  if (discount) {
902
902
  order = txb.moveCall({
903
903
  target: this.protocol.ServiceFn('dicount_buy_with_passport'),
904
- arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(name)),
905
- txb.pure(Bcs.getInstance().ser_vector_u64(price)), txb.pure(Bcs.getInstance().ser_vector_u64(stock)),
904
+ arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, name)),
905
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, price)), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, stock)),
906
906
  Protocol.TXB_OBJECT(txb, coin), Protocol.TXB_OBJECT(txb, discount), txb.object(Protocol.CLOCK_OBJECT)],
907
907
  typeArguments: [this.pay_token_type]
908
908
  });
@@ -910,9 +910,9 @@ export class Service {
910
910
  else {
911
911
  order = txb.moveCall({
912
912
  target: this.protocol.ServiceFn('buy_with_passport'),
913
- arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(name)),
914
- txb.pure(Bcs.getInstance().ser_vector_u64(price)),
915
- txb.pure(Bcs.getInstance().ser_vector_u64(stock)),
913
+ arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, name)),
914
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, price)),
915
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, stock)),
916
916
  Protocol.TXB_OBJECT(txb, coin)],
917
917
  typeArguments: [this.pay_token_type]
918
918
  });
@@ -922,9 +922,9 @@ export class Service {
922
922
  if (discount) {
923
923
  order = txb.moveCall({
924
924
  target: this.protocol.ServiceFn('disoucnt_buy'),
925
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(name)),
926
- txb.pure(Bcs.getInstance().ser_vector_u64(price)),
927
- txb.pure(Bcs.getInstance().ser_vector_u64(stock)),
925
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, name)),
926
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, price)),
927
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, stock)),
928
928
  Protocol.TXB_OBJECT(txb, coin),
929
929
  Protocol.TXB_OBJECT(txb, discount), txb.object(Protocol.CLOCK_OBJECT)],
930
930
  typeArguments: [this.pay_token_type]
@@ -933,9 +933,9 @@ export class Service {
933
933
  else {
934
934
  order = txb.moveCall({
935
935
  target: this.protocol.ServiceFn('buy'),
936
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser_vector_string(name)),
937
- txb.pure(Bcs.getInstance().ser_vector_u64(price)),
938
- txb.pure(Bcs.getInstance().ser_vector_u64(stock)),
936
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, name)),
937
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, price)),
938
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_U64, stock)),
939
939
  Protocol.TXB_OBJECT(txb, coin)],
940
940
  typeArguments: [this.pay_token_type]
941
941
  });
package/dist/utils.d.ts CHANGED
@@ -1,7 +1,12 @@
1
- import { BCS, TypeName, StructTypeDefinition } from '@mysten/bcs';
1
+ import { BCS } from '@mysten/bcs';
2
2
  import { TransactionBlock, TransactionArgument } from '@mysten/sui.js/transactions';
3
+ import { ValueType } from './protocol';
3
4
  export declare const OPTION_NONE = 0;
4
- export declare const readOption: (arr: number[], de: string) => {
5
+ export declare const readOption: (arr: number[], de: ValueType) => {
6
+ bNone: boolean;
7
+ value: any;
8
+ };
9
+ export declare const readOptionString: (arr: number[]) => {
5
10
  bNone: boolean;
6
11
  value: any;
7
12
  };
@@ -24,25 +29,8 @@ export declare class Bcs {
24
29
  private static _instance;
25
30
  private constructor();
26
31
  static getInstance(): Bcs;
27
- ser_option_string(data: string): Uint8Array;
28
- ser_option_u64(data: number): Uint8Array;
29
- ser_option_address(data: string): Uint8Array;
30
- ser_vector_string(data: string[]): Uint8Array;
31
- ser_vector_vector_u8(data: string[]): Uint8Array;
32
- ser_vector_u64(data: number[]): Uint8Array;
33
- ser_vector_u8(data: number[]): Uint8Array;
34
- ser_vector_address(data: number[]): Uint8Array;
35
- ser_vector_bool(data: number[]): Uint8Array;
36
- ser_vector_u128(data: number[]): Uint8Array;
37
- ser_address(data: string): Uint8Array;
38
- ser_bool(data: boolean): Uint8Array;
39
- ser_u8(data: number): Uint8Array;
40
- ser_u64(data: number): Uint8Array;
41
- ser_u128(data: number): Uint8Array;
42
- ser_u256(data: number): Uint8Array;
43
- ser_string(data: string): Uint8Array;
44
- ser(type: TypeName | StructTypeDefinition, data: Uint8Array): Uint8Array;
45
- de(type: TypeName | StructTypeDefinition, data: Uint8Array): any;
32
+ ser(type: ValueType, data: Uint8Array | any): Uint8Array;
33
+ de(type: ValueType, data: Uint8Array | any): any;
46
34
  }
47
35
  export declare function stringToUint8Array(str: string): Uint8Array;
48
36
  export declare function numToUint8Array(num: number): Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { BCS, getSuiMoveConfig } from '@mysten/bcs';
2
2
  import { ERROR, Errors } from './exception';
3
3
  import { isValidSuiAddress } from '@mysten/sui.js/utils';
4
+ import { ValueType } from './protocol';
4
5
  export const OPTION_NONE = 0;
5
6
  export const readOption = (arr, de) => {
6
7
  let o = arr.splice(0, 1);
@@ -15,6 +16,22 @@ export const readOption = (arr, de) => {
15
16
  return { bNone: true, value: OPTION_NONE };
16
17
  }
17
18
  };
19
+ export const readOptionString = (arr) => {
20
+ let o = arr.splice(0, 1);
21
+ if (o[0] == 1) { // true
22
+ let r = ulebDecode(Uint8Array.from(arr));
23
+ let value = Bcs.getInstance().de(ValueType.TYPE_STRING, Uint8Array.from(arr));
24
+ arr.splice(0, r.value + r.length);
25
+ return { bNone: false, value: value };
26
+ }
27
+ else if (o[0] == 0) {
28
+ return { bNone: true, value: OPTION_NONE };
29
+ }
30
+ else {
31
+ ERROR(Errors.Fail, 'readOption: option invalid');
32
+ return { bNone: true, value: OPTION_NONE };
33
+ }
34
+ };
18
35
  export const ulebDecode = (arr) => {
19
36
  let total = 0;
20
37
  let shift = 0;
@@ -113,62 +130,106 @@ export class Bcs {
113
130
  ;
114
131
  return Bcs._instance;
115
132
  }
116
- ser_option_string(data) {
117
- return this.bcs.ser('Option<string>', { 'some': data }).toBytes();
118
- }
119
- ser_option_u64(data) {
120
- return this.bcs.ser('Option<u64>', { 'some': data }).toBytes();
121
- }
122
- ser_option_address(data) {
123
- return this.bcs.ser('Option<address>', { 'some': data }).toBytes();
124
- }
125
- ser_vector_string(data) {
126
- return this.bcs.ser('vector<string>', data).toBytes();
127
- }
128
- ser_vector_vector_u8(data) {
129
- return this.bcs.ser('vector<vector<u8>>', data).toBytes();
130
- }
131
- ser_vector_u64(data) {
132
- return this.bcs.ser('vector<u64>', data).toBytes();
133
- }
134
- ser_vector_u8(data) {
135
- return this.bcs.ser('vector<u8>', data).toBytes();
136
- }
137
- ser_vector_address(data) {
138
- return this.bcs.ser('vector<address>', data).toBytes();
139
- }
140
- ser_vector_bool(data) {
141
- return this.bcs.ser('vector<bool>', data).toBytes();
142
- }
143
- ser_vector_u128(data) {
144
- return this.bcs.ser('vector<u128>', data).toBytes();
145
- }
146
- ser_address(data) {
147
- return this.bcs.ser(BCS.ADDRESS, data).toBytes();
148
- }
149
- ser_bool(data) {
150
- return this.bcs.ser(BCS.BOOL, data).toBytes();
151
- }
152
- ser_u8(data) {
153
- return this.bcs.ser(BCS.U8, data).toBytes();
154
- }
155
- ser_u64(data) {
156
- return this.bcs.ser(BCS.U64, data).toBytes();
157
- }
158
- ser_u128(data) {
159
- return this.bcs.ser(BCS.U128, data).toBytes();
160
- }
161
- ser_u256(data) {
162
- return this.bcs.ser(BCS.U256, data).toBytes();
163
- }
164
- ser_string(data) {
165
- return this.bcs.ser(BCS.STRING, data).toBytes();
166
- }
167
133
  ser(type, data) {
168
- return this.bcs.ser(type, data).toBytes();
134
+ switch (type) {
135
+ case ValueType.TYPE_BOOL:
136
+ return this.bcs.ser(BCS.BOOL, data).toBytes();
137
+ case ValueType.TYPE_ADDRESS:
138
+ return this.bcs.ser(BCS.ADDRESS, data).toBytes();
139
+ case ValueType.TYPE_U64:
140
+ return this.bcs.ser(BCS.U64, data).toBytes();
141
+ case ValueType.TYPE_U8:
142
+ return this.bcs.ser(BCS.U8, data).toBytes();
143
+ case ValueType.TYPE_VEC_U8:
144
+ return this.bcs.ser('vector<u8>', data).toBytes();
145
+ case ValueType.TYPE_U128:
146
+ return this.bcs.ser(BCS.U128, data).toBytes();
147
+ case ValueType.TYPE_VEC_ADDRESS:
148
+ return this.bcs.ser('vector<address>', data).toBytes();
149
+ case ValueType.TYPE_VEC_BOOL:
150
+ return this.bcs.ser('vector<bool>', data).toBytes();
151
+ case ValueType.TYPE_VEC_VEC_U8:
152
+ return this.bcs.ser('vector<vector<u8>>', data).toBytes();
153
+ case ValueType.TYPE_VEC_U64:
154
+ return this.bcs.ser('vector<u64>', data).toBytes();
155
+ case ValueType.TYPE_VEC_U128:
156
+ return this.bcs.ser('vector<u128>', data).toBytes();
157
+ case ValueType.TYPE_OPTION_ADDRESS:
158
+ return this.bcs.ser('Option<address>', { 'some': data }).toBytes();
159
+ case ValueType.TYPE_OPTION_BOOL:
160
+ return this.bcs.ser('Option<bool>', { 'some': data }).toBytes();
161
+ case ValueType.TYPE_OPTION_U8:
162
+ return this.bcs.ser('Option<u8>', { 'some': data }).toBytes();
163
+ case ValueType.TYPE_OPTION_U64:
164
+ return this.bcs.ser('Option<u64>', { 'some': data }).toBytes();
165
+ case ValueType.TYPE_OPTION_U128:
166
+ return this.bcs.ser('Option<u128>', { 'some': data }).toBytes();
167
+ case ValueType.TYPE_OPTION_U256:
168
+ return this.bcs.ser('Option<u256>', { 'some': data }).toBytes();
169
+ case ValueType.TYPE_OPTION_STRING:
170
+ return this.bcs.ser('Option<string>', { 'some': data }).toBytes();
171
+ case ValueType.TYPE_VEC_U256:
172
+ return this.bcs.ser('vector<u256>', data).toBytes();
173
+ case ValueType.TYPE_U256:
174
+ return this.bcs.ser(BCS.U256, data).toBytes();
175
+ case ValueType.TYPE_STRING:
176
+ return this.bcs.ser(BCS.STRING, data).toBytes();
177
+ case ValueType.TYPE_VEC_STRING:
178
+ return this.bcs.ser('vector<string>', data).toBytes();
179
+ default:
180
+ ERROR(Errors.bcsTypeInvalid, 'ser');
181
+ }
182
+ return new Uint8Array();
169
183
  }
170
184
  de(type, data) {
171
- return this.bcs.de(type, data);
185
+ switch (type) {
186
+ case ValueType.TYPE_BOOL:
187
+ return this.bcs.de(BCS.BOOL, data).toBytes();
188
+ case ValueType.TYPE_ADDRESS:
189
+ return this.bcs.de(BCS.ADDRESS, data).toBytes();
190
+ case ValueType.TYPE_U64:
191
+ return this.bcs.de(BCS.U64, data).toBytes();
192
+ case ValueType.TYPE_U8:
193
+ return this.bcs.de(BCS.U8, data).toBytes();
194
+ case ValueType.TYPE_VEC_U8:
195
+ return this.bcs.de('vector<u8>', data).toBytes();
196
+ case ValueType.TYPE_U128:
197
+ return this.bcs.de(BCS.U128, data).toBytes();
198
+ case ValueType.TYPE_VEC_ADDRESS:
199
+ return this.bcs.de('vector<address>', data).toBytes();
200
+ case ValueType.TYPE_VEC_BOOL:
201
+ return this.bcs.de('vector<bool>', data).toBytes();
202
+ case ValueType.TYPE_VEC_VEC_U8:
203
+ return this.bcs.de('vector<vector<u8>>', data).toBytes();
204
+ case ValueType.TYPE_VEC_U64:
205
+ return this.bcs.de('vector<u64>', data).toBytes();
206
+ case ValueType.TYPE_VEC_U128:
207
+ return this.bcs.de('vector<u128>', data).toBytes();
208
+ case ValueType.TYPE_OPTION_ADDRESS:
209
+ return this.bcs.de('Option<address>', data).toBytes();
210
+ case ValueType.TYPE_OPTION_BOOL:
211
+ return this.bcs.de('Option<bool>', data).toBytes();
212
+ case ValueType.TYPE_OPTION_U8:
213
+ return this.bcs.de('Option<u8>', data).toBytes();
214
+ case ValueType.TYPE_OPTION_U64:
215
+ return this.bcs.de('Option<u64>', data).toBytes();
216
+ case ValueType.TYPE_OPTION_U128:
217
+ return this.bcs.de('Option<u128>', data).toBytes();
218
+ case ValueType.TYPE_OPTION_U256:
219
+ return this.bcs.de('Option<u256>', data).toBytes();
220
+ case ValueType.TYPE_OPTION_STRING:
221
+ return this.bcs.de('Option<string>', data).toBytes();
222
+ case ValueType.TYPE_VEC_U256:
223
+ return this.bcs.de('vector<u256>', data).toBytes();
224
+ case ValueType.TYPE_STRING:
225
+ return this.bcs.de(BCS.STRING, data).toBytes();
226
+ case ValueType.TYPE_VEC_STRING:
227
+ return this.bcs.de('vector<string>', data).toBytes();
228
+ case ValueType.TYPE_U256:
229
+ return this.bcs.de(BCS.U256, data).toBytes();
230
+ default:
231
+ ERROR(Errors.bcsTypeInvalid, 'de');
232
+ }
172
233
  }
173
234
  }
174
235
  export function stringToUint8Array(str) {
package/dist/vote.js CHANGED
@@ -2,6 +2,7 @@ import { BCS } from '@mysten/bcs';
2
2
  import { Protocol } from './protocol';
3
3
  import { IsValidDesription, IsValidUint, IsValidAddress, OptionNone, Bcs, array_unique, IsValidArray, IsValidName } from './utils';
4
4
  import { ERROR, Errors } from './exception';
5
+ import { ValueType } from './protocol';
5
6
  export const MAX_AGREES_COUNT = 200;
6
7
  export const MAX_CHOICE_COUNT = 200;
7
8
  export class Vote {
@@ -40,7 +41,7 @@ export class Vote {
40
41
  }
41
42
  let v = new Vote(protocol, permission);
42
43
  let txb = protocol.CurrentSession();
43
- let reference = reference_address ? txb.pure(Bcs.getInstance().ser_option_address(reference_address)) : OptionNone(txb);
44
+ let reference = reference_address ? txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_ADDRESS, reference_address)) : OptionNone(txb);
44
45
  let choice_count = max_choice_count ? max_choice_count : 1;
45
46
  if (passport) {
46
47
  v.object = txb.moveCall({
@@ -95,7 +96,7 @@ export class Vote {
95
96
  ERROR(Errors.IsValidAddress);
96
97
  }
97
98
  let txb = this.protocol.CurrentSession();
98
- let reference = reference_address ? txb.pure(Bcs.getInstance().ser_option_address(reference_address)) : OptionNone(txb);
99
+ let reference = reference_address ? txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_ADDRESS, reference_address)) : OptionNone(txb);
99
100
  if (passport) {
100
101
  txb.moveCall({
101
102
  target: this.protocol.VoteFn('reference_set_with_passport'),
@@ -189,7 +190,7 @@ export class Vote {
189
190
  let txb = this.protocol.CurrentSession();
190
191
  options.forEach((option) => {
191
192
  let reference = option?.reference_address ?
192
- txb.pure(Bcs.getInstance().ser_option_address(option.reference_address)) :
193
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_OPTION_ADDRESS, option.reference_address)) :
193
194
  OptionNone(txb);
194
195
  if (passport) {
195
196
  txb.moveCall({
@@ -226,7 +227,7 @@ export class Vote {
226
227
  txb.moveCall({
227
228
  target: this.protocol.VoteFn('agrees_remove_with_passport'),
228
229
  arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
229
- txb.pure(Bcs.getInstance().ser_vector_string(array_unique(options))),
230
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(options))),
230
231
  Protocol.TXB_OBJECT(txb, this.permission)]
231
232
  });
232
233
  }
@@ -242,7 +243,7 @@ export class Vote {
242
243
  txb.moveCall({
243
244
  target: this.protocol.VoteFn('agrees_remove'),
244
245
  arguments: [Protocol.TXB_OBJECT(txb, this.object),
245
- txb.pure(Bcs.getInstance().ser_vector_string(array_unique(options))),
246
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(options))),
246
247
  Protocol.TXB_OBJECT(txb, this.permission)]
247
248
  });
248
249
  }
@@ -341,14 +342,14 @@ export class Vote {
341
342
  txb.moveCall({
342
343
  target: this.protocol.VoteFn('with_passport'),
343
344
  arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
344
- txb.pure(Bcs.getInstance().ser_vector_string(array_unique(options)))]
345
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(options)))]
345
346
  });
346
347
  }
347
348
  else {
348
349
  txb.moveCall({
349
350
  target: this.protocol.VoteFn('this.object'),
350
351
  arguments: [Protocol.TXB_OBJECT(txb, this.object),
351
- txb.pure(Bcs.getInstance().ser_vector_string(array_unique(options)))]
352
+ txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(options)))]
352
353
  });
353
354
  }
354
355
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wowok",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "Create, collaborate, and transact on your own terms with the AI-driven web3 collaboration protocol.",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
package/src/exception.ts CHANGED
@@ -18,6 +18,7 @@ export enum Errors {
18
18
  Fail = 'fail',
19
19
  IsValidIndentifier = 'indentifier invalid',
20
20
  isValidHttpUrl = 'invalid url',
21
+ bcsTypeInvalid = 'invalid bcs type',
21
22
  }
22
23
 
23
24
  export const ERROR = (error:Errors, info?:any) => {