wowok 1.4.32 → 1.4.35

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.4.32",
3
+ "version": "1.4.35",
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/guard.ts CHANGED
@@ -298,14 +298,29 @@ export class Guard {
298
298
  [MODULES.treasury, 'Number of Flow Records', 1402, [], ValueType.TYPE_U64, 'Number of treasury transactions.', []],
299
299
  [MODULES.treasury, 'Inflow Amount', 1403, [], ValueType.TYPE_U128, 'Treasury inflow amount.', []],
300
300
  [MODULES.treasury, 'Outflow Amount', 1404, [], ValueType.TYPE_U128, 'Treasury outflow amount.', []],
301
- [MODULES.treasury, 'Has Payment', 1405, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Is there a payment in the Treasury flows?', ['payment address']],
302
- [MODULES.treasury, 'Has Deposit Guard', 1406, [], ValueType.TYPE_BOOL, 'Whether the deposit Guard set?', []],
303
- [MODULES.treasury, 'Deposit Guard', 1407, [], ValueType.TYPE_ADDRESS, 'Deposit Guard address.', []],
304
- [MODULES.treasury, 'Number of Withdraw Guards', 1408, [], ValueType.TYPE_U64, 'Number of withdraw guards.', []],
305
- [MODULES.treasury, 'Has Withdraw Guard', 1409, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Has a Withdraw Guard added?', ['guard address']],
306
- [MODULES.treasury, 'Withdrawal Amount with Guard', 1410, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'withdrawal amount corresponding the Guard.', ['guard address']],
307
- [MODULES.treasury, 'Has Payment with operation', 1411, [ValueType.TYPE_ADDRESS, ValueType.TYPE_U8], ValueType.TYPE_BOOL, 'Is there a payment with the operation in the Treasury flows?', ['payment address', 'operation']],
308
- [MODULES.treasury, 'Withdraw Mode', 1412, [], ValueType.TYPE_U8, 'Treasury withdrawal mode', []],
301
+ [MODULES.treasury, 'Has Deposit Guard', 1405, [], ValueType.TYPE_BOOL, 'Whether the deposit Guard set?', []],
302
+ [MODULES.treasury, 'Deposit Guard', 1406, [], ValueType.TYPE_ADDRESS, 'Deposit Guard address.', []],
303
+ [MODULES.treasury, 'Number of Withdraw Guards', 1407, [], ValueType.TYPE_U64, 'Number of withdraw guards.', []],
304
+ [MODULES.treasury, 'Has Withdraw Guard', 1408, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Has a Withdraw Guard added?', ['guard address']],
305
+ [MODULES.treasury, 'Withdrawal Amount with Guard', 1409, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'withdrawal amount corresponding the Guard.', ['guard address']],
306
+ [MODULES.treasury, 'Recent Time with Operation', 1410, [ValueType.TYPE_U8], ValueType.TYPE_U64, 'Time of the most recent fund operation.', ['operation']],
307
+ [MODULES.treasury, 'Recent Signer with Operation', 1411, [ValueType.TYPE_U8], ValueType.TYPE_ADDRESS, 'Signer address of the most recent fund operation.', ['operation']],
308
+ [MODULES.treasury, 'Recent Payment with Operation', 1412, [ValueType.TYPE_U8], ValueType.TYPE_ADDRESS, 'Payment address of the most recent fund operation.', ['operation']],
309
+ [MODULES.treasury, 'Recent Amount with Operation', 1413, [ValueType.TYPE_U8], ValueType.TYPE_U64, 'Amount of the most recent fund operation.', ['operation']],
310
+ [MODULES.treasury, 'Recent Time with Op/Pmt', 1414, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Time of the most recent fund operation with payment specified.', ['operation', 'payment address']],
311
+ [MODULES.treasury, 'Recent Signer with Op&Pmt', 1415, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_ADDRESS, 'Signer of the most recent fund operationwith payment specified.', ['operation', 'payment address']],
312
+ [MODULES.treasury, 'Recent Amount with Op/Pmt', 1416, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Amount of the most recent fund operation with payment specified.', ['operation', 'payment address']],
313
+ [MODULES.treasury, 'Recent Time with Op/Sgr', 1417, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Time of the most recent fund operation with signer specified.', ['operation', 'signer address']],
314
+ [MODULES.treasury, 'Recent Payment with Op/Sgr', 1418, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_ADDRESS, 'Payment of the most recent fund operation with singner specified.', ['operation', 'signer address']],
315
+ [MODULES.treasury, 'Recent Amount with Op/Sgr', 1419, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Amount of the most recent fund operation with singer specified.', ['operation', 'signer address']],
316
+ [MODULES.treasury, 'Recent Time with Op/Pmt/Sgr', 1420, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS, ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Time of the most recent fund operation.', ['operation', 'payment address', 'singer address']],
317
+ [MODULES.treasury, 'Recent Amount with Op/Pmt/Sgr', 1421, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS, ValueType.TYPE_ADDRESS], ValueType.TYPE_U64, 'Amount of the most recent fund operation.', ['operation', 'payment address', 'singer address']],
318
+ [MODULES.treasury, 'Has Operation', 1422, [ValueType.TYPE_U8], ValueType.TYPE_BOOL, 'Whether there was a fund operation?', ['operation']],
319
+ [MODULES.treasury, 'Has Operation with Pmt', 1423, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Whether there was a fund operation with payment specified?', ['operation', 'payment address']],
320
+ [MODULES.treasury, 'Has Operation with Sgr', 1424, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Whether there was a fund operation with singer specified?', ['operation', 'singer address']],
321
+ [MODULES.treasury, 'Has Operation with Pmt/Sgr', 1425, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS, ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL, 'Whether there was a fund operation?', ['operation', 'payment address', 'singer address']],
322
+ [MODULES.treasury, 'Operation at Least Times', 1426, [ValueType.TYPE_U8, ValueType.TYPE_U8], ValueType.TYPE_BOOL, 'Does it operate at least a certain number of times?', ['operation', 'at least times']],
323
+ [MODULES.treasury, 'Operation at Least Times by a Signer', 1427, [ValueType.TYPE_U8, ValueType.TYPE_ADDRESS, ValueType.TYPE_U8], ValueType.TYPE_BOOL, 'Does it operate at least a certain number of times by a signer?', ['operation', 'signer address', 'at least times']],
309
324
  ];
310
325
 
311
326
  static BoolCmd = Guard.QUERIES.filter(q => q[4] === ValueType.TYPE_BOOL);
@@ -490,7 +505,9 @@ export class GuardMaker {
490
505
 
491
506
  // object_address_from: string for static address; number as identifier inconstant
492
507
  add_query(module:MODULES, query_name:string, object_address_from:string | number) : GuardMaker {
493
- let query_index = Guard.QUERIES.findIndex((q) => { return q[0] == module && q[1] == query_name})
508
+ let query_index = Guard.QUERIES.findIndex((q) => {
509
+ return q[0] == module && q[1] == query_name
510
+ })
494
511
  if (query_index == -1) {
495
512
  ERROR(Errors.InvalidParam, 'query_name:'+query_name);
496
513
  }
@@ -507,7 +524,7 @@ export class GuardMaker {
507
524
 
508
525
  let offset = this.type_validator.length - Guard.QUERIES[query_index][3].length;
509
526
  if (offset < 0) {
510
- ERROR(Errors.InvalidParam, 'query_name:'+query_name);
527
+ ERROR(Errors.InvalidParam, 'offset:'+query_name);
511
528
  }
512
529
 
513
530
  let types = this.type_validator.slice(offset);
package/src/permission.ts CHANGED
@@ -548,12 +548,14 @@ export class Permission {
548
548
  let i = answer.items?.find((v)=>v.query == index); // index maybe string, so ==
549
549
  if (i) {
550
550
  return {has:i.permission, guard:i.guard, owner:answer.owner};
551
- }
551
+ } else {
552
+ return {has:false, guard:undefined, owner:answer?.owner}
553
+ }
552
554
  }
553
555
  if (bStrict) {
554
- return {has:false, guard:undefined, owner:answer?.owner}
556
+ return {has:false, guard:undefined, owner:false}
555
557
  }
556
- return undefined
558
+ return undefined // basic: !== false ; otherwise: !
557
559
  }
558
560
 
559
561
  static MAX_ADMIN_COUNT = 64;
package/src/protocol.ts CHANGED
@@ -213,11 +213,11 @@ const TESTNET = {
213
213
  }
214
214
  */
215
215
  const TESTNET = {
216
- wowok: "0xe73417677a2f16a4f1d152f4f3ba0986d8aad0adc214a9477b4dcebd7dcfcc50",
217
- wowok_origin:'0xe73417677a2f16a4f1d152f4f3ba0986d8aad0adc214a9477b4dcebd7dcfcc50' ,
216
+ wowok: "0x93a47e2e77b150258877b31a49d6e2dbda58c7840f14a99aeb658bddb3d0d021",
217
+ wowok_origin:'0x93a47e2e77b150258877b31a49d6e2dbda58c7840f14a99aeb658bddb3d0d021' ,
218
218
  base: '0x7efcdab72af2351e5915e34ad2ac8d4ea7f4f408e08138d3498af35a362db782',
219
- wowok_object: '0xf8279dc84a34795e8f9270ebee06a07d6d90bc6c8b2e6d809eb376035d796607',
220
- entity_object: '0x04b091c8023806557065747ee50f89a9837655a957813c1dc0f235ba9652dee7',
219
+ wowok_object: '0xdc4f31084f0f0ceb8c59feb78a361091fa84d54d562e28302f2b02b1d22e2905',
220
+ entity_object: '0xbf547b1185c458a2498baf7235ce9824740e4c2fce27440354f342f9ccc79de0',
221
221
  treasury_cap:'0x538cf8f32d59f58c0450a3a97c1eeed3096f4ce63e07e0bdf343a5cc1464887c',
222
222
  }
223
223
  const MAINNET = {
package/src/treasury.ts CHANGED
@@ -136,7 +136,8 @@ export class Treasury {
136
136
  }
137
137
  }
138
138
 
139
- deposit(param:DepositParam, passport?:PassportObject) :TxbObject {
139
+ // return payment address
140
+ deposit(param:DepositParam, passport?:PassportObject) :TransactionResult {
140
141
  if (!Protocol.IsValidObjects([param.coin])) {
141
142
  ERROR(Errors.IsValidObjects, 'deposit.param.coin')
142
143
  }
@@ -191,7 +192,8 @@ export class Treasury {
191
192
 
192
193
  }
193
194
 
194
- receive(payment:PaymentObject, received:ReceivedObject, passport?:PassportObject) {
195
+ // return current balance
196
+ receive(payment:PaymentObject, received:ReceivedObject, passport?:PassportObject) : TransactionResult {
195
197
  if (!Protocol.IsValidObjects([payment, received])) {
196
198
  ERROR(Errors.IsValidArray, 'receive.payment&received');
197
199
  }
@@ -213,7 +215,8 @@ export class Treasury {
213
215
  }
214
216
  }
215
217
 
216
- withdraw(param:WithdrawParam, passport?:PassportObject) {
218
+ // return payment address
219
+ withdraw(param:WithdrawParam, passport?:PassportObject) : TransactionResult | undefined {
217
220
  if (param.items.length === 0) return undefined;
218
221
  if (!IsValidArray(param.items, (item:WithdrawItem) => IsValidU64(item.amount) && IsValidAddress(item.address))) {
219
222
  ERROR(Errors.IsValidArray, 'withdraw.param.items')
@@ -421,9 +424,10 @@ export class Treasury {
421
424
  return parseObjectType(chain_type, 'treasury::Treasury<')
422
425
  }
423
426
 
424
- static OP_WITHDRAW = 0;
425
- static OP_DEPOSIT = 1;
426
- static OP_RECEIVE = 2;
427
+ static OP_WITHDRAW = 1;
428
+ static OP_DEPOSIT = 2;
429
+ static OP_RECEIVE = 4;
430
+
427
431
  static MAX_WITHDRAW_GUARD_COUNT = 16;
428
432
  }
429
433