wowok 1.5.38 → 1.5.40

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.5.38",
3
+ "version": "1.5.40",
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",
@@ -1,7 +1,7 @@
1
1
  import { IsValidArray, array_unique, IsValidTokenType, IsValidDesription, parseObjectType,
2
2
  IsValidAddress, IsValidEndpoint, IsValidU64, IsValidName, } from './utils'
3
3
  import { FnCallType, GuardObject, PassportObject, PermissionObject, CoinObject, Protocol,
4
- TxbObject, ArbitrationAddress, OrderObject, ArbObject} from './protocol';
4
+ TxbObject, ArbitrationAddress, OrderObject, ArbObject, PaymentAddress, TreasuryObject} from './protocol';
5
5
  import { ERROR, Errors } from './exception';
6
6
  import { Transaction as TransactionBlock, } from '@mysten/sui/transactions';
7
7
 
@@ -30,6 +30,14 @@ export interface Dispute {
30
30
  fee?: CoinObject,
31
31
  }
32
32
 
33
+ export interface WithdrawFee {
34
+ treasury: TreasuryObject,
35
+ index: bigint,
36
+ remark: string,
37
+ for_object?: string,
38
+ for_guard?: GuardObject,
39
+ }
40
+
33
41
  export class Arbitration {
34
42
  protected pay_token_type;
35
43
  protected permission;
@@ -52,8 +60,8 @@ export class Arbitration {
52
60
  return s
53
61
  }
54
62
  static New(txb: TransactionBlock, token_type:string, permission:PermissionObject, description:string,
55
- fee:bigint, passport?:PassportObject) : Arbitration {
56
- if (!Protocol.IsValidObjects([permission])) {
63
+ fee:bigint, withdrawTreasury:TreasuryObject, passport?:PassportObject) : Arbitration {
64
+ if (!Protocol.IsValidObjects([permission, withdrawTreasury])) {
57
65
  ERROR(Errors.IsValidObjects)
58
66
  }
59
67
  if (!IsValidTokenType(token_type)) {
@@ -72,13 +80,13 @@ export class Arbitration {
72
80
  if (passport) {
73
81
  obj.object = txb.moveCall({
74
82
  target:Protocol.Instance().ArbitrationFn('new_with_passport') as FnCallType,
75
- arguments:[passport, txb.pure.string(description), txb.pure.u64(fee), Protocol.TXB_OBJECT(txb, permission)],
83
+ arguments:[passport, txb.pure.string(description), txb.pure.u64(fee), txb.object(withdrawTreasury), Protocol.TXB_OBJECT(txb, permission)],
76
84
  typeArguments:[pay_token_type],
77
85
  })
78
86
  } else {
79
87
  obj.object = txb.moveCall({
80
88
  target:Protocol.Instance().ArbitrationFn('new') as FnCallType,
81
- arguments:[txb.pure.string(description), txb.pure.u64(fee), Protocol.TXB_OBJECT(txb, permission)],
89
+ arguments:[txb.pure.string(description), txb.pure.u64(fee), txb.object(withdrawTreasury), Protocol.TXB_OBJECT(txb, permission)],
82
90
  typeArguments:[pay_token_type],
83
91
  })
84
92
  }
@@ -353,22 +361,78 @@ export class Arbitration {
353
361
  }
354
362
  }
355
363
 
356
- withdraw_fee(arb:ArbObject, passport?:PassportObject) {
357
- if (!Protocol.IsValidObjects([arb])) {
358
- ERROR(Errors.IsValidObjects, 'withdraw_fee.arb')
364
+ withdraw_fee(arb:ArbObject, param:WithdrawFee, passport?:PassportObject) : PaymentAddress {
365
+ if (!Protocol.IsValidObjects([arb, param.treasury])) {
366
+ ERROR(Errors.IsValidObjects, 'withdraw_fee.arb or treasury')
367
+ }
368
+ if (param?.for_guard && !Protocol.IsValidObjects([param.for_guard])) {
369
+ ERROR(Errors.IsValidObjects, 'withdraw_fee.param.for_guard')
370
+ }
371
+ if (param?.for_object && !IsValidAddress(param.for_object)) {
372
+ ERROR(Errors.IsValidAddress, 'withdraw_fee.param.for_object')
373
+ }
374
+ if (!IsValidDesription(param.remark)) {
375
+ ERROR(Errors.IsValidDesription, 'withdraw_fee.param.remark')
376
+ }
377
+ if (!IsValidU64(param.index)) {
378
+ ERROR(Errors.IsValidU64, 'withdraw_fee.param.index')
379
+ }
380
+ const for_obj = this.txb.pure.option('address', param.for_object ? param.for_object : undefined);
381
+ const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
382
+
383
+ if (passport) {
384
+ if (param.for_guard) {
385
+ return this.txb.moveCall({
386
+ target:Protocol.Instance().ArbitrationFn('withdraw_forGuard_with_passport') as FnCallType,
387
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(arb), this.txb.object(param.treasury),
388
+ for_obj, this.txb.object(param.for_guard), this.txb.pure.u64(param.index), this.txb.pure.string(param.remark), this.txb.object(clock),
389
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
390
+ typeArguments:[this.pay_token_type]
391
+ })
392
+ } else {
393
+ return this.txb.moveCall({
394
+ target:Protocol.Instance().ArbitrationFn('withdraw_with_passport') as FnCallType,
395
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(arb), this.txb.object(param.treasury),
396
+ for_obj, this.txb.pure.u64(param.index), this.txb.pure.string(param.remark), this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
397
+ typeArguments:[this.pay_token_type]
398
+ })
399
+ }
400
+ } else {
401
+ if (param.for_guard) {
402
+ return this.txb.moveCall({
403
+ target:Protocol.Instance().ArbitrationFn('withdraw_forGuard') as FnCallType,
404
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(arb), this.txb.object(param.treasury),
405
+ for_obj, this.txb.object(param.for_guard), this.txb.pure.u64(param.index), this.txb.pure.string(param.remark), this.txb.object(clock),
406
+ Protocol.TXB_OBJECT(this.txb, this.permission)],
407
+ typeArguments:[this.pay_token_type]
408
+ })
409
+ } else {
410
+ return this.txb.moveCall({
411
+ target:Protocol.Instance().ArbitrationFn('withdraw') as FnCallType,
412
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(arb), this.txb.object(param.treasury),
413
+ for_obj, this.txb.pure.u64(param.index), this.txb.pure.string(param.remark), this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
414
+ typeArguments:[this.pay_token_type]
415
+ })
416
+ }
417
+ }
418
+ }
419
+
420
+ set_withdrawTreasury(treasury:TreasuryObject, passport?:PassportObject) {
421
+ if (!Protocol.IsValidObjects([treasury])) {
422
+ ERROR(Errors.IsValidObjects, 'set_withdrawTreasury.treasury')
359
423
  }
360
424
  if (passport) {
361
425
  this.txb.moveCall({
362
- target:Protocol.Instance().ArbitrationFn('withdraw_with_passport') as FnCallType,
426
+ target:Protocol.Instance().ArbitrationFn('withdraw_treasury_set_with_passport') as FnCallType,
363
427
  arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object),
364
- this.txb.object(arb), Protocol.TXB_OBJECT(this.txb, this.permission)],
428
+ this.txb.object(treasury), Protocol.TXB_OBJECT(this.txb, this.permission)],
365
429
  typeArguments:[this.pay_token_type]
366
430
  })
367
431
  } else {
368
432
  this.txb.moveCall({
369
- target:Protocol.Instance().ArbitrationFn('withdraw') as FnCallType,
433
+ target:Protocol.Instance().ArbitrationFn('withdraw_treasury_set') as FnCallType,
370
434
  arguments:[Protocol.TXB_OBJECT(this.txb, this.object),
371
- this.txb.object(arb), Protocol.TXB_OBJECT(this.txb, this.permission)],
435
+ this.txb.object(treasury), Protocol.TXB_OBJECT(this.txb, this.permission)],
372
436
  typeArguments:[this.pay_token_type]
373
437
  })
374
438
  }
@@ -443,6 +507,10 @@ export class Arbitration {
443
507
  static parseArbObjectType = (chain_type:string | undefined | null) : string => {
444
508
  return parseObjectType(chain_type, 'arb::Arb<')
445
509
  }
510
+
511
+ static queryArbVoted = () => {
512
+
513
+ }
446
514
  static MAX_PROPOSITION_COUNT = 16;
447
515
  static MAX_VOTING_GUARD_COUNT = 16;
448
516
  }
package/src/guard.ts CHANGED
@@ -340,6 +340,7 @@ export class Guard {
340
340
  [MODULES.arbitration, 'Number of Voting Guard', 1507, [], ValueType.TYPE_U64, 'Number of voting guards.', []],
341
341
  [MODULES.arbitration, 'Has Voting Guard', 1508, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Has the voting Guard added?', ['guard address']],
342
342
  [MODULES.arbitration, 'Voting Weight', 1509, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Voting weight of the voting Guard.', ['guard address']],
343
+ [MODULES.arbitration, 'Treasury', 1510, [], ValueType.TYPE_ADDRESS, 'The address of the Treasury where fees was collected at the time of withdrawal.', []],
343
344
 
344
345
  [MODULES.arb, 'Order', 1600, [], ValueType.TYPE_ADDRESS, 'Order under arbitration.', []],
345
346
  [MODULES.arb, 'Arbitration', 1601, [], ValueType.TYPE_ADDRESS, "Arbitration object address.", []],
package/src/payment.ts CHANGED
@@ -50,7 +50,7 @@ export function create_payment(txb:TransactionBlock, pay_token_type:string, para
50
50
  })
51
51
  } else {
52
52
  return txb.moveCall({
53
- target:Protocol.Instance().PaymentFn('new') as FnCallType,
53
+ target:Protocol.Instance().PaymentFn('create') as FnCallType,
54
54
  arguments:[txb.pure.vector('address', param.receiver.map((i)=>i.address)), txb.makeMoveVec({elements:param.receiver.map((i)=>i.coin)}),
55
55
  obj, txb.pure.u64(param.business_index), txb.pure.string(param.business_remark), txb.object(clock)],
56
56
  typeArguments:[pay_token_type],
package/src/permission.ts CHANGED
@@ -98,6 +98,7 @@ export enum PermissionIndex {
98
98
  arbitration_vote = 807,
99
99
  arbitration_arbitration = 808,
100
100
  arbitration_withdraw = 809,
101
+ arbitration_treasury = 810,
101
102
 
102
103
  user_defined_start = 1000,
103
104
  }
@@ -217,6 +218,7 @@ export const PermissionInfo : PermissionInfoType[] = [
217
218
  {index:PermissionIndex.arbitration_voting_guard, name: 'Voting Guard', description:'Add/Remove voting Guard', module: 'arbitration'},
218
219
  {index:PermissionIndex.arbitration_vote, name: 'Vote', description:'Vote on the application for arbitration', module: 'arbitration'},
219
220
  {index:PermissionIndex.arbitration_withdraw, name: 'Withdraw', description:'Withdraw the arbitration fee', module: 'arbitration'},
221
+ {index:PermissionIndex.arbitration_treasury, name: 'Withdraw', description:'Set Treasury that fees was collected at the time of withdrawal', module: 'arbitration'},
220
222
  ]
221
223
 
222
224
  export type PermissionIndexType = PermissionIndex | number;
package/src/protocol.ts CHANGED
@@ -220,13 +220,13 @@ const TESTNET = {
220
220
  }
221
221
  */
222
222
  const TESTNET = {
223
- wowok: "0x10a543f1d692c9813d3dfebea75d9ead46a1927c4fbb2d6e646f1aaa3b9ee6bb",
224
- wowok_origin:'0x10a543f1d692c9813d3dfebea75d9ead46a1927c4fbb2d6e646f1aaa3b9ee6bb' ,
223
+ wowok: "0xfa33358cf5f883038d124855567972241cd7036381fbc150a2208ab0e5939621",
224
+ wowok_origin:'0xfa33358cf5f883038d124855567972241cd7036381fbc150a2208ab0e5939621' ,
225
225
  base: '0x7efcdab72af2351e5915e34ad2ac8d4ea7f4f408e08138d3498af35a362db782',
226
226
  base_origin: '0x7efcdab72af2351e5915e34ad2ac8d4ea7f4f408e08138d3498af35a362db782',
227
227
 
228
- wowok_object: '0x08c8a98236e0f1dd233722391a8178336ea5615498fe2b459daa11e8d4a01367',
229
- entity_object: '0x5fc1554d71c5f2fe3a3101200dd19a0e51869ddd6379fd7e8f8ef72339cfd021',
228
+ wowok_object: '0x459ed2fd2ad4aac9fd417d50584fae607ee557508dcb9b9f55722e0d18ed81ab',
229
+ entity_object: '0xfeb95d277598ebb8a358bfda3c62a32d7622de9af7ec3219e67c5749e020f12b',
230
230
  treasury_cap:'0x538cf8f32d59f58c0450a3a97c1eeed3096f4ce63e07e0bdf343a5cc1464887c',
231
231
  }
232
232
  const MAINNET = {
package/src/service.ts CHANGED
@@ -3,7 +3,8 @@ import { IsValidArray, IsValidPercent, IsValidName_AllowEmpty, parseObjectType,
3
3
  import { FnCallType, GuardObject, PassportObject, PermissionObject, RepositoryObject, MachineObject, ServiceAddress,
4
4
  ServiceObject, DiscountObject, OrderObject, OrderAddress, CoinObject, Protocol, ValueType,
5
5
  TxbObject,
6
- TreasuryObject} from './protocol';
6
+ TreasuryObject,
7
+ PaymentAddress} from './protocol';
7
8
  import { ERROR, Errors } from './exception';
8
9
  import { Transaction as TransactionBlock, } from '@mysten/sui/transactions';
9
10
  import { SuiObjectData } from '@mysten/sui/client';
@@ -57,6 +58,14 @@ export type DicountDispatch = {
57
58
  count: bigint;
58
59
  discount: Service_Discount;
59
60
  }
61
+ export interface WithdrawPayee {
62
+ withdraw_guard: GuardObject;
63
+ treasury: TreasuryObject,
64
+ index: bigint,
65
+ remark: string,
66
+ for_object?: string,
67
+ for_guard?: GuardObject,
68
+ }
60
69
 
61
70
  export type handleDiscountObject = (owner:string, objects:(SuiObjectData|null|undefined)[]) => void;
62
71
  export class Service {
@@ -81,8 +90,8 @@ export class Service {
81
90
  return s
82
91
  }
83
92
  static New(txb: TransactionBlock, token_type:string, permission:PermissionObject, description:string,
84
- payee_address:string, passport?:PassportObject) : Service {
85
- if (!Protocol.IsValidObjects([permission])) {
93
+ payee_treasury:TreasuryObject, passport?:PassportObject) : Service {
94
+ if (!Protocol.IsValidObjects([permission, payee_treasury])) {
86
95
  ERROR(Errors.IsValidObjects)
87
96
  }
88
97
  if (!IsValidTokenType(token_type)) {
@@ -91,9 +100,6 @@ export class Service {
91
100
  if (!IsValidDesription(description)) {
92
101
  ERROR(Errors.IsValidDesription)
93
102
  }
94
- if (!IsValidAddress(payee_address)) {
95
- ERROR(Errors.IsValidAddress, 'payee_address')
96
- }
97
103
 
98
104
  let pay_token_type = token_type;
99
105
  let s = new Service(txb, pay_token_type, permission);
@@ -102,13 +108,13 @@ export class Service {
102
108
  if (passport) {
103
109
  s.object = txb.moveCall({
104
110
  target:Protocol.Instance().ServiceFn('new_with_passport') as FnCallType,
105
- arguments:[passport, txb.pure.string(description), txb.pure.address(payee_address), Protocol.TXB_OBJECT(txb, permission)],
111
+ arguments:[passport, txb.pure.string(description), txb.object(payee_treasury), Protocol.TXB_OBJECT(txb, permission)],
106
112
  typeArguments:[pay_token_type],
107
113
  })
108
114
  } else {
109
115
  s.object = txb.moveCall({
110
116
  target:Protocol.Instance().ServiceFn('new') as FnCallType,
111
- arguments:[txb.pure.string(description), txb.pure.address(payee_address), Protocol.TXB_OBJECT(txb, permission)],
117
+ arguments:[txb.pure.string(description), txb.object(payee_treasury), Protocol.TXB_OBJECT(txb, permission)],
112
118
  typeArguments:[pay_token_type],
113
119
  })
114
120
  }
@@ -281,21 +287,21 @@ export class Service {
281
287
  }
282
288
  }
283
289
 
284
- set_payee(payee:string, passport?:PassportObject) {
285
- if (!IsValidAddress(payee)) {
286
- ERROR(Errors.IsValidAddress, 'payee');
290
+ set_payee(payee:TreasuryObject, passport?:PassportObject) {
291
+ if (!Protocol.IsValidObjects([payee])) {
292
+ ERROR(Errors.IsValidObjects, 'set_payee');
287
293
  }
288
294
 
289
295
  if (passport) {
290
296
  this.txb.moveCall({
291
297
  target:Protocol.Instance().ServiceFn('payee_set_with_passport') as FnCallType,
292
- arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.address(payee), Protocol.TXB_OBJECT(this.txb, this.permission)],
298
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(payee), Protocol.TXB_OBJECT(this.txb, this.permission)],
293
299
  typeArguments:[this.pay_token_type]
294
300
  })
295
301
  } else {
296
302
  this.txb.moveCall({
297
303
  target:Protocol.Instance().ServiceFn('payee_set') as FnCallType,
298
- arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.address(payee), Protocol.TXB_OBJECT(this.txb, this.permission)],
304
+ arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.object(payee), Protocol.TXB_OBJECT(this.txb, this.permission)],
299
305
  typeArguments:[this.pay_token_type]
300
306
  })
301
307
  }
@@ -622,30 +628,44 @@ export class Service {
622
628
  }
623
629
 
624
630
  // support both withdraw guard and permission guard
625
- withdraw(order:OrderObject, withdraw_guard?:string, passport?:PassportObject) {
626
- if (!Protocol.IsValidObjects([order])) {
627
- ERROR(Errors.IsValidObjects, 'withdraw.order')
631
+ // withdraw_guard & passport must BOTH valid.
632
+ withdraw(order:OrderObject, param:WithdrawPayee, passport:PassportObject) : PaymentAddress {
633
+ if (!Protocol.IsValidObjects([order, param.treasury, param.withdraw_guard, passport])) {
634
+ ERROR(Errors.IsValidObjects,)
628
635
  }
629
- if (withdraw_guard && !IsValidAddress(withdraw_guard)) {
630
- ERROR(Errors.IsValidAddress, 'withdraw.withdraw_guard')
636
+ if (param?.for_guard && !Protocol.IsValidObjects([param.for_guard])) {
637
+ ERROR(Errors.IsValidObjects, 'withdraw.param.for_guard')
631
638
  }
632
- if (passport && !withdraw_guard) {
633
- ERROR(Errors.InvalidParam, 'withdraw.passport need withdraw_guard')
639
+ if (param?.for_object && !IsValidAddress(param.for_object)) {
640
+ ERROR(Errors.IsValidAddress, 'withdraw.param.for_object')
634
641
  }
635
- if (passport && withdraw_guard) {
636
- this.txb.moveCall({
637
- target:Protocol.Instance().ServiceFn('withdraw_with_passport') as FnCallType,
638
- arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, order),
639
- this.txb.object(withdraw_guard), Protocol.TXB_OBJECT(this.txb, this.permission)],
642
+ if (!IsValidU64(param.index)) {
643
+ ERROR(Errors.IsValidU64, 'withdraw.param.index')
644
+ }
645
+ if (!IsValidDesription(param.remark)) {
646
+ ERROR(Errors.IsValidDesription, 'withdraw.param.remark')
647
+ }
648
+
649
+ const for_obj = this.txb.pure.option('address', param.for_object ? param.for_object : undefined);
650
+ const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
651
+
652
+ if (param.for_guard) {
653
+ return this.txb.moveCall({
654
+ target:Protocol.Instance().ServiceFn('withdraw_forGuard_with_passport') as FnCallType,
655
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, order), this.txb.object(param.withdraw_guard),
656
+ this.txb.object(param.treasury), for_obj, this.txb.object(param.for_guard), this.txb.pure.u64(param.index), this.txb.pure.string(param.remark),
657
+ this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
640
658
  typeArguments:[this.pay_token_type]
641
- })
659
+ })
642
660
  } else {
643
- this.txb.moveCall({
644
- target:Protocol.Instance().ServiceFn('withdraw') as FnCallType,
645
- arguments:[Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, order), Protocol.TXB_OBJECT(this.txb, this.permission)],
661
+ return this.txb.moveCall({
662
+ target:Protocol.Instance().ServiceFn('withdraw_with_passport') as FnCallType,
663
+ arguments:[passport, Protocol.TXB_OBJECT(this.txb, this.object), Protocol.TXB_OBJECT(this.txb, order), this.txb.object(param.withdraw_guard),
664
+ this.txb.object(param.treasury), for_obj, this.txb.pure.u64(param.index), this.txb.pure.string(param.remark),
665
+ this.txb.object(clock), Protocol.TXB_OBJECT(this.txb, this.permission)],
646
666
  typeArguments:[this.pay_token_type]
647
- })
648
- }
667
+ })
668
+ }
649
669
  }
650
670
 
651
671
  set_buy_guard(guard?:GuardObject, passport?:PassportObject) {
package/src/treasury.ts CHANGED
@@ -154,7 +154,7 @@ export class Treasury {
154
154
  ERROR(Errors.InvalidParam, 'deposit.param.index')
155
155
  }
156
156
 
157
- const for_obj = this.txb.pure.option('address', param.for_object ?? undefined);
157
+ const for_obj = this.txb.pure.option('address', param.for_object ? param.for_object: undefined);
158
158
  const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
159
159
  if (passport) {
160
160
  if (param.for_guard) {
@@ -240,7 +240,7 @@ export class Treasury {
240
240
  ERROR(Errors.IsValidAddress, 'withdraw.param.withdraw_guard')
241
241
  }
242
242
 
243
- const for_obj = this.txb.pure.option('address', param.for_object ?? undefined);
243
+ const for_obj = this.txb.pure.option('address', param.for_object ? param.for_object : undefined);
244
244
  const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
245
245
 
246
246
  if (param.withdraw_guard && passport) { //@ dont need passport, use withdraw guard!
@@ -290,7 +290,6 @@ export class Treasury {
290
290
  typeArguments:[this.token_type],
291
291
  })
292
292
  } else {
293
- console.log(param)
294
293
  return this.txb.moveCall({
295
294
  target:Protocol.Instance().TreasuryFn('withdraw') as FnCallType,
296
295
  arguments:[Protocol.TXB_OBJECT(this.txb, this.object), this.txb.pure.vector('address', param.items.map(v=>v.address)),