wowok 1.2.4 → 1.2.7

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.
Files changed (49) hide show
  1. package/dist/demand.d.ts +3 -2
  2. package/dist/demand.d.ts.map +1 -1
  3. package/dist/demand.js +21 -7
  4. package/dist/entity.d.ts +2 -1
  5. package/dist/entity.d.ts.map +1 -1
  6. package/dist/entity.js +23 -7
  7. package/dist/exception.d.ts +3 -1
  8. package/dist/exception.d.ts.map +1 -1
  9. package/dist/exception.js +3 -1
  10. package/dist/guard.js +1 -1
  11. package/dist/machine.js +2 -2
  12. package/dist/permission.d.ts +23 -7
  13. package/dist/permission.d.ts.map +1 -1
  14. package/dist/permission.js +149 -16
  15. package/dist/protocol.d.ts +35 -10
  16. package/dist/protocol.d.ts.map +1 -1
  17. package/dist/protocol.js +129 -21
  18. package/dist/repository.d.ts +6 -3
  19. package/dist/repository.d.ts.map +1 -1
  20. package/dist/repository.js +59 -40
  21. package/dist/resource.d.ts +20 -6
  22. package/dist/resource.d.ts.map +1 -1
  23. package/dist/resource.js +58 -21
  24. package/dist/reward.d.ts +6 -3
  25. package/dist/reward.d.ts.map +1 -1
  26. package/dist/reward.js +43 -19
  27. package/dist/service.d.ts +15 -9
  28. package/dist/service.d.ts.map +1 -1
  29. package/dist/service.js +94 -56
  30. package/dist/utils.d.ts +18 -4
  31. package/dist/utils.d.ts.map +1 -1
  32. package/dist/utils.js +218 -45
  33. package/dist/vote.d.ts +2 -2
  34. package/dist/vote.d.ts.map +1 -1
  35. package/dist/vote.js +14 -14
  36. package/package.json +1 -1
  37. package/src/demand.ts +22 -8
  38. package/src/entity.ts +25 -6
  39. package/src/exception.ts +3 -1
  40. package/src/guard.ts +1 -1
  41. package/src/machine.ts +2 -2
  42. package/src/permission.ts +168 -14
  43. package/src/protocol.ts +127 -17
  44. package/src/repository.ts +64 -44
  45. package/src/resource.ts +61 -20
  46. package/src/reward.ts +46 -23
  47. package/src/service.ts +100 -57
  48. package/src/utils.ts +186 -22
  49. package/src/vote.ts +14 -14
package/dist/resource.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import { BCS } from '@mysten/bcs';
2
2
  import { Protocol } from './protocol';
3
- import { IsValidAddress, IsValidName, } from './utils';
3
+ import { IsValidAddress, IsValidName, IsValidArray, } from './utils';
4
4
  import { ERROR, Errors } from './exception';
5
5
  export class Resource {
6
- static MAX_WORDS_LEN = 102400;
7
- static IsValidWords(words) {
8
- return words.length <= Resource.MAX_WORDS_LEN;
9
- }
6
+ static MAX_ADDRESS_COUNT = 600;
7
+ static MAX_TAGS = 8;
8
+ static LikeName = "like";
9
+ static DislikeName = "dislike";
10
+ static FavorName = "favor";
10
11
  object;
11
12
  protocol;
12
13
  get_object() { return this.object; }
@@ -21,13 +22,28 @@ export class Resource {
21
22
  }
22
23
  add(name, object) {
23
24
  if (!IsValidName(name))
24
- ERROR(Errors.IsValidName, 'Resource: add');
25
- if (!IsValidAddress(object))
26
- ERROR(Errors.IsValidAddress, 'Resource: add');
25
+ ERROR(Errors.IsValidName, 'add');
26
+ if (!object)
27
+ ERROR(Errors.InvalidParam, 'add');
28
+ if (!IsValidArray(object, IsValidAddress))
29
+ ERROR(Errors.IsValidArray, 'add');
27
30
  let txb = this.protocol.CurrentSession();
28
31
  txb.moveCall({
29
32
  target: this.protocol.ResourceFn('add'),
30
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(name, BCS.STRING), txb.pure(object, BCS.ADDRESS)]
33
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(name, BCS.STRING), txb.pure(object, 'vector<address>')]
34
+ });
35
+ }
36
+ add2(object, name) {
37
+ if (!IsValidAddress(object))
38
+ ERROR(Errors.IsValidAddress, 'add2');
39
+ if (!IsValidArray(name, IsValidName))
40
+ ERROR(Errors.IsValidArray, 'add2');
41
+ if (!name)
42
+ return;
43
+ let txb = this.protocol.CurrentSession();
44
+ txb.moveCall({
45
+ target: this.protocol.ResourceFn('add2'),
46
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(object, BCS.ADDRESS), txb.pure(name, 'vector<string>')]
31
47
  });
