wowok 1.7.16 → 1.7.19
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 +1 -1
- package/dist/arbitration.d.ts +2 -1
- package/dist/arbitration.d.ts.map +1 -1
- package/dist/arbitration.js +29 -1
- package/dist/arbitration.js.map +1 -1
- package/dist/exception.d.ts +2 -1
- package/dist/exception.d.ts.map +1 -1
- package/dist/exception.js +1 -0
- package/dist/exception.js.map +1 -1
- package/dist/guard.d.ts +3 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +120 -19
- package/dist/guard.js.map +1 -1
- package/dist/passport.d.ts +32 -2
- package/dist/passport.d.ts.map +1 -1
- package/dist/passport.js +401 -50
- package/dist/passport.js.map +1 -1
- package/dist/progress.d.ts +1 -0
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.js +21 -1
- package/dist/progress.js.map +1 -1
- package/dist/protocol.d.ts +18 -2
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +74 -9
- package/dist/protocol.js.map +1 -1
- package/dist/service.d.ts +2 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +26 -1
- package/dist/service.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
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/
|
|
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
|
package/dist/arbitration.d.ts
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"arbitration.d.ts","sourceRoot":"","sources":["../src/arbitration.ts"],"names":[],"mappings":"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"}
|
package/dist/arbitration.js
CHANGED
|
@@ -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');
|
package/dist/arbitration.js.map
CHANGED
|
@@ -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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"}
|
package/dist/exception.d.ts
CHANGED
|
@@ -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
|
package/dist/exception.d.ts.map
CHANGED
|
@@ -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;
|
|
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) : '');
|
package/dist/exception.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception.js","sourceRoot":"","sources":["../src/exception.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,
|
|
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
|
package/dist/guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,YAAY,EAAc,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAG,YAAY,EAAE,SAAS,EAAE,WAAW,
|
|
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
|
|
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
|
|
136
|
-
{ module: MODULES.progress, query_name: '
|
|
137
|
-
{ module: MODULES.progress, query_name: 'Closest
|
|
138
|
-
{ module: MODULES.progress, query_name: 'Closest Forward
|
|
139
|
-
{ module: MODULES.progress, query_name: 'Closest Forward
|
|
140
|
-
{ module: MODULES.progress, query_name: 'Closest Forward
|
|
141
|
-
{ module: MODULES.progress, query_name: 'Closest Forward
|
|
142
|
-
{ module: MODULES.progress, query_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 (
|
|
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.
|
|
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,
|
|
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
|
|
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;
|