wowok 1.7.16 → 1.7.18

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/README.md CHANGED
@@ -7,7 +7,7 @@ Wowok Agent for AI: [https://github.com/wowok-ai/wowok_agent](https://github.com
7
7
  MCP Server: [https://github.com/wowok-ai/mcp_server](https://github.com/wowok-ai/mcp_server)
8
8
  Standalone MCP Servers: [https://github.com/wowok-ai/mcpServers](https://github.com/wowok-ai/mcpServers)
9
9
  Website: [https://wowok.net/](https://wowok.net/)
10
- Docs: [https://github.com/wowok-ai/wowok/wiki](https://github.com/wowok-ai/wowok/wiki)
10
+ Docs: [https://github.com/wowok-ai/Documents](https://github.com/wowok-ai/Documents)
11
11
  X: [https://x.com/Wowok_Ai](https://x.com/Wowok_Ai)
12
12
 
13
13
  ### Installation
@@ -1,4 +1,4 @@
1
- import { GuardObject, PassportObject, PermissionObject, CoinObject, TxbObject, ArbitrationAddress, OrderObject, ArbObject, PaymentAddress, TreasuryObject, ArbAddress } from './protocol.js';
1
+ import { GuardObject, PassportObject, PermissionObject, CoinObject, TxbObject, ArbitrationAddress, OrderObject, ArbObject, PaymentAddress, TreasuryObject, ArbAddress, WitnessType } from './protocol.js';
2
2
  import { Transaction as TransactionBlock } from '@mysten/sui/transactions';
3
3
  export interface VotingGuard {
4
4
  guard: GuardObject;
@@ -49,6 +49,7 @@ export declare class Arbitration {
49
49
  pause(pause: boolean, passport?: PassportObject): void;
50
50
  vote(param: Vote, passport?: PassportObject): void;
51
51
  arbitration(param: Feedback, passport?: PassportObject): void;
52
+ static witness(txb: TransactionBlock, arb: ArbObject, arb_token_type: string, guard_index: number, identifier: number[], type: WitnessType[], order: OrderObject, order_token_type: string, passport: PassportObject): import("@mysten/sui/transactions").TransactionResult | undefined;
52
53
  withdraw_fee(arb: ArbObject, param: WithdrawFee, passport?: PassportObject): PaymentAddress;
53
54
  set_withdrawTreasury(treasury: TreasuryObject, passport?: PassportObject): void;
54
55
  arb(param: Dispute, passport?: PassportObject): ArbObject;
@@ -1 +1 @@
1
- {"version":3,"file":"arbitration.d.ts","sourceRoot":"","sources":["../src/arbitration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAC1E,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EACrF,UAAU,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAI,MAAM,0BAA0B,CAAC;AAE7E,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,IAAI;IACjB,GAAG,EAAE,SAAS,CAAC;IACf,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACrB,GAAG,EAAC,SAAS,CAAC;IACd,QAAQ,EAAC,MAAM,CAAC;IAChB,SAAS,CAAC,EAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,OAAO;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,WAAW;IACpB,SAAS,CAAC,cAAc,SAAC;IACzB,SAAS,CAAC,UAAU,mBAAC;IACrB,SAAS,CAAC,MAAM,EAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,GAAG,mBAAC;IAId,YAAY;IACZ,UAAU;IACV,OAAO;IAMP,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,EAAE,UAAU,EAAC,gBAAgB,EAAE,MAAM,EAAC,SAAS,GAAI,WAAW;IAKlH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,EAAE,UAAU,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,EAChG,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,gBAAgB,EAAC,cAAc,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,WAAW;IAiCtG,MAAM,IAAK,kBAAkB;IAQ7B,YAAY,CAAC,QAAQ,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAmBtD,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAoB5D,OAAO,CAAC,GAAG,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAoB5C,YAAY,CAAC,QAAQ,CAAC,EAAC,MAAM,GAAC,IAAI,EAAE,QAAQ,CAAC,EAAC,cAAc;IAoC5D,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAyB/D,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwCjF,SAAS,CAAC,WAAW,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAmCvD,KAAK,CAAC,KAAK,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IAe7C,IAAI,CAAC,KAAK,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAC,cAAc;IAuCzC,WAAW,CAAC,KAAK,EAAC,QAAQ,EAAE,QAAQ,CAAC,EAAC,cAAc;IA8BpD,YAAY,CAAC,GAAG,EAAC,SAAS,EAAE,KAAK,EAAC,WAAW,EAAG,QAAQ,CAAC,EAAC,cAAc,GAAI,cAAc;IAwD1F,oBAAoB,CAAC,QAAQ,EAAC,cAAc,EAAE,QAAQ,CAAC,EAAC,cAAc;IAqBtE,GAAG,CAAC,KAAK,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,SAAS;IAwCxD,UAAU,CAAC,GAAG,EAAC,SAAS,GAAI,UAAU;IAQtC,OAAO,CAAC,KAAK,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,UAAU;IAK7D,iBAAiB,CAAC,cAAc,EAAC,gBAAgB;IAajD,MAAM,CAAC,eAAe,GAAI,YAAW,MAAM,GAAG,SAAS,GAAG,IAAI,KAAI,MAAM,CAEvE;IAED,MAAM,CAAC,kBAAkB,GAAI,YAAW,MAAM,GAAG,SAAS,GAAG,IAAI,KAAI,MAAM,CAE1E;IAED,MAAM,CAAC,aAAa,aAEnB;IACD,MAAM,CAAC,qBAAqB,SAAM;IAClC,MAAM,CAAC,sBAAsB,SAAM;CACtC"}
1
+ {"version":3,"file":"arbitration.d.ts","sourceRoot":"","sources":["../src/arbitration.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { IsValidArray, array_unique, IsValidTokenType, IsValidDesription, parseObjectType, IsValidAddress, IsValidEndpoint, IsValidU64, IsValidName, IsValidLocation, } from './utils.js';
1
+ import { IsValidArray, array_unique, IsValidTokenType, IsValidDesription, parseObjectType, IsValidAddress, IsValidEndpoint, IsValidU64, IsValidName, IsValidLocation, IsValidU8, } from './utils.js';
2
2
  import { Protocol } from './protocol.js';
3
3
  import { ERROR, Errors } from './exception.js';
4
+ import { IsValidGuardIdentifier } from './guard.js';
4
5
  export class Arbitration {
5
6
  //static token2coin = (token:string) => { return '0x2::coin::Coin<' + token + '>'};
6
7
  get_pay_type() { return this.pay_token_type; }
@@ -336,6 +337,33 @@ export class Arbitration {
336
337
  });
337
338
  }
338
339
  }
340
+ static witness(txb, arb, arb_token_type, guard_index, identifier, type, order, order_token_type, passport) {
341
+ if (type.length === 0 || identifier.length === 0)
342
+ return;
343
+ if (!Protocol.IsValidObjects([passport, arb, order])) {
344
+ ERROR(Errors.InvalidParam, `Arbitration.witness.objects ${arb} ${order} ${passport}`);
345
+ }
346
+ if (!IsValidTokenType(order_token_type)) {
347
+ ERROR(Errors.InvalidParam, `Arbitration.witness.order_token_type ${order_token_type}`);
348
+ }
349
+ if (!IsValidTokenType(arb_token_type)) {
350
+ ERROR(Errors.InvalidParam, `Arbitration.witness.arb_token_type ${arb_token_type}`);
351
+ }
352
+ if (!IsValidU8(guard_index)) {
353
+ ERROR(Errors.InvalidParam, `Arbitration.witness.guard ${guard_index}`);
354
+ }
355
+ identifier.forEach(v => {
356
+ if (!IsValidGuardIdentifier(v)) {
357
+ ERROR(Errors.IsValidIndentifier, `Arbitration.witness.identifier ${v}`);
358
+ }
359
+ });
360
+ return txb.moveCall({
361
+ target: Protocol.Instance().arbFn('witness'), //@ Arb fn
362
+ arguments: [passport, txb.pure.u8(guard_index), txb.pure.vector('u8', identifier), txb.pure.vector('u8', type),
363
+ Protocol.TXB_OBJECT(txb, arb), Protocol.TXB_OBJECT(txb, order)],
364
+ typeArguments: [arb_token_type, order_token_type]
365
+ });
366
+ }
339
367
  withdraw_fee(arb, param, passport) {
340
368
  if (!Protocol.IsValidObjects([arb, param.treasury])) {
341
369
  ERROR(Errors.IsValidObjects, 'withdraw_fee.arb or treasury');
@@ -1 +1 @@
1
- {"version":3,"file":"arbitration.js","sourceRoot":"","sources":["../src/arbitration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arbitration.js","sourceRoot":"","sources":["../src/arbitration.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,8 @@ export declare enum Errors {
28
28
  noPermission = "no permission",
29
29
  IsValidValue = "invalid value",
30
30
  IsValidLocation = "invalid location",
31
- networkInvalid = "protocol network not specified"
31
+ networkInvalid = "protocol network not specified",
32
+ WitnessTypeInvalid = "witness type invalid"
32
33
  }
33
34
  export declare const ERROR: (error: Errors, info?: any) => never;
34
35
  //# sourceMappingURL=exception.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exception.d.ts","sourceRoot":"","sources":["../src/exception.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IACd,iBAAiB,wBAAwB;IACzC,WAAW,iBAAiB;IAC5B,sBAAsB,iBAAiB;IACvC,eAAe,qBAAqB;IACpC,cAAc,oBAAoB;IAClC,cAAc,0BAA0B;IACxC,gBAAgB,uBAAuB;IACvC,WAAW,iBAAiB;IAC5B,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;IAC1B,SAAS,eAAe;IACxB,cAAc,oBAAoB;IAClC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,UAAU,uBAAuB;IACjC,YAAY,sBAAuB;IACnC,sBAAsB,6BAA6B;IACnD,UAAU,gBAAgB;IAC1B,IAAI,SAAS;IACb,kBAAkB,wBAAwB;IAC1C,cAAc,gBAAgB;IAC9B,yBAAyB,iCAAiC;IAC1D,cAAc,qBAAqB;IACnC,sBAAsB,8BAA8B;IACpD,eAAe,sBAAsB;IACrC,sBAAsB,6BAA6B;IACnD,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;IAC9B,eAAe,qBAAqB;IACpC,cAAc,mCAAmC;CACpD;AAED,eAAO,MAAM,KAAK,GAAI,OAAM,MAAM,EAAE,OAAM,GAAG,UAG5C,CAAA"}
1
+ {"version":3,"file":"exception.d.ts","sourceRoot":"","sources":["../src/exception.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IACd,iBAAiB,wBAAwB;IACzC,WAAW,iBAAiB;IAC5B,sBAAsB,iBAAiB;IACvC,eAAe,qBAAqB;IACpC,cAAc,oBAAoB;IAClC,cAAc,0BAA0B;IACxC,gBAAgB,uBAAuB;IACvC,WAAW,iBAAiB;IAC5B,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;IAC1B,SAAS,eAAe;IACxB,cAAc,oBAAoB;IAClC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,UAAU,uBAAuB;IACjC,YAAY,sBAAuB;IACnC,sBAAsB,6BAA6B;IACnD,UAAU,gBAAgB;IAC1B,IAAI,SAAS;IACb,kBAAkB,wBAAwB;IAC1C,cAAc,gBAAgB;IAC9B,yBAAyB,iCAAiC;IAC1D,cAAc,qBAAqB;IACnC,sBAAsB,8BAA8B;IACpD,eAAe,sBAAsB;IACrC,sBAAsB,6BAA6B;IACnD,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;IAC9B,eAAe,qBAAqB;IACpC,cAAc,mCAAmC;IACjD,kBAAkB,yBAAyB;CAC9C;AAED,eAAO,MAAM,KAAK,GAAI,OAAM,MAAM,EAAE,OAAM,GAAG,UAG5C,CAAA"}
package/dist/exception.js CHANGED
@@ -30,6 +30,7 @@ export var Errors;
30
30
  Errors["IsValidValue"] = "invalid value";
31
31
  Errors["IsValidLocation"] = "invalid location";
32
32
  Errors["networkInvalid"] = "protocol network not specified";
33
+ Errors["WitnessTypeInvalid"] = "witness type invalid";
33
34
  })(Errors || (Errors = {}));
34
35
  export const ERROR = (error, info) => {
35
36
  const e = error.toString() + (info ? (' ' + info) : '');
@@ -1 +1 @@
1
- {"version":3,"file":"exception.js","sourceRoot":"","sources":["../src/exception.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,MA+BX;AA/BD,WAAY,MAAM;IACd,mDAAyC,CAAA;IACzC,sCAA4B,CAAA;IAC5B,iDAAuC,CAAA;IACvC,8CAAoC,CAAA;IACpC,4CAAkC,CAAA;IAClC,kDAAwC,CAAA;IACxC,iDAAuC,CAAA;IACvC,sCAA4B,CAAA;IAC5B,oCAA0B,CAAA;IAC1B,oCAA0B,CAAA;IAC1B,kCAAwB,CAAA;IACxB,4CAAkC,CAAA;IAClC,wCAA8B,CAAA;IAC9B,4CAAkC,CAAA;IAClC,2CAAiC,CAAA;IACjC,4CAAmC,CAAA;IACnC,6DAAmD,CAAA;IACnD,oCAA0B,CAAA;IAC1B,uBAAa,CAAA;IACb,oDAA0C,CAAA;IAC1C,wCAA8B,CAAA;IAC9B,oEAA0D,CAAA;IAC1D,6CAAmC,CAAA;IACnC,8DAAoD,CAAA;IACpD,+CAAqC,CAAA;IACrC,6DAAmD,CAAA;IACnD,wCAA8B,CAAA;IAC9B,wCAA8B,CAAA;IAC9B,8CAAoC,CAAA;IACpC,2DAAiD,CAAA;AACrD,CAAC,EA/BW,MAAM,KAAN,MAAM,QA+BjB;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,IAAS,EAAE,EAAE;IAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,CAAC;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"exception.js","sourceRoot":"","sources":["../src/exception.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,MAgCX;AAhCD,WAAY,MAAM;IACd,mDAAyC,CAAA;IACzC,sCAA4B,CAAA;IAC5B,iDAAuC,CAAA;IACvC,8CAAoC,CAAA;IACpC,4CAAkC,CAAA;IAClC,kDAAwC,CAAA;IACxC,iDAAuC,CAAA;IACvC,sCAA4B,CAAA;IAC5B,oCAA0B,CAAA;IAC1B,oCAA0B,CAAA;IAC1B,kCAAwB,CAAA;IACxB,4CAAkC,CAAA;IAClC,wCAA8B,CAAA;IAC9B,4CAAkC,CAAA;IAClC,2CAAiC,CAAA;IACjC,4CAAmC,CAAA;IACnC,6DAAmD,CAAA;IACnD,oCAA0B,CAAA;IAC1B,uBAAa,CAAA;IACb,oDAA0C,CAAA;IAC1C,wCAA8B,CAAA;IAC9B,oEAA0D,CAAA;IAC1D,6CAAmC,CAAA;IACnC,8DAAoD,CAAA;IACpD,+CAAqC,CAAA;IACrC,6DAAmD,CAAA;IACnD,wCAA8B,CAAA;IAC9B,wCAA8B,CAAA;IAC9B,8CAAoC,CAAA;IACpC,2DAAiD,CAAA;IACjD,qDAA2C,CAAA;AAC/C,CAAC,EAhCW,MAAM,KAAN,MAAM,QAgCjB;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,IAAS,EAAE,EAAE;IAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,CAAC;AACZ,CAAC,CAAA"}
package/dist/guard.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { GuardAddress, Data_Type, MODULES, ContextType, ValueType, OperatorType, TxbObject, GuardObject } from './protocol.js';
1
+ import { GuardAddress, Data_Type, MODULES, ContextType, ValueType, OperatorType, TxbObject, GuardObject, WitnessType } from './protocol.js';
2
2
  import { Transaction as TransactionBlock } from '@mysten/sui/transactions';
3
3
  export type GuardConstant = Map<number, Guard_Variable>;
4
4
  export interface Guard_Variable {
@@ -83,6 +83,7 @@ export declare class GuardMaker {
83
83
  add_param(type: ValueType | ContextType, param?: any): GuardMaker;
84
84
  add_query(module: MODULES, query_name: string, object_address_from: string | number): GuardMaker;
85
85
  add_query2(query_id: number, object_address_from: string | number): GuardMaker;
86
+ add_query_witness(query_id: number, type: WitnessType, identifer: number): GuardMaker;
86
87
  add_logic(type: OperatorType, logic_count?: number): GuardMaker;
87
88
  hasIdentifier(id: number): boolean;
88
89
  build(bNot?: boolean): GuardMaker;
@@ -94,5 +95,6 @@ export declare class GuardMaker {
94
95
  static input_not(input: Uint8Array): Uint8Array;
95
96
  static match_u256(type: number): boolean;
96
97
  static is_multi_input_op(type: number): boolean;
98
+ static checkCmdWitness(cmd: number, type: WitnessType): number;
97
99
  }
98
100
  //# sourceMappingURL=guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
package/dist/guard.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Protocol, LogicsInfo, MODULES, ContextType, ValueType, OperatorType } from './protocol.js';
1
+ import { Protocol, LogicsInfo, MODULES, ContextType, ValueType, OperatorType, WitnessForModule } from './protocol.js';
2
2
  import { concatenate, array_equal, IsValidU8, IsValidDesription, Bcs, IsValidAddress, FirstLetterUppercase, insertAtHead } from './utils.js';
3
3
  import { ERROR, Errors } from './exception.js';
4
4
  import { Transaction as TransactionBlock } from '@mysten/sui/transactions';
@@ -81,7 +81,7 @@ export const GUARD_QUERIES = [
81
81
  { module: MODULES.service, query_name: 'Number of Treasuries', query_id: 419, parameters: [], return: ValueType.TYPE_U64, description: 'The number of treasuries that can be externally withdrawn for purposes such as compensation or incentives.', },
82
82
  { module: MODULES.service, query_name: 'Contains Treasury', query_id: 420, parameters: [ValueType.TYPE_ADDRESS], return: ValueType.TYPE_BOOL, description: 'Does it contain externally withdrawable Treasury for purposes such as compensation or incentives?', parameters_description: ['treasury address'] },
83
83
  { module: MODULES.service, query_name: 'Number of Arbitrations', query_id: 421, parameters: [], return: ValueType.TYPE_U64, description: 'The number of arbitrations that allows a refund to be made from the order at any time based on the arbitration result.', },
84
- { module: MODULES.service, query_name: 'Contains Arbitration', query_id: 422, parameters: [ValueType.TYPE_ADDRESS], return: ValueType.TYPE_BOOL, description: 'Does it contain an arbitration that allows a refund to be made from the order at any time based on the arbitration result.?', parameters_description: ['arbitration address'] },
84
+ { module: MODULES.service, query_name: 'Contains Arbitration', query_id: 422, parameters: [ValueType.TYPE_ADDRESS], return: ValueType.TYPE_BOOL, description: 'Does it contain an arbitration that allows a refund to be made from the order at any time based on the arbitration result?', parameters_description: ['arbitration address'] },
85
85
  { module: MODULES.service, query_name: 'Type', query_id: 423, parameters: [], return: ValueType.TYPE_STRING, description: 'The type name(eg. contains "2::sui::SUI")', parameters_description: [] },
86
86
  { module: MODULES.service, query_name: 'Type with Original Ids', query_id: 424, parameters: [], return: ValueType.TYPE_STRING, description: 'The type name(eg. contains "2::sui::SUI") with original ids', parameters_description: [] },
87
87
  { module: MODULES.service, query_name: 'Location', query_id: 425, parameters: [], return: ValueType.TYPE_STRING, description: 'location or coordinate address', parameters_description: [] },
@@ -132,14 +132,16 @@ export const GUARD_QUERIES = [
132
132
  { module: MODULES.progress, query_name: 'Forward Operator', query_id: 818, parameters: [ValueType.TYPE_U64, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_ADDRESS, description: 'The forward operator.', parameters_description: ['session-id', 'next node name', 'forward name'] },
133
133
  { module: MODULES.progress, query_name: 'Forward Message', query_id: 819, parameters: [ValueType.TYPE_U64, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_STRING, description: 'The forward message.', parameters_description: ['session-id', 'next node name', 'forward name'] },
134
134
  { module: MODULES.progress, query_name: 'Forward Order Count', query_id: 820, parameters: [ValueType.TYPE_U64, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The forward Order count.', parameters_description: ['session-id', 'next node name', 'forward name'] },
135
- { module: MODULES.progress, query_name: 'Forward time', query_id: 821, parameters: [ValueType.TYPE_U64, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The time when the forward was last triggered.', parameters_description: ['session-id', 'next node name', 'forward name'] },
136
- { module: MODULES.progress, query_name: 'Closest Session Time', query_id: 822, parameters: [ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The time a node that closest time to the current node completes its session.', parameters_description: ['node name'] },
137
- { module: MODULES.progress, query_name: 'Closest Forward Accomplished', query_id: 823, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_BOOL, description: 'Has the forward been accomplished?', parameters_description: ['node name', 'next node name', 'forward name'] },
138
- { module: MODULES.progress, query_name: 'Closest Forward Operator', query_id: 824, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_ADDRESS, description: 'The operator of the forward that closest time to the current node.', parameters_description: ['node name', 'next node name', 'forward name'] },
139
- { module: MODULES.progress, query_name: 'Closest Forward Message', query_id: 825, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_STRING, description: 'The message of the forward that closest time to the current node.', parameters_description: ['node name', 'next node name', 'forward name'] },
140
- { module: MODULES.progress, query_name: 'Closest Forward Order Count', query_id: 826, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The Order count of the forward that closest time to the current node.', parameters_description: ['node name', 'next node name', 'forward name'] },
141
- { module: MODULES.progress, query_name: 'Closest Forward time', query_id: 827, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The time when the forward that closest time to the current node was last triggered.', parameters_description: ['node name', 'next node name', 'forward name'] },
142
- { module: MODULES.progress, query_name: 'Node Sessions completed', query_id: 828, parameters: [ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The number of completed sessions at the node', parameters_description: ['node name'] },
135
+ { module: MODULES.progress, query_name: 'Forward Time', query_id: 821, parameters: [ValueType.TYPE_U64, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The time when the forward was last triggered.', parameters_description: ['session-id', 'next node name', 'forward name'] },
136
+ { module: MODULES.progress, query_name: 'Forward has Order', query_id: 822, parameters: [ValueType.TYPE_U64, ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_ADDRESS], return: ValueType.TYPE_BOOL, description: 'Does the forward contain the Order?', parameters_description: ['session-id', 'next node name', 'forward name', 'order address'] },
137
+ { module: MODULES.progress, query_name: 'Closest Session Time', query_id: 823, parameters: [ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The time a node that closest time to the current node completes its session.', parameters_description: ['node name'] },
138
+ { module: MODULES.progress, query_name: 'Closest Forward Accomplished', query_id: 824, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_BOOL, description: 'Has the forward been accomplished?', parameters_description: ['node name', 'next node name', 'forward name'] },
139
+ { module: MODULES.progress, query_name: 'Closest Forward Operator', query_id: 825, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_ADDRESS, description: 'The operator of the forward that closest time to the current node.', parameters_description: ['node name', 'next node name', 'forward name'] },
140
+ { module: MODULES.progress, query_name: 'Closest Forward Message', query_id: 826, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_STRING, description: 'The message of the forward that closest time to the current node.', parameters_description: ['node name', 'next node name', 'forward name'] },
141
+ { module: MODULES.progress, query_name: 'Closest Forward Order Count', query_id: 827, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The Order count of the forward that closest time to the current node.', parameters_description: ['node name', 'next node name', 'forward name'] },
142
+ { module: MODULES.progress, query_name: 'Closest Forward Time', query_id: 828, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The time when the forward that closest time to the current node was last triggered.', parameters_description: ['node name', 'next node name', 'forward name'] },
143
+ { module: MODULES.progress, query_name: 'Closest Forward has Order', query_id: 829, parameters: [ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_STRING, ValueType.TYPE_ADDRESS], return: ValueType.TYPE_BOOL, description: 'Does the forward that closest time to the current node contain the Order?', parameters_description: ['node name', 'next node name', 'forward name', 'order address'] },
144
+ { module: MODULES.progress, query_name: 'Node Sessions completed', query_id: 830, parameters: [ValueType.TYPE_STRING], return: ValueType.TYPE_U64, description: 'The number of completed sessions at the node', parameters_description: ['node name'] },
143
145
  { module: MODULES.wowok, query_name: 'Builder', query_id: 900, parameters: [], return: ValueType.TYPE_ADDRESS, description: 'Builder address of Wowok.', },
144
146
  { module: MODULES.wowok, query_name: 'Object of Entities', query_id: 901, parameters: [], return: ValueType.TYPE_ADDRESS, description: 'The address of entity information object.', },
145
147
  /* {module:MODULES.wowok, query_name:'Grantor Count', query_id:902, parameters:[], return:ValueType.TYPE_U64, description:'Number of registered grantors.', },
@@ -241,12 +243,24 @@ export const GuardFunctions = [
241
243
  { from: 'type', name: 'Txn Time', value: ContextType.TYPE_CLOCK, group: FunctionGroup.txn, return: ValueType.TYPE_U64 },
242
244
  { from: 'type', name: 'Guard Address', value: ContextType.TYPE_GUARD, group: FunctionGroup.txn, return: ValueType.TYPE_ADDRESS },
243
245
  { from: 'type', name: 'PositiveNumber to Address', value: OperatorType.TYPE_NUMBER_ADDRESS, group: FunctionGroup.number, return: ValueType.TYPE_ADDRESS },
246
+ { from: 'type', name: 'Convert to U8-Number', value: OperatorType.TYPE_SAFE_U8, group: FunctionGroup.number, return: ValueType.TYPE_U8 },
247
+ { from: 'type', name: 'Convert to U64-Number', value: OperatorType.TYPE_SAFE_U64, group: FunctionGroup.number, return: ValueType.TYPE_U64 },
244
248
  { from: 'type', name: 'Convert the string to lowercase', value: OperatorType.TYPE_STRING_LOWERCASE, group: FunctionGroup.string, return: ValueType.TYPE_STRING },
245
249
  { from: 'type', name: 'PositiveNumber Add (+)', value: OperatorType.TYPE_NUMBER_ADD, group: FunctionGroup.number, return: 'number' },
246
250
  { from: 'type', name: 'PositiveNumber Subtract (-)', value: OperatorType.TYPE_NUMBER_SUBTRACT, group: FunctionGroup.number, return: 'number' },
247
251
  { from: 'type', name: 'PositiveNumber Multiply (*)', value: OperatorType.TYPE_NUMBER_MULTIPLY, group: FunctionGroup.number, return: 'number' },
248
252
  { from: 'type', name: 'PositiveNumber Devide (/)', value: OperatorType.TYPE_NUMBER_DEVIDE, group: FunctionGroup.number, return: 'number' },
249
253
  { from: 'type', name: 'PositiveNumber Mod (%)', value: OperatorType.TYPE_NUMBER_MOD, group: FunctionGroup.number, return: 'number' },
254
+ /* {from:'type', name:`Order's Progress address`, value:ContextType.TYPE_ORDER_PROGRESS, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
255
+ {from:'type', name:`Order's Machine address`, value:ContextType.TYPE_ORDER_MACHINE, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
256
+ {from:'type', name:`Order's Service address`, value:ContextType.TYPE_ORDER_SERVICE, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
257
+ {from:'type', name:`Witness Progress's Machine`, value:ContextType.TYPE_PROGRESS_MACHINE, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
258
+ {from:'type', name:`Witness Arb's Arbitration`, value:ContextType.TYPE_ARB_ARBITRATION, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
259
+ {from:'type', name:`Witness Arb's Machine`, value:ContextType.TYPE_ARB_MACHINE, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
260
+ {from:'type', name:`Witness Arb's Order`, value:ContextType.TYPE_ARB_ORDER, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
261
+ {from:'type', name:`Witness Arb's Progress`, value:ContextType.TYPE_ARB_PROGRESS, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
262
+ {from:'type', name:`Witness Arb's Service`, value:ContextType.TYPE_ARB_SERVICE, group:FunctionGroup.txn, return:ValueType.TYPE_ADDRESS},
263
+ */
250
264
  ];
251
265
  export class Guard {
252
266
  get_object() { return this.object; }
@@ -345,9 +359,8 @@ Guard.GetCmd = (cmd) => {
345
359
  };
346
360
  Guard.GetCmdOption = (cmd) => {
347
361
  const r = Guard.GetCmd(cmd);
348
- if (!r)
349
- return r;
350
- return { from: 'query', name: r.query_name, value: r.query_id, group: FirstLetterUppercase(r.module), return: r.return };
362
+ if (r)
363
+ return { from: 'query', name: r.query_name, value: r.query_id, group: FirstLetterUppercase(r.module), return: r.return };
351
364
  };
352
365
  Guard.GetInputParams = (cmd) => {
353
366
  const r = Guard.GetCmd(cmd);
@@ -366,7 +379,7 @@ Guard.NumberOptions = () => {
366
379
  ...Guard.CmdFilter(ValueType.TYPE_U128), ...Guard.CmdFilter(ValueType.TYPE_U256)].map((v) => {
367
380
  return { from: 'query', name: v.query_name, value: v.query_id, group: FirstLetterUppercase(v.module), return: v.return };
368
381
  });
369
- return r.concat(GuardFunctions.filter(v => v.return === 'number' || v.return === ValueType.TYPE_U8
382
+ return r.concat(...GuardFunctions.filter(v => v.return === 'number' || v.return === ValueType.TYPE_U8
370
383
  || v.return === ValueType.TYPE_U64 || v.return === ValueType.TYPE_U128 || v.return === ValueType.TYPE_U256));
371
384
  };
372
385
  Guard.Signer = GuardFunctions.find(v => v.name === 'Txn Signer' && v.value === ContextType.TYPE_SIGNER);
@@ -376,9 +389,10 @@ Guard.Logics = () => LogicsInfo.map((v) => { return { from: 'type', name: v[1],
376
389
  //@deprecated. Crunchings: Ambiguous semantics
377
390
  Guard.Crunchings = GuardFunctions.filter(v => v.value === OperatorType.TYPE_NUMBER_ADD ||
378
391
  v.value === OperatorType.TYPE_NUMBER_SUBTRACT || v.value === OperatorType.TYPE_NUMBER_MULTIPLY ||
379
- v.value === OperatorType.TYPE_NUMBER_DEVIDE || v.value === OperatorType.TYPE_NUMBER_MOD || v.value === OperatorType.TYPE_NUMBER_ADDRESS);
392
+ v.value === OperatorType.TYPE_NUMBER_DEVIDE || v.value === OperatorType.TYPE_NUMBER_MOD || v.value === OperatorType.TYPE_NUMBER_ADDRESS ||
393
+ v.value === OperatorType.TYPE_SAFE_U64 || v.value === OperatorType.TYPE_SAFE_U8);
380
394
  Guard.CommonOptions = (retType) => {
381
- return Guard.CmdFilter(retType).map((v) => { return { from: 'query', name: v.query_name, value: v.query_id, group: FirstLetterUppercase(v.module), return: v.return }; });
395
+ return Guard.AllOptions().filter(v => v.return === retType);
382
396
  };
383
397
  Guard.AllOptions = () => {
384
398
  var r = GUARD_QUERIES.map((v) => { return { from: 'query', name: v.query_name, value: v.query_id, group: FirstLetterUppercase(v.module), return: v.return }; });
@@ -410,6 +424,8 @@ Guard.Options = (ret_type) => {
410
424
  return Guard.BoolOptions();
411
425
  case ValueType.TYPE_STRING:
412
426
  return Guard.StringOptions();
427
+ case ValueType.TYPE_ADDRESS:
428
+ return Guard.AddressOptions();
413
429
  }
414
430
  return Guard.CommonOptions(ret_type);
415
431
  };
@@ -503,15 +519,38 @@ export class GuardMaker {
503
519
  break;
504
520
  case ContextType.TYPE_CONSTANT:
505
521
  if (!IsValidGuardIdentifier(param)) {
506
- ERROR(Errors.IsValidGuardIdentifier, 'add_param param:' + type);
522
+ ERROR(Errors.IsValidGuardIdentifier, `add_param. param ${param}`);
507
523
  }
508
524
  var v = this.constant.get(param);
509
525
  if (!v)
510
- ERROR(Errors.Fail, 'identifier not in constant:' + param);
526
+ ERROR(Errors.Fail, 'add_param. identifier not in constant:' + param);
511
527
  this.type_validator.push(v.type); //@ type validator convert
512
528
  this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, type)); // constant flag
513
529
  this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, param)); // identifier
514
530
  break;
531
+ case ContextType.TYPE_ARB_ARBITRATION:
532
+ case ContextType.TYPE_ARB_MACHINE:
533
+ case ContextType.TYPE_ARB_ORDER:
534
+ case ContextType.TYPE_ARB_PROGRESS:
535
+ case ContextType.TYPE_ARB_SERVICE:
536
+ case ContextType.TYPE_ORDER_MACHINE:
537
+ case ContextType.TYPE_ORDER_PROGRESS:
538
+ case ContextType.TYPE_ORDER_SERVICE:
539
+ case ContextType.TYPE_PROGRESS_MACHINE:
540
+ if (!IsValidGuardIdentifier(param)) {
541
+ ERROR(Errors.IsValidGuardIdentifier, `add_param. identifier ${param} with type ${type}`);
542
+ }
543
+ var v = this.constant.get(param);
544
+ if (!v)
545
+ ERROR(Errors.InvalidParam, `add_param. identifier not in constant:${param} with type ${type}`);
546
+ if (!v?.bWitness)
547
+ ERROR(Errors.InvalidParam, `add_param. not a witness:${param} with type ${type}`);
548
+ if (v?.type !== ValueType.TYPE_ADDRESS)
549
+ ERROR(Errors.InvalidParam, `add_param. must be a witness object address: ${param} with type ${type}`);
550
+ this.type_validator.push(v.type); //@ type validator convert
551
+ this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, type)); // witness flag
552
+ this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, param)); // identifier
553
+ break;
515
554
  default:
516
555
  ERROR(Errors.InvalidParam, 'add_param type:' + type);
517
556
  }
@@ -527,7 +566,7 @@ export class GuardMaker {
527
566
  }
528
567
  return this.add_query2(query[0].query_id, object_address_from);
529
568
  }
530
- // object_address_from: string for static address; number as identifier inconstant
569
+ // object_address_from: string for static address; number as identifier in constant
531
570
  add_query2(query_id, object_address_from) {
532
571
  const query_index = GUARD_QUERIES.findIndex((q) => {
533
572
  return q.query_id == query_id;
@@ -575,6 +614,35 @@ export class GuardMaker {
575
614
  this.type_validator.push(GUARD_QUERIES[query_index].return); // add the return value type to type stack
576
615
  return this;
577
616
  }
617
+ // add witness
618
+ add_query_witness(query_id, type, identifer) {
619
+ if (!IsValidGuardIdentifier(identifer)) {
620
+ ERROR(Errors.IsValidGuardIdentifier, `add_query_witness identifier ${identifer} with type ${type}`);
621
+ }
622
+ var v = this.constant.get(identifer);
623
+ if (!v)
624
+ ERROR(Errors.InvalidParam, `add_query_witness. identifier not in constant:${identifer} with type ${type}`);
625
+ if (!v?.bWitness)
626
+ ERROR(Errors.InvalidParam, `add_query_witness. not a witness:${identifer} with type ${type}`);
627
+ if (v?.type !== ValueType.TYPE_ADDRESS)
628
+ ERROR(Errors.InvalidParam, `add_query_witness. must be a witness object address: ${identifer} with type ${type}`);
629
+ const query_index = GuardMaker.checkCmdWitness(query_id, type);
630
+ let offset = this.type_validator.length - GUARD_QUERIES[query_index].parameters.length;
631
+ if (offset < 0) {
632
+ ERROR(Errors.InvalidParam, 'offset:' + query_id);
633
+ }
634
+ let types = this.type_validator.slice(offset);
635
+ if (!array_equal(types, GUARD_QUERIES[query_index].parameters)) { // type validate
636
+ ERROR(Errors.Fail, 'array_equal:' + query_id);
637
+ }
638
+ this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, OperatorType.TYPE_QUERY)); // QUERY TYPE
639
+ this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, type)); // witness type
640
+ this.data.push(Bcs.getInstance().ser(ValueType.TYPE_U8, identifer)); // witness type
641
+ this.data.push(bcs.u16().serialize(GUARD_QUERIES[query_index].query_id).toBytes()); // cmd(u16)
642
+ this.type_validator.splice(offset, GUARD_QUERIES[query_index].parameters.length); // delete type stack
643
+ this.type_validator.push(GUARD_QUERIES[query_index].return); // add the return value type to type stack
644
+ return this;
645
+ }
578
646
  add_logic(type, logic_count = 2) {
579
647
  var e = LogicsInfo.find((v) => v[0] === type);
580
648
  if (e) {
@@ -645,6 +713,26 @@ export class GuardMaker {
645
713
  ERROR(Errors.Fail, 'type_validator check:' + e);
646
714
  }
647
715
  break;
716
+ case OperatorType.TYPE_SAFE_U8:
717
+ splice_len = 1;
718
+ ret = ValueType.TYPE_U8;
719
+ if (this.type_validator.length < splice_len) {
720
+ ERROR(Errors.Fail, 'type_validator.length:' + e);
721
+ }
722
+ if (!GuardMaker.match_u256(this.type_validator[this.type_validator.length - 1])) {
723
+ ERROR(Errors.Fail, 'type_validator check:' + e);
724
+ }
725
+ break;
726
+ case OperatorType.TYPE_SAFE_U64:
727
+ splice_len = 1;
728
+ ret = ValueType.TYPE_U64;
729
+ if (this.type_validator.length < splice_len) {
730
+ ERROR(Errors.Fail, 'type_validator.length:' + e);
731
+ }
732
+ if (!GuardMaker.match_u256(this.type_validator[this.type_validator.length - 1])) {
733
+ ERROR(Errors.Fail, 'type_validator check:' + e);
734
+ }
735
+ break;
648
736
  case OperatorType.TYPE_STRING_LOWERCASE:
649
737
  splice_len = 1;
650
738
  ret = ValueType.TYPE_STRING;
@@ -768,6 +856,19 @@ export class GuardMaker {
768
856
  type === OperatorType.TYPE_NUMBER_SUBTRACT ||
769
857
  type === OperatorType.TYPE_NUMBER_MOD);
770
858
  }
859
+ static checkCmdWitness(cmd, type) {
860
+ const query_index = GUARD_QUERIES.findIndex((q) => {
861
+ return q.query_id == cmd;
862
+ });
863
+ if (query_index == -1) {
864
+ ERROR(Errors.InvalidParam, 'checkCmdWitness.cmd:' + cmd);
865
+ }
866
+ const m = WitnessForModule(type);
867
+ if (GUARD_QUERIES[query_index].module !== m) {
868
+ ERROR(Errors.InvalidParam, `witness type ${type} not match module ${GUARD_QUERIES[query_index].module}`);
869
+ }
870
+ return query_index;
871
+ }
771
872
  }
772
873
  GuardMaker._witness_index = 1;
773
874
  GuardMaker._const_index = 255;