wowok 1.2.11 → 1.2.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wowok",
3
- "version": "1.2.11",
3
+ "version": "1.2.12",
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",
@@ -32,7 +32,7 @@
32
32
  "vote",
33
33
  "tags",
34
34
  "entity",
35
- "resource",
35
+ "resource",
36
36
  "grantor",
37
37
  "grantee",
38
38
  "move language",
@@ -42,7 +42,7 @@
42
42
  "license": "Apache-2.0",
43
43
  "dependencies": {
44
44
  "@mysten/bcs": "^0.11.1",
45
- "@mysten/sui.js": "^0.51.2",
45
+ "@mysten/sui": "^1.7.0",
46
46
  "graphql-tag": "^2.12.6"
47
47
  },
48
48
  "devDependencies": {
package/src/demand.ts CHANGED
@@ -1,33 +1,31 @@
1
- import { type TransactionResult } from '@mysten/sui.js/transactions';
1
+ import { type TransactionResult, Transaction as TransactionBlock } from '@mysten/sui/transactions';
2
2
  import { BCS } from '@mysten/bcs';
3
3
  import { FnCallType, Protocol, PassportObject, PermissionObject, GuardObject, DemandAddress, TxbObject, ResourceObject} from './protocol';
4
4
  import { IsValidDesription, IsValidUintLarge, IsValidAddress, IsValidArgType, } from './utils'
5
5
  import { Errors, ERROR} from './exception'
6
- import { Resource } from './resource'
7
-
8
6
 
9
7
  export class Demand {
10
8
  protected bounty_type;
11
9
  protected permission ;
12
- protected object : TxbObject ;
13
- protected protocol;
10
+ protected object : TxbObject;
11
+ protected txb;
14
12
 
15
13
  get_bounty_type() { return this.bounty_type }
16
14
  get_object() { return this.object }
17
15
 
18
- static From(protocol:Protocol, bounty_type:string, permission:PermissionObject, object:TxbObject) : Demand {
19
- let d = new Demand(protocol, bounty_type, permission)
20
- d.object = Protocol.TXB_OBJECT(protocol.CurrentSession(), object)
16
+ static From(txb:TransactionBlock, bounty_type:string, permission:PermissionObject, object:TxbObject) : Demand {
17
+ let d = new Demand(txb, bounty_type, permission)
18
+ d.object = Protocol.TXB_OBJECT(txb, object)
21
19
  return d
22
20
  }
23
21
 
24
- private constructor(protocol:Protocol, bounty_type:string, permission:PermissionObject) {
22
+ private constructor(txb:TransactionBlock, bounty_type:string, permission:PermissionObject) {
25
23
  this.bounty_type = bounty_type;
26
24
  this.permission = permission;
27
- this.protocol = protocol;
25
+ this.txb = txb;
28
26
  this.object = '';
29
27
  }
30
- static New(protocol:Protocol, bounty_type:string, permission:PermissionObject, description:string,
28
+ static New(txb:TransactionBlock, bounty_type:string, permission:PermissionObject, description:string,
31
29
  bounty:TransactionResult | string, passport?:PassportObject) : Demand {
32
30
  if (!Protocol.IsValidObjects([permission, bounty])) {
33
31
  ERROR(Errors.IsValidObjects, 'permission, bounty');
@@ -39,18 +37,17 @@ export class Demand {
39
37
  ERROR(Errors.IsValidArgType, bounty_type);
40
38
  }
41
39
 
42
- let d = new Demand(protocol, bounty_type, permission);
43
- let txb = protocol.CurrentSession();
40
+ let d = new Demand(txb, bounty_type, permission);
44
41
  if (passport) {
45
42
  d.object = txb.moveCall({
46
- target:protocol.DemandFn('new_with_passport') as FnCallType,
47
- arguments:[passport, txb.pure(description), txb.object(bounty), Protocol.TXB_OBJECT(txb, permission)],
43
+ target:Protocol.Instance().DemandFn('new_with_passport') as FnCallType,
44
+ arguments:[passport, txb.pure.string(description), txb.object(bounty), Protocol.TXB_OBJECT(txb, permission)],
48
45
  typeArguments:[bounty_type],
49
46
  })
50
47
  } else {
51
48
  d.object = txb.moveCall({
52
- target:protocol.DemandFn('new') as FnCallType,
53
- arguments:[txb.pure(description), txb.object(bounty), Protocol.TXB_OBJECT(txb, permission)],
49
+ target:Protocol.Instance().DemandFn('new') as FnCallType,
50
+ arguments:[txb.pure.string(description), txb.object(bounty), Protocol.TXB_OBJECT(txb, permission)],
54
51
  typeArguments:[bounty_type],
55
52
  })
56
53
  }
@@ -58,35 +55,34 @@ export class Demand {
58
55
  }
59
56
 
60
57
  launch() : DemandAddress {
61
- let txb = this.protocol.CurrentSession();
62
- return txb.moveCall({
63
- target:this.protocol.DemandFn('create') as FnCallType,
64
- arguments:[Protocol.TXB_OBJECT(txb, this.object)],
58
+ return this.txb.moveCall({
59
+ target:Protocol.Instance().DemandFn('create') as FnCallType,
60
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object)],
65
61
  typeArguments:[this.bounty_type],
66
62
  })
67
63
  }
68
64
 
69
65
  destroy() {
70
- let txb = this.protocol.CurrentSession();
71
- txb.moveCall({
72
- target:this.protocol.DemandFn('destroy') as FnCallType,
73
- arguments: [Protocol.TXB_OBJECT(txb, this.object)],
66
+ this.txb.moveCall({
67
+ target:Protocol.Instance().DemandFn('destroy') as FnCallType,
68
+ arguments: [Protocol.TXB_OBJECT(this.txb, this.object)],
74
69
  typeArguments:[this.bounty_type]
75
70
  })
76
71
  }
77
72
 
78
73
  refund(passport?:PassportObject) {
79
- let txb = this.protocol.CurrentSession();
74
+ const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
80
75
  if (passport) {
81
- txb.moveCall({
82
- target:this.protocol.DemandFn('refund_with_passport') as FnCallType,
83
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object), txb.object(Protocol.CLOCK_OBJECT), Protocol.TXB_OBJECT(txb, this.permission)],
76
+ this.txb.moveCall({
77
+ target:Protocol.Instance().DemandFn('refund_with_passport') as FnCallType,
78
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object),
79
+ this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
84
80
  typeArguments:[this.bounty_type],
85
81
  })
86
82
  } else {
87
- txb.moveCall({
88
- target:this.protocol.DemandFn('refund') as FnCallType,
89
- arguments:[Protocol.TXB_OBJECT(txb, this.object), txb.object(Protocol.CLOCK_OBJECT), Protocol.TXB_OBJECT(txb, this.permission)],
83
+ this.txb.moveCall({
84
+ target:Protocol.Instance().DemandFn('refund') as FnCallType,
85
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
90
86
  typeArguments:[this.bounty_type],
91
87
  })
92
88
  }
@@ -97,22 +93,19 @@ export class Demand {
97
93
  if (!IsValidUintLarge(time)) {
98
94
  ERROR(Errors.IsValidUint, 'time');
99
95
  }
100
-
101
- let txb = this.protocol.CurrentSession();
96
+ const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
102
97
  if (passport) {
103
- txb.moveCall({
104
- target:this.protocol.DemandFn('time_expand_with_passport') as FnCallType,
105
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(minutes_duration, BCS.BOOL),
106
- txb.pure(time, BCS.U64),
107
- txb.object(Protocol.CLOCK_OBJECT), Protocol.TXB_OBJECT(txb, this.permission)],
98
+ this.txb.moveCall({
99
+ target:Protocol.Instance().DemandFn('time_expand_with_passport') as FnCallType,
100
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.bool(minutes_duration),
101
+ this.txb.pure.u64(time), this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
108
102
  typeArguments:[this.bounty_type],
109
103
  })
110
104
  } else {
111
- txb.moveCall({
112
- target:this.protocol.DemandFn('time_expand') as FnCallType,
113
- arguments:[Protocol.TXB_OBJECT(txb, this.object), txb.pure(minutes_duration, BCS.BOOL),
114
- txb.pure(time, BCS.U64),
115
- txb.object(Protocol.CLOCK_OBJECT), Protocol.TXB_OBJECT(txb, this.permission)],
105
+ this.txb.moveCall({
106
+ target:Protocol.Instance().DemandFn('time_expand') as FnCallType,
107
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.bool(minutes_duration),
108
+ this.txb.pure.u64(time), this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
116
109
  typeArguments:[this.bounty_type],
117
110
  })
118
111
  }
@@ -122,35 +115,34 @@ export class Demand {
122
115
  if (guard && !Protocol.IsValidObjects([guard])) {
123
116
  ERROR(Errors.IsValidObjects, 'guard');
124
117
  }
125
-
126
- let txb = this.protocol.CurrentSession();
118
+
127
119
  if (passport) {
128
120
  if (guard) {
129
- txb.moveCall({
130
- target:this.protocol.DemandFn('guard_set_with_passport') as FnCallType,
131
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, guard),
132
- Protocol.TXB_OBJECT(txb, this.permission)],
121
+ this.txb.moveCall({
122
+ target:Protocol.Instance().DemandFn('guard_set_with_passport') as FnCallType,
123
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, guard),
124
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
133
125
  typeArguments:[this.bounty_type],
134
126
  })
135
127
  } else {
136
- txb.moveCall({
137
- target:this.protocol.DemandFn('guard_none_with_passport') as FnCallType,
138
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, this.permission)],
128
+ this.txb.moveCall({
129
+ target:Protocol.Instance().DemandFn('guard_none_with_passport') as FnCallType,
130
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, this.permission)],
139
131
  typeArguments:[this.bounty_type],
140
132
  })
141
133
  }
142
134
  } else {
143
135
  if (guard) {
144
- txb.moveCall({
145
- target:this.protocol.DemandFn('guard_set') as FnCallType,
146
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, guard),
147
- Protocol.TXB_OBJECT(txb, this.permission)],
136
+ this.txb.moveCall({
137
+ target:Protocol.Instance().DemandFn('guard_set') as FnCallType,
138
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, guard),
139
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
148
140
  typeArguments:[this.bounty_type],
149
141
  })
150
142
  } else {
151
- txb.moveCall({
152
- target:this.protocol.DemandFn('guard_none') as FnCallType,
153
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, this.permission)],
143
+ this.txb.moveCall({
144
+ target:Protocol.Instance().DemandFn('guard_none') as FnCallType,
145
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, this.permission)],
154
146
  typeArguments:[this.bounty_type],
155
147
  })
156
148
  }
@@ -162,18 +154,17 @@ export class Demand {
162
154
  ERROR(Errors.IsValidDesription);
163
155
  }
164
156
 
165
- let txb = this.protocol.CurrentSession();
166
157
  if (passport) {
167
- txb.moveCall({
168
- target:this.protocol.DemandFn('description_set_with_passport') as FnCallType,
169
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object), txb.pure(description),
170
- Protocol.TXB_OBJECT(txb, this.permission)],
158
+ this.txb.moveCall({
159
+ target:Protocol.Instance().DemandFn('description_set_with_passport') as FnCallType,
160
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.string(description),
161
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
171
162
  typeArguments:[this.bounty_type],
172
163
  })
173
164
  } else {
174
- txb.moveCall({
175
- target:this.protocol.DemandFn('description_set') as FnCallType,
176
- arguments:[Protocol.TXB_OBJECT(txb, this.object), txb.pure(description), Protocol.TXB_OBJECT(txb, this.permission)],
165
+ this.txb.moveCall({
166
+ target:Protocol.Instance().DemandFn('description_set') as FnCallType,
167
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.string(description), Protocol.TXB_OBJECT(this.txb, this.permission)],
177
168
  typeArguments:[this.bounty_type],
178
169
  })
179
170
  }
@@ -184,21 +175,20 @@ export class Demand {
184
175
  ERROR(Errors.IsValidAddress)
185
176
  }
186
177
 
187
- let txb = this.protocol.CurrentSession();
188
178
  if (passport) {
189
- txb.moveCall({
190
- target:this.protocol.DemandFn('yes_with_passport') as FnCallType,
191
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object),
192
- txb.pure(service_address, BCS.ADDRESS),
193
- Protocol.TXB_OBJECT(txb, this.permission)],
179
+ this.txb.moveCall({
180
+ target:Protocol.Instance().DemandFn('yes_with_passport') as FnCallType,
181
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object),
182
+ this.txb.pure.address(service_address),
183
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
194
184
  typeArguments:[this.bounty_type],
195
185
  })
196
186
  } else {
197
- txb.moveCall({
198
- target:this.protocol.DemandFn('yes') as FnCallType,
199
- arguments:[Protocol.TXB_OBJECT(txb, this.object),
200
- txb.pure(service_address, BCS.ADDRESS),
201
- Protocol.TXB_OBJECT(txb, this.permission)],
187
+ this.txb.moveCall({
188
+ target:Protocol.Instance().DemandFn('yes') as FnCallType,
189
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object),
190
+ this.txb.pure.address(service_address),
191
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
202
192
  typeArguments:[this.bounty_type],
203
193
  })
204
194
  }
@@ -208,11 +198,10 @@ export class Demand {
208
198
  if (!Protocol.IsValidObjects([bounty])) {
209
199
  ERROR(Errors.IsValidObjects)
210
200
  }
211
-
212
- let txb = this.protocol.CurrentSession();
213
- txb.moveCall({
214
- target:this.protocol.DemandFn('deposit') as FnCallType,
215
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, bounty)],
201
+
202
+ this.txb.moveCall({
203
+ target:Protocol.Instance().DemandFn('deposit') as FnCallType,
204
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, bounty)],
216
205
  typeArguments:[this.bounty_type],
217
206
  })
218
207
  }
@@ -227,20 +216,19 @@ export class Demand {
227
216
  if (!IsValidArgType(service_pay_type)) {
228
217
  ERROR(Errors.IsValidArgType, 'service_pay_type')
229
218
  }
230
-
231
- let txb = this.protocol.CurrentSession();
219
+
232
220
  if (passport) {
233
- txb.moveCall({
234
- target:this.protocol.DemandFn('present_with_passport') as FnCallType,
235
- arguments:[passport, Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, service_address),
236
- txb.pure(tips)],
221
+ this.txb.moveCall({
222
+ target:Protocol.Instance().DemandFn('present_with_passport') as FnCallType,
223
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, service_address),
224
+ this.txb.pure.string(tips)],
237
225
  typeArguments:[this.bounty_type, service_pay_type],
238
226
  })
239
227
  } else {
240
- txb.moveCall({
241
- target:this.protocol.DemandFn('present') as FnCallType,
242
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, service_address),
243
- txb.pure(tips)],
228
+ this.txb.moveCall({
229
+ target:Protocol.Instance().DemandFn('present') as FnCallType,
230
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, service_address),
231
+ this.txb.pure.string(tips)],
244
232
  typeArguments:[this.bounty_type, service_pay_type],
245
233
  })
246
234
  }
@@ -250,10 +238,9 @@ export class Demand {
250
238
  ERROR(Errors.IsValidObjects)
251
239
  }
252
240
 
253
- let txb = this.protocol.CurrentSession();
254
- txb.moveCall({
255
- target:this.protocol.DemandFn('permission_set') as FnCallType,
256
- arguments: [Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, this.permission), Protocol.TXB_OBJECT(txb, new_permission)],
241
+ this.txb.moveCall({
242
+ target:Protocol.Instance().DemandFn('permission_set') as FnCallType,
243
+ arguments: [Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, this.permission), Protocol.TXB_OBJECT(this.txb, new_permission)],
257
244
  typeArguments:[this.bounty_type]
258
245
  })
259
246
  this.permission = new_permission
package/src/entity.ts CHANGED
@@ -3,6 +3,7 @@ import { Protocol, FnCallType, TxbObject, ResourceAddress, PermissionObject, Res
3
3
  import { IsValidDesription, IsValidAddress, IsValidName, isValidHttpUrl, Bcs, } from './utils';
4
4
  import { ERROR, Errors } from './exception';
5
5
  import { Resource } from './resource';
6
+ import { type TransactionResult, Transaction as TransactionBlock } from '@mysten/sui/transactions';
6
7
 
7
8
  export interface Entity_Info {
8
9
  name: string;
@@ -16,27 +17,27 @@ export interface Entity_Info {
16
17
  export class Entity {
17
18
 
18
19
  protected object:TxbObject;
19
- protected protocol;
20
+ protected txb;
20
21
 
21
22
  get_object() { return this.object }
22
- private constructor(protocol:Protocol) {
23
- this.protocol = protocol;
23
+ private constructor(txb:TransactionBlock) {
24
+ this.txb = txb;
24
25
  this.object = '';
25
26
  }
26
27
 
27
- static From(protocol:Protocol) : Entity {
28
- let r = new Entity(protocol);
29
- r.object = Protocol.TXB_OBJECT(protocol.CurrentSession(), protocol.EntityObject());
28
+ static From(txb:TransactionBlock) : Entity {
29
+ let r = new Entity(txb);
30
+ r.object = Protocol.TXB_OBJECT(txb, Protocol.Instance().EntityObject());
30
31
  return r
31
32
  }
32
33
 
33
34
  mark(resource:Resource, address:string, like:'like' | 'dislike') {
34
35
  if (!IsValidAddress(address)) ERROR(Errors.IsValidAddress, like);
35
36
 
36
- let txb = this.protocol.CurrentSession();
37
- txb.moveCall({
38
- target:this.protocol.EntityFn(like) as FnCallType,
39
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, resource.get_object()), txb.pure(address, BCS.ADDRESS)]
37
+ this.txb.moveCall({
38
+ target:Protocol.Instance().EntityFn(like) as FnCallType,
39
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, resource.get_object()),
40
+ this.txb.pure.address(address)]
40
41
  })
41
42
  }
42
43
 
@@ -48,7 +49,6 @@ export class Entity {
48
49
  if (info?.homepage && !isValidHttpUrl(info.homepage)) ERROR(Errors.isValidHttpUrl, 'update:homepage');
49
50
  if (info?.discord && !IsValidName(info.discord)) ERROR(Errors.IsValidName, 'update:discord');
50
51
 
51
- const txb = this.protocol.CurrentSession();
52
52
  const bytes = Bcs.getInstance().bcs.ser('PersonalInfo', {
53
53
  name:info.name ? new TextEncoder().encode(info.name) :'',
54
54
  description : info?.description ? new TextEncoder().encode(info.description) : '',
@@ -57,42 +57,43 @@ export class Entity {
57
57
  discord : info?.discord ?? '',
58
58
  homepage : info?.homepage ?? '',
59
59
  }).toBytes();
60
- txb.moveCall({
61
- target:this.protocol.EntityFn('avatar_update') as FnCallType,
62
- arguments:[Protocol.TXB_OBJECT(txb, this.object), txb.pure([].slice.call(bytes), 'vector<u8>')]
60
+ this.txb.moveCall({
61
+ target:Protocol.Instance().EntityFn('avatar_update') as FnCallType,
62
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.vector('u8', [].slice.call(bytes))]
63
63
  })
64
64
  }
65
65
 
66
66
  create_resource() : ResourceAddress {
67
- let txb = this.protocol.CurrentSession();
68
- return txb.moveCall({
69
- target:this.protocol.EntityFn('resource_create') as FnCallType,
70
- arguments:[Protocol.TXB_OBJECT(txb, this.object)]
67
+
68
+ return this.txb.moveCall({
69
+ target:Protocol.Instance().EntityFn('resource_create') as FnCallType,
70
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object)]
71
71
  })
72
72
  }
73
73
 
74
74
  create_resource2(): ResourceObject {
75
- let txb = this.protocol.CurrentSession();
76
- return txb.moveCall({
77
- target:this.protocol.EntityFn('resource_create2') as FnCallType,
78
- arguments:[Protocol.TXB_OBJECT(txb, this.object)]
75
+
76
+ return this.txb.moveCall({
77
+ target:Protocol.Instance().EntityFn('resource_create2') as FnCallType,
78
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object)]
79
79
  })
80
80
  }
81
81
 
82
82
  destroy_resource(resource:Resource) {
83
- let txb = this.protocol.CurrentSession();
84
- return txb.moveCall({
85
- target:this.protocol.EntityFn('resource_destroy') as FnCallType,
86
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, resource.get_object())]
83
+
84
+ return this.txb.moveCall({
85
+ target:Protocol.Instance().EntityFn('resource_destroy') as FnCallType,
86
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, resource.get_object())]
87
87
  })
88
88
  }
89
89
 
90
90
  transfer_resource(resource:Resource, new_address:string) {
91
91
  if (!IsValidAddress(new_address)) ERROR(Errors.IsValidAddress, 'transfer_resource');
92
- let txb = this.protocol.CurrentSession();
93
- return txb.moveCall({
94
- target:this.protocol.EntityFn('resource_transfer') as FnCallType,
95
- arguments:[Protocol.TXB_OBJECT(txb, this.object), Protocol.TXB_OBJECT(txb, resource.get_object()), txb.pure(new_address, BCS.ADDRESS)]
92
+
93
+ return this.txb.moveCall({
94
+ target:Protocol.Instance().EntityFn('resource_transfer') as FnCallType,
95
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, resource.get_object()),
96
+ this.txb.pure.address(new_address)]
96
97
  })
97
98
  }
98
99
 
@@ -101,10 +102,9 @@ export class Entity {
101
102
  ERROR(Errors.InvalidParam, 'query_ent');
102
103
  }
103
104
 
104
- const txb = this.protocol.CurrentSession();
105
- txb.moveCall({
106
- target:this.protocol.EntityFn('QueryEnt') as FnCallType,
107
- arguments:[Protocol.TXB_OBJECT(txb, this.object), txb.pure(address_queried, BCS.ADDRESS)]
105
+ this.txb.moveCall({
106
+ target:Protocol.Instance().EntityFn('QueryEnt') as FnCallType,
107
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.address(address_queried)]
108
108
  })
109
109
  }
110
110
  }
package/src/guard.ts CHANGED
@@ -4,6 +4,7 @@ import { Protocol, LogicsInfo, GuardAddress, FnCallType, Data_Type, MODULES, Con
4
4
  import { concatenate, array_equal } from './utils';
5
5
  import { IsValidDesription, Bcs, IsValidInt, IsValidAddress, FirstLetterUppercase } from './utils';
6
6
  import { ERROR, Errors } from './exception';
7
+ import { Transaction as TransactionBlock } from '@mysten/sui/transactions';
7
8
 
8
9
  export type GuardConstant = Map<number, Guard_Vriable>;
9
10
 
@@ -22,7 +23,7 @@ export interface Guard_Options {
22
23
 
23
24
  export class Guard {
24
25
  static MAX_INPUT_LENGTH = 2048;
25
- static launch(protocol:Protocol, description:string, maker:GuardMaker) : GuardAddress {
26
+ static launch(txb:TransactionBlock, description:string, maker:GuardMaker) : GuardAddress {
26
27
  if (!maker.IsReady()) {
27
28
  ERROR(Errors.InvalidParam, 'launch maker');
28
29
  }
@@ -45,13 +46,12 @@ export class Guard {
45
46
  ERROR(Errors.InvalidParam, 'launch constants')
46
47
  }
47
48
 
48
- let txb = protocol.CurrentSession();
49
49
  let input = new Uint8Array(bcs_input); // copy new uint8array to reserve!
50
50
 
51
51
  // reserve the bytes for guard
52
52
  let guard = txb.moveCall({
53
- target: protocol.GuardFn('new') as FnCallType,
54
- arguments: [txb.pure(description), txb.pure([].slice.call(input.reverse()))],
53
+ target: Protocol.Instance().GuardFn('new') as FnCallType,
54
+ arguments: [txb.pure.string(description), txb.pure.vector('u8', [].slice.call(input.reverse()))],
55
55
  });
56
56
 
57
57
  constants?.forEach((v, k) => {
@@ -61,8 +61,8 @@ export class Guard {
61
61
  }
62
62
 
63
63
  txb.moveCall({
64
- target:protocol.GuardFn("constant_add") as FnCallType,
65
- arguments:[guard, txb.pure(k, BCS.U8), txb.pure(v.type, BCS.U8), txb.pure([].slice.call(v.witness)), txb.pure(true, BCS.BOOL)]
64
+ target:Protocol.Instance().GuardFn("constant_add") as FnCallType,
65
+ arguments:[guard, txb.pure.u8(k), txb.pure.u8(v.type), txb.pure.vector('u8', [].slice.call(v.witness)), txb.pure.bool(true)]
66
66
  })
67
67
  } else {
68
68
  if (!v.value) {
@@ -70,28 +70,28 @@ export class Guard {
70
70
  }
71
71
 
72
72
  txb.moveCall({
73
- target:protocol.GuardFn("constant_add") as FnCallType,
74
- arguments:[guard, txb.pure(k, BCS.U8), txb.pure(v.type, BCS.U8), txb.pure([].slice.call(v.value)), txb.pure(true, BCS.BOOL)]
73
+ target:Protocol.Instance().GuardFn("constant_add") as FnCallType,
74
+ arguments:[guard, txb.pure.u8(k), txb.pure.u8(v.type), txb.pure.vector('u8', [].slice.call(v.value)), txb.pure.bool(true)]
75
75
  })
76
76
  }
77
77
  });
78
78
 
79
79
  return txb.moveCall({
80
- target:protocol.GuardFn("create") as FnCallType,
80
+ target:Protocol.Instance().GuardFn("create") as FnCallType,
81
81
  arguments:[guard]
82
82
  });
83
83
  }
84
84
 
85
- static signer_guard(protocol: Protocol) : GuardAddress {
86
- return protocol.CurrentSession().moveCall({
87
- target: protocol.GuardFn('signer_guard') as FnCallType,
85
+ static signer_guard(txb: TransactionBlock) : GuardAddress {
86
+ return txb.moveCall({
87
+ target: Protocol.Instance().GuardFn('signer_guard') as FnCallType,
88
88
  arguments: []
89
89
  });
90
90
  }
91
91
 
92
- static everyone_guard(protocol:Protocol) : GuardAddress {
93
- return protocol.CurrentSession().moveCall({
94
- target: protocol.GuardFn('everyone_guard') as FnCallType,
92
+ static everyone_guard(txb:TransactionBlock) : GuardAddress {
93
+ return txb.moveCall({
94
+ target: Protocol.Instance().GuardFn('everyone_guard') as FnCallType,
95
95
  arguments: []
96
96
  });
97
97
  }