32
48
  }
33
49
  remove(name, object, removeall) {
@@ -43,14 +59,27 @@ export class Resource {
43
59
  });
44
60
  }
45
61
  else if (object) {
46
- if (!IsValidAddress(object))
47
- ERROR(Errors.IsValidAddress, 'Resource: remove');
62
+ if (!IsValidArray(object, IsValidAddress))
63
+ ERROR(Errors.IsValidArray, 'Resource: remove');
48
64
  txb.moveCall({
49
65
  target: this.protocol.ResourceFn('remove'),
50
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(name, BCS.STRING), txb.pure(object, BCS.ADDRESS)]
66
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(name, BCS.STRING), txb.pure(object, 'vector<address>')]
51
67
  });
52
68
  }
53
69
  }
70
+ remove2(object, name) {
71
+ if (!IsValidAddress(object))
72
+ ERROR(Errors.IsValidAddress, 'Resource: remove2');
73
+ if (!IsValidArray(name, IsValidName))
74
+ ERROR(Errors.InvalidParam, 'Resource: remove2');
75
+ if (!name)
76
+ return;
77
+ let txb = this.protocol.CurrentSession();
78
+ txb.moveCall({
79
+ target: this.protocol.ResourceFn('remove2'),
80
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(object, BCS.ADDRESS), txb.pure(name, 'vector<string>')]
81
+ });
82
+ }
54
83
  rename(old_name, new_name) {
55
84
  if (!IsValidName(new_name))
56
85
  ERROR(Errors.IsValidName, 'Resource: rename');
@@ -60,23 +89,31 @@ export class Resource {
60
89
  arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(old_name, BCS.STRING), txb.pure(new_name, BCS.STRING)]
61
90
  });
62
91
  }
63
- add_words(object, words) {
92
+ add_tags(object, nick, tags) {
64
93
  if (!IsValidAddress(object))
65
- ERROR(Errors.IsValidAddress, 'Resource: add_words');
66
- if (!Resource.IsValidWords(words))
67
- ERROR(Errors.Fail, 'Resource: add_words');
94
+ ERROR(Errors.IsValidAddress, 'add_tags');
95
+ if (!nick || !tags)
96
+ return;
97
+ if (!IsValidName(nick))
98
+ ERROR(Errors.IsValidName, 'add_tags');
99
+ if (!IsValidArray(tags, IsValidName))
100
+ ERROR(Errors.IsValidArray, 'add_tags');
101
+ if (tags.length > Resource.MAX_TAGS)
102
+ ERROR(Errors.InvalidParam, 'add_tags');
68
103
  let txb = this.protocol.CurrentSession();
69
104
  txb.moveCall({
70
- target: this.protocol.ResourceFn('words_add'),
71
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(object, BCS.ADDRESS), txb.pure(words, BCS.STRING)]
105
+ target: this.protocol.ResourceFn('tags_add'),
106
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(object, BCS.ADDRESS), txb.pure(nick, BCS.STRING),
107
+ txb.pure(tags, 'vector<string>')
108
+ ]
72
109
  });
73
110
  }
74
- remove_words(object) {
111
+ remove_tags(object) {
75
112
  if (!IsValidAddress(object))
76
- ERROR(Errors.IsValidAddress, 'Resource: remove_words');
113
+ ERROR(Errors.IsValidAddress, 'Resource: remove_tags');
77
114
  let txb = this.protocol.CurrentSession();
78
115
  txb.moveCall({
79
- target: this.protocol.ResourceFn('words_remove'),
116
+ target: this.protocol.ResourceFn('tags_remove'),
80
117
  arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(object, BCS.ADDRESS)]
81
118
  });
82
119
  }
package/dist/reward.d.ts CHANGED
@@ -14,19 +14,22 @@ export declare class Reward {
14
14
  get_object(): TxbObject;
15
15
  private constructor();
16
16
  static From(protocol: Protocol, earnest_type: string, permission: PermissionObject, object: TxbObject): Reward;
17
- static New(protocol: Protocol, earnest_type: string, permission: PermissionObject, description: string, minutes_duration: number, passport?: PassportObject): Reward;
17
+ static New(protocol: Protocol, earnest_type: string, permission: PermissionObject, description: string, ms_expand: boolean, time: number, passport?: PassportObject): Reward;
18
18
  launch(): RewardAddress;
19
19
  destroy(): void;
20
20
  refund(passport?: PassportObject): void;
21
- expand_time(minutes_expand: number, passport?: PassportObject): void;
21
+ expand_time(ms_expand: boolean, time: number, passport?: PassportObject): void;
22
22
  add_guard(gurads: RewardGuardPortions[], passport?: PassportObject): void;
23
23
  remove_guard(guards: string[], removeall?: boolean, passport?: PassportObject): void;
24
24
  allow_repeat_claim(allow_repeat_claim: boolean, passport?: PassportObject): void;
25
25
  set_description(description: string, passport?: PassportObject): void;
26
26
  lock_guards(passport?: PassportObject): void;
27
27
  claim(passport?: PassportObject): void;
28
- deposit(rewards: CoinReward[]): void;
28
+ deposit(rewards: TransactionResult[]): void;
29
+ allow_claim(bAllowClaim: boolean, passport?: PassportObject): void;
29
30
  change_permission(new_permission: PermissionObject): void;
31
+ static parseObjectType: (chain_type: string) => string;
30
32
  static MAX_PORTIONS_COUNT: number;
33
+ static MAX_GUARD_COUNT: number;
31
34
  }
32
35
  //# sourceMappingURL=reward.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reward.d.ts","sourceRoot":"","sources":["../src/reward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAc,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAG,MAAM,YAAY,CAAC;AAK5H,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAC3C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,EAAC,WAAW,CAAC;IAClB,QAAQ,EAAC,MAAM,CAAC;CACnB,CAAA;AAED,qBAAa,MAAM;IACf,SAAS,CAAC,YAAY,SAAC;IACvB,SAAS,CAAC,UAAU,mBAAE;IACtB,SAAS,CAAC,MAAM,EAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,WAAC;IAEnB,gBAAgB;IAChB,UAAU;IACV,OAAO;IAMP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,EAAE,UAAU,EAAC,gBAAgB,EAAE,MAAM,EAAC,SAAS,GAAI,MAAM;IAK3G,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,EAAE,UAAU,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,EAC9F,gBAAgB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,MAAM;IAmC/D,MAAM,IAAI,aAAa;IASvB,OAAO;IAgBP,MAAM,CAAC,QAAQ,CAAC,EAAC,cAAc;IAiB/B,WAAW,CAAC,cAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAsB3D,SAAS,CAAC,MAAM,EAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAqChE,YAAY,CAAC,MAAM,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IA2C1E,kBAAkB,CAAC,kBAAkB,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAmBvE,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAqB5D,WAAW,CAAC,QAAQ,CAAC,EAAC,cAAc;IAiBpC,KAAK,CAAC,QAAQ,CAAC,EAAC,cAAc;IAiB9B,OAAO,CAAC,OAAO,EAAC,UAAU,EAAE;IAa5B,iBAAiB,CAAC,cAAc,EAAC,gBAAgB;IAcjD,MAAM,CAAC,kBAAkB,SAAO;CACnC"}
1
+ {"version":3,"file":"reward.d.ts","sourceRoot":"","sources":["../src/reward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE5G,OAAO,EAAc,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAG,MAAM,YAAY,CAAC;AAK5H,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAC3C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,EAAC,WAAW,CAAC;IAClB,QAAQ,EAAC,MAAM,CAAC;CACnB,CAAA;AAED,qBAAa,MAAM;IACf,SAAS,CAAC,YAAY,SAAC;IACvB,SAAS,CAAC,UAAU,mBAAE;IACtB,SAAS,CAAC,MAAM,EAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,WAAC;IAEnB,gBAAgB;IAChB,UAAU;IACV,OAAO;IAMP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,EAAE,UAAU,EAAC,gBAAgB,EAAE,MAAM,EAAC,SAAS,GAAI,MAAM;IAK3G,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,EAAE,UAAU,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,EAC9F,SAAS,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,MAAM;IAmCtE,MAAM,IAAI,aAAa;IASvB,OAAO;IAQP,MAAM,CAAC,QAAQ,CAAC,EAAC,cAAc;IAiB/B,WAAW,CAAC,SAAS,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwBpE,SAAS,CAAC,MAAM,EAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAqChE,YAAY,CAAC,MAAM,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IA2C1E,kBAAkB,CAAC,kBAAkB,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAmBvE,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAqB5D,WAAW,CAAC,QAAQ,CAAC,EAAC,cAAc;IAiBpC,KAAK,CAAC,QAAQ,CAAC,EAAC,cAAc;IAiB9B,OAAO,CAAC,OAAO,EAAC,iBAAiB,EAAE;IAanC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAkB1D,iBAAiB,CAAC,cAAc,EAAC,gBAAgB;IAajD,MAAM,CAAC,eAAe,eAAe,MAAM,KAAI,MAAM,CAUpD;IACD,MAAM,CAAC,kBAAkB,SAAO;IAChC,MAAM,CAAC,eAAe,SAAM;CAC/B"}
package/dist/reward.js CHANGED
@@ -20,7 +20,7 @@ export class Reward {
20
20
  r.object = Protocol.TXB_OBJECT(protocol.CurrentSession(), object);
21
21
  return r;
22
22
  }
23
- static New(protocol, earnest_type, permission, description, minutes_duration, passport) {
23
+ static New(protocol, earnest_type, permission, description, ms_expand, time, passport) {
24
24
  if (!Protocol.IsValidObjects([permission])) {
25
25
  ERROR(Errors.IsValidObjects, 'permission');
26
26
  }
@@ -30,15 +30,15 @@ export class Reward {
30
30
  if (!IsValidDesription(description)) {
31
31
  ERROR(Errors.IsValidDesription);
32
32
  }
33
- if (!IsValidUint(minutes_duration)) {
34
- ERROR(Errors.IsValidUint, 'minutes_duration');
33
+ if (!IsValidUint(time)) {
34
+ ERROR(Errors.IsValidUint, 'time');
35
35
  }
36
36
  let r = new Reward(protocol, earnest_type, permission);
37
37
  let txb = protocol.CurrentSession();
38
38
  if (passport) {
39
39
  r.object = txb.moveCall({
40
40
  target: protocol.RewardFn('new_with_passport'),
41
- arguments: [passport, txb.pure(description), txb.pure(minutes_duration, BCS.U64),
41
+ arguments: [passport, txb.pure(description), txb.pure(ms_expand, BCS.BOOL), txb.pure(time, BCS.U64),
42
42
  txb.object(Protocol.CLOCK_OBJECT), Protocol.TXB_OBJECT(txb, permission)],
43
43
  typeArguments: [earnest_type]
44
44
  });
@@ -46,7 +46,7 @@ export class Reward {
46
46
  else {
47
47
  r.object = txb.moveCall({
48
48
  target: protocol.RewardFn('new'),
49
- arguments: [txb.pure(description), txb.pure(minutes_duration, BCS.U64),
49
+ arguments: [txb.pure(description), txb.pure(ms_expand, BCS.BOOL), txb.pure(time, BCS.U64),
50
50
  txb.object(Protocol.CLOCK_OBJECT), Protocol.TXB_OBJECT(txb, permission)],
51
51
  typeArguments: [earnest_type]
52
52
  });
@@ -68,15 +68,6 @@ export class Reward {
68
68
  arguments: [Protocol.TXB_OBJECT(txb, this.object)],
69
69
  });
70
70
  }
71
- /*
72
- mark(like:'like' | 'unlike', resource:Resource) {
73
- let txb = this.protocol.CurrentSession();
74
- txb.moveCall({
75
- target:this.protocol.RewardFn(like) as FnCallType,
76
- arguments: [Protocol.TXB_OBJECT(txb, resource.get_object()), Protocol.TXB_OBJECT(txb, this.object)],
77
- })
78
- }
79
- */
80
71
  refund(passport) {
81
72
  let txb = this.protocol.CurrentSession();
82
73
  if (passport) {
@@ -94,22 +85,24 @@ export class Reward {
94
85
  });
95
86
  }
96
87
  }
97
- expand_time(minutes_expand, passport) {
98
- if (!IsValidUint(minutes_expand)) {
88
+ expand_time(ms_expand, time, passport) {
89
+ if (!IsValidUint(time)) {
99
90
  ERROR(Errors.IsValidUint, 'minutes_expand');
100
91
  }
101
92
  let txb = this.protocol.CurrentSession();
102
93
  if (passport) {
103
94
  txb.moveCall({
104
95
  target: this.protocol.RewardFn('time_expand_with_passport'),
105
- arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(minutes_expand, BCS.U64), Protocol.TXB_OBJECT(txb, this.permission)],
96
+ arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(ms_expand, BCS.BOOL),
97
+ txb.pure(time, BCS.U64), Protocol.TXB_OBJECT(txb, this.permission)],
106
98
  typeArguments: [this.earnest_type]
107
99
  });
108
100
  }
109
101
  else {
110
102
  txb.moveCall({
111
103
  target: this.protocol.RewardFn('time_expand'),
112
- arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(minutes_expand, BCS.U64), Protocol.TXB_OBJECT(txb, this.permission)],
104
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), txb.pure(ms_expand, BCS.BOOL),
105
+ txb.pure(time, BCS.U64), Protocol.TXB_OBJECT(txb, this.permission)],
113
106
  typeArguments: [this.earnest_type]
114
107
  });
115
108
  }
@@ -265,6 +258,7 @@ export class Reward {
265
258
  ;
266
259
  }
267
260
  deposit(rewards) {
261
+ console.log(rewards);
268
262
  if (!rewards || !Protocol.IsValidObjects(rewards)) {
269
263
  ERROR(Errors.IsValidArray);
270
264
  }
@@ -275,17 +269,47 @@ export class Reward {
275
269
  typeArguments: [this.earnest_type]
276
270
  });
277
271
  }
272
+ allow_claim(bAllowClaim, passport) {
273
+ let txb = this.protocol.CurrentSession();
274
+ if (passport) {
275
+ txb.moveCall({
276
+ target: this.protocol.RewardFn('allow_claim_with_passport'),
277
+ arguments: [passport, Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, this.permission),
278
+ txb.pure(bAllowClaim, BCS.BOOL)],
279
+ typeArguments: [this.earnest_type]
280
+ });
281
+ }
282
+ else {
283
+ txb.moveCall({
284
+ target: this.protocol.RewardFn('allow_claim'),
285
+ arguments: [Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, this.permission), txb.pure(bAllowClaim, BCS.BOOL)],
286
+ typeArguments: [this.earnest_type]
287
+ });
288
+ }
289
+ }
278
290
  change_permission(new_permission) {
279
291
  if (!Protocol.IsValidObjects([new_permission])) {
280
292
  ERROR(Errors.IsValidObjects);
281
293
  }
282
294
  let txb = this.protocol.CurrentSession();
283
295
  txb.moveCall({
284
- target: this.protocol.RewardFn('this.permission_set'),
296
+ target: this.protocol.RewardFn('permission_set'),
285
297
  arguments: [Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, this.permission), Protocol.TXB_OBJECT(txb, new_permission)],
286
298
  typeArguments: [this.earnest_type]
287
299
  });
288
300
  this.permission = new_permission;
289
301
  }
302
+ static parseObjectType = (chain_type) => {
303
+ if (chain_type) {
304
+ const s = 'reward::Reward<';
305
+ const i = chain_type.indexOf(s);
306
+ if (i > 0) {
307
+ let r = chain_type.slice(i + s.length, chain_type.length - 1);
308
+ return r;
309
+ }
310
+ }
311
+ return '';
312
+ };
290
313
  static MAX_PORTIONS_COUNT = 255;
314
+ static MAX_GUARD_COUNT = 16;
291
315
  }
package/dist/service.d.ts CHANGED
@@ -7,6 +7,7 @@ export type Service_Sale = {
7
7
  item: string;
8
8
  price: number;
9
9
  stock: number;
10
+ endpoint?: string;
10
11
  };
11
12
  export declare enum Service_Discount_Type {
12
13
  ratio = 0,
@@ -30,10 +31,10 @@ export type Customer_RequiredInfo = {
30
31
  customer_info_crypt: string[];
31
32
  };
32
33
  export declare enum BuyRequiredEnum {
33
- address = "Address",
34
- phone = "Phone",
35
- name = "Name",
36
- postcode = "Postcode"
34
+ address = "address",
35
+ phone = "phone",
36
+ name = "name",
37
+ postcode = "postcode"
37
38
  }
38
39
  export type Service_Buy = {
39
40
  item: string;
@@ -53,8 +54,8 @@ export declare class Service {
53
54
  get_pay_type(): string;
54
55
  get_object(): TxbObject;
55
56
  private constructor();
56
- static From(protocol: Protocol, pay_token_type: string, permission: PermissionObject, object: TxbObject): Service;
57
- static New(protocol: Protocol, pay_token_type: string, permission: PermissionObject, description: string, payee_address: string, endpoint?: string, passport?: PassportObject): Service;
57
+ static From(protocol: Protocol, token_type: string, permission: PermissionObject, object: TxbObject): Service;
58
+ static New(protocol: Protocol, token_type: string, permission: PermissionObject, description: string, payee_address: string, endpoint?: string, passport?: PassportObject): Service;
58
59
  launch(): ServiceAddress;
59
60
  destroy(): void;
60
61
  set_description(description: string, passport?: PassportObject): void;
@@ -62,16 +63,17 @@ export declare class Service {
62
63
  set_stock(item: string, stock: number, bNotFoundAssert?: boolean, passport?: PassportObject): void;
63
64
  add_stock(item: string, stock_add: number, bNotFoundAssert?: boolean, passport?: PassportObject): void;
64
65
  reduce_stock(item: string, stock_reduce: number, bNotFoundAssert?: boolean, passport?: PassportObject): void;
66
+ set_sale_endpoint(item: string, endpoint?: string, bNotFoundAssert?: boolean, passport?: PassportObject): void;
65
67
  set_payee(payee: string, passport?: PassportObject): void;
66
- repository_add(repository: RepositoryObject, passport?: PassportObject): false | undefined;
68
+ repository_add(repository: RepositoryObject, passport?: PassportObject): void;
67
69
  repository_remove(repository_address?: string[], removeall?: boolean, passport?: PassportObject): void;
68
70
  add_withdraw_guards(guards: Service_Guard_Percent[], passport?: PassportObject): void;
69
71
  remove_withdraw_guards(guard_address?: string[], removeall?: boolean, passport?: PassportObject): void;
70
72
  add_refund_guards(guards: Service_Guard_Percent[], passport?: PassportObject): void;
71
73
  remove_refund_guards(guard_address?: string[], removeall?: boolean, passport?: PassportObject): void;
72
74
  is_valid_sale(sales: Service_Sale[]): boolean;
73
- add_sale(sales: Service_Sale[], passport?: PassportObject): void;
74
- remove_sales(sales?: string[], removeall?: boolean, passport?: PassportObject): void;
75
+ add_sale(sales: Service_Sale[], bExistAssert?: boolean, passport?: PassportObject): void;
76
+ remove_sales(sales?: string[], passport?: PassportObject): void;
75
77
  discount_transfer(discount_dispatch: DicountDispatch[], passport?: PassportObject): void;
76
78
  withdraw(order: OrderObject, passport?: PassportObject): void;
77
79
  set_buy_guard(guard?: GuardObject, passport?: PassportObject): void;
@@ -91,5 +93,9 @@ export declare class Service {
91
93
  change_permission(new_permission: PermissionObject): void;
92
94
  static MAX_DISCOUNT_COUNT_ONCE: number;
93
95
  static MAX_DISCOUNT_RECEIVER_COUNT: number;
96
+ static MAX_GUARD_COUNT: number;
97
+ static MAX_REPOSITORY_COUNT: number;
98
+ static parseObjectType: (chain_type: string | undefined | null) => string;
99
+ static endpoint: (service_endpoint: string, item_endpoint: string, item_name: string) => string | undefined;
94
100
  }
95
101
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}