wowok 1.1.3 → 1.1.4
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/dist/guard.d.ts +5 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +174 -168
- package/dist/passport.d.ts +15 -0
- package/dist/passport.d.ts.map +1 -1
- package/dist/passport.js +356 -2
- package/dist/protocol.d.ts +13 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +29 -2
- package/dist/utils.d.ts +15 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +48 -0
- package/package.json +1 -1
- package/src/guard.ts +172 -168
- package/src/passport.ts +363 -3
- package/src/protocol.ts +36 -2
- package/src/utils.ts +53 -1
package/dist/guard.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ export declare class Guard {
|
|
|
11
11
|
static signer_guard(protocol: Protocol): GuardAddress;
|
|
12
12
|
static everyone_guard(protocol: Protocol): GuardAddress;
|
|
13
13
|
static QUERIES: any[];
|
|
14
|
+
static BoolCmd: any[];
|
|
15
|
+
static IsBoolCmd: (cmd: number) => boolean;
|
|
16
|
+
static GetCmd: (cmd: number) => any;
|
|
14
17
|
}
|
|
15
18
|
export declare class GuardVariableHelper {
|
|
16
19
|
static IsValidIndentifier: (identifier: number) => boolean;
|
|
@@ -27,6 +30,7 @@ export declare class GuardMaker {
|
|
|
27
30
|
private static get_index;
|
|
28
31
|
constructor();
|
|
29
32
|
add_variable(type: VariableType, value: any, bNeedSerialize?: boolean): number;
|
|
33
|
+
private serValueParam;
|
|
30
34
|
add_param(type: ValueType | ContextType, param?: any): GuardMaker;
|
|
31
35
|
add_query(module: MODULES, query_name: string, object_address_from: string | number, bWitness?: boolean): GuardMaker;
|
|
32
36
|
add_logic(type: OperatorType): GuardMaker;
|
|
@@ -37,6 +41,6 @@ export declare class GuardMaker {
|
|
|
37
41
|
get_input(): Uint8Array[];
|
|
38
42
|
static input_combine(input1: Uint8Array, input2: Uint8Array, bAnd?: boolean): Uint8Array;
|
|
39
43
|
static input_not(input: Uint8Array): Uint8Array;
|
|
40
|
-
static
|
|
44
|
+
static match_u256(type: number): boolean;
|
|
41
45
|
}
|
|
42
46
|
//# 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,EAAE,QAAQ,EAAE,YAAY,EAAc,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAG,YAAY,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
|
package/dist/guard.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BCS } from '@mysten/bcs';
|
|
2
|
-
import { MODULES, ContextType, ValueType, OperatorType } from './protocol';
|
|
2
|
+
import { MODULES, ContextType, ValueType, OperatorType, SER_VALUE } from './protocol';
|
|
3
3
|
import { concatenate, array_equal } from './utils';
|
|
4
4
|
import { IsValidDesription, Bcs, IsValidInt, IsValidAddress } from './utils';
|
|
5
5
|
import { ERROR, Errors } from './exception';
|
|
@@ -82,116 +82,127 @@ export class Guard {
|
|
|
82
82
|
[MODULES.permission, 'contains_guard', 7, [ValueType.TYPE_ADDRESS, ValueType.TYPE_U64], ValueType.TYPE_ADDRESS],
|
|
83
83
|
[MODULES.permission, 'entity_count', 8, [], ValueType.TYPE_U64],
|
|
84
84
|
[MODULES.permission, 'admin_count', 9, [], ValueType.TYPE_U64],
|
|
85
|
-
[MODULES.repository, 'permission',
|
|
86
|
-
[MODULES.repository, 'policy_contains',
|
|
87
|
-
[MODULES.repository, 'policy_has_permission_index',
|
|
88
|
-
[MODULES.repository, 'policy_permission_index',
|
|
89
|
-
[MODULES.repository, 'policy_value_type',
|
|
90
|
-
[MODULES.repository, 'contains_id',
|
|
91
|
-
[MODULES.repository, 'contains_value',
|
|
92
|
-
[MODULES.repository, 'value_without_type',
|
|
93
|
-
[MODULES.repository, 'value',
|
|
94
|
-
[MODULES.repository, 'type',
|
|
95
|
-
[MODULES.repository, 'policy_mode',
|
|
96
|
-
[MODULES.repository, 'reference_count',
|
|
97
|
-
[MODULES.repository, 'has_reference',
|
|
98
|
-
[MODULES.machine, 'permission',
|
|
99
|
-
[MODULES.machine, 'has_paused',
|
|
100
|
-
[MODULES.machine, 'has_published',
|
|
101
|
-
[MODULES.machine, 'consensus_repositories_contains',
|
|
102
|
-
[MODULES.machine, 'has_endpoint',
|
|
103
|
-
[MODULES.machine, 'endpoint',
|
|
104
|
-
[MODULES.progress, 'machine',
|
|
105
|
-
[MODULES.progress, 'current',
|
|
106
|
-
[MODULES.progress, 'has_parent',
|
|
107
|
-
[MODULES.progress, 'parent',
|
|
108
|
-
[MODULES.progress, 'has_task',
|
|
109
|
-
[MODULES.progress, 'task',
|
|
110
|
-
[MODULES.progress, 'has_namedOperator',
|
|
111
|
-
[MODULES.progress, 'namedOperator_contains',
|
|
112
|
-
[MODULES.progress, 'has_context_repository',
|
|
113
|
-
[MODULES.progress, 'context_repository',
|
|
114
|
-
[MODULES.demand, 'permission',
|
|
115
|
-
[MODULES.demand, 'has_time_expire',
|
|
116
|
-
[MODULES.demand, 'time_expire',
|
|
117
|
-
[MODULES.demand, 'earnest_count',
|
|
118
|
-
[MODULES.demand, 'has_guard',
|
|
119
|
-
[MODULES.demand, 'guard',
|
|
120
|
-
[MODULES.demand, 'has_yes',
|
|
121
|
-
[MODULES.demand, 'yes',
|
|
122
|
-
[MODULES.demand, 'presenters_count',
|
|
123
|
-
[MODULES.demand, 'has_presenter',
|
|
124
|
-
[MODULES.demand, 'persenter',
|
|
125
|
-
[MODULES.order, 'amount',
|
|
126
|
-
[MODULES.order, 'payer',
|
|
127
|
-
[MODULES.order, 'service',
|
|
128
|
-
[MODULES.order, 'has_progress',
|
|
129
|
-
[MODULES.order, 'progress',
|
|
130
|
-
[MODULES.order, 'has_requred_info',
|
|
131
|
-
[MODULES.order, 'requred_info_service_pubkey',
|
|
132
|
-
[MODULES.order, 'requred_info_customer_pubkey',
|
|
133
|
-
[MODULES.order, 'requred_info_info',
|
|
134
|
-
[MODULES.order, 'has_discount',
|
|
135
|
-
[MODULES.order, 'discount',
|
|
136
|
-
[MODULES.order, 'balance',
|
|
137
|
-
[MODULES.order, 'bRefunded',
|
|
138
|
-
[MODULES.order, 'bWithdrawed',
|
|
139
|
-
[MODULES.service, 'permission',
|
|
140
|
-
[MODULES.service, 'payee',
|
|
141
|
-
[MODULES.service, 'has_buy_guard',
|
|
142
|
-
[MODULES.service, 'buy_guard',
|
|
143
|
-
[MODULES.service, 'repository_contains',
|
|
144
|
-
[MODULES.service, 'has_withdraw_guard',
|
|
145
|
-
[MODULES.service, 'withdraw_guard_percent',
|
|
146
|
-
[MODULES.service, 'has_refund_guard',
|
|
147
|
-
[MODULES.service, 'refund_guard_percent',
|
|
148
|
-
[MODULES.service, 'has_sale',
|
|
149
|
-
[MODULES.service, 'sale_price',
|
|
150
|
-
[MODULES.service, 'sale_stock',
|
|
151
|
-
[MODULES.service, 'has_machine',
|
|
152
|
-
[MODULES.service, 'machine',
|
|
153
|
-
[MODULES.service, 'bPaused',
|
|
154
|
-
[MODULES.service, 'bPublished',
|
|
155
|
-
[MODULES.service, 'has_required',
|
|
156
|
-
[MODULES.service, 'requrired_pubkey',
|
|
157
|
-
[MODULES.service, 'requrired_info',
|
|
158
|
-
[MODULES.reward, 'permission',
|
|
159
|
-
[MODULES.reward, 'rewards_count_remain',
|
|
160
|
-
[MODULES.reward, 'rewards_count_supplied',
|
|
161
|
-
[MODULES.reward, 'guard_count',
|
|
162
|
-
[MODULES.reward, 'has_guard',
|
|
163
|
-
[MODULES.reward, 'guard_portions',
|
|
164
|
-
[MODULES.reward, 'time_expire',
|
|
165
|
-
[MODULES.reward, 'has_claimed',
|
|
166
|
-
[MODULES.reward, 'claimed',
|
|
167
|
-
[MODULES.reward, 'has_claimed_count',
|
|
168
|
-
[MODULES.reward, 'is_sponsor',
|
|
169
|
-
[MODULES.reward, 'sponsor',
|
|
170
|
-
[MODULES.reward, 'sponsor_count',
|
|
171
|
-
[MODULES.reward, 'bAllowRepeatClaim',
|
|
172
|
-
[MODULES.
|
|
173
|
-
[MODULES.vote, '
|
|
174
|
-
[MODULES.vote, '
|
|
175
|
-
[MODULES.vote, '
|
|
176
|
-
[MODULES.vote, '
|
|
177
|
-
[MODULES.vote, '
|
|
178
|
-
[MODULES.vote, '
|
|
179
|
-
[MODULES.vote, '
|
|
180
|
-
[MODULES.vote, '
|
|
181
|
-
[MODULES.vote, '
|
|
182
|
-
[MODULES.vote, '
|
|
183
|
-
[MODULES.vote, '
|
|
184
|
-
[MODULES.vote, '
|
|
185
|
-
[MODULES.vote, '
|
|
186
|
-
[MODULES.vote, '
|
|
187
|
-
[MODULES.vote, '
|
|
188
|
-
[MODULES.vote, '
|
|
189
|
-
[MODULES.vote, '
|
|
190
|
-
[MODULES.vote, '
|
|
191
|
-
[MODULES.vote, '
|
|
192
|
-
[MODULES.vote, '
|
|
193
|
-
[MODULES.vote, '
|
|
85
|
+
[MODULES.repository, 'permission', 11, [], ValueType.TYPE_ADDRESS],
|
|
86
|
+
[MODULES.repository, 'policy_contains', 12, [ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
87
|
+
[MODULES.repository, 'policy_has_permission_index', 13, [ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
88
|
+
[MODULES.repository, 'policy_permission_index', 14, [ValueType.TYPE_VEC_U8], ValueType.TYPE_U64],
|
|
89
|
+
[MODULES.repository, 'policy_value_type', 15, [ValueType.TYPE_VEC_U8], ValueType.TYPE_U8],
|
|
90
|
+
[MODULES.repository, 'contains_id', 16, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
91
|
+
[MODULES.repository, 'contains_value', 17, [ValueType.TYPE_ADDRESS, ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
92
|
+
[MODULES.repository, 'value_without_type', 18, [ValueType.TYPE_ADDRESS, ValueType.TYPE_VEC_U8], ValueType.TYPE_VEC_U8],
|
|
93
|
+
[MODULES.repository, 'value', 19, [ValueType.TYPE_ADDRESS, ValueType.TYPE_VEC_U8], ValueType.TYPE_VEC_U8],
|
|
94
|
+
[MODULES.repository, 'type', 20, [], ValueType.TYPE_U8],
|
|
95
|
+
[MODULES.repository, 'policy_mode', 21, [], ValueType.TYPE_U8],
|
|
96
|
+
[MODULES.repository, 'reference_count', 22, [], ValueType.TYPE_U64],
|
|
97
|
+
[MODULES.repository, 'has_reference', 23, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
98
|
+
[MODULES.machine, 'permission', 31, [], ValueType.TYPE_ADDRESS],
|
|
99
|
+
[MODULES.machine, 'has_paused', 32, [], ValueType.TYPE_BOOL],
|
|
100
|
+
[MODULES.machine, 'has_published', 33, [], ValueType.TYPE_BOOL],
|
|
101
|
+
[MODULES.machine, 'consensus_repositories_contains', 34, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
102
|
+
[MODULES.machine, 'has_endpoint', 35, [], ValueType.TYPE_BOOL],
|
|
103
|
+
[MODULES.machine, 'endpoint', 36, [], ValueType.TYPE_VEC_U8],
|
|
104
|
+
[MODULES.progress, 'machine', 51, [], ValueType.TYPE_ADDRESS],
|
|
105
|
+
[MODULES.progress, 'current', 52, [], ValueType.TYPE_VEC_U8],
|
|
106
|
+
[MODULES.progress, 'has_parent', 53, [], ValueType.TYPE_BOOL],
|
|
107
|
+
[MODULES.progress, 'parent', 54, [], ValueType.TYPE_ADDRESS],
|
|
108
|
+
[MODULES.progress, 'has_task', 55, [], ValueType.TYPE_BOOL],
|
|
109
|
+
[MODULES.progress, 'task', 56, [], ValueType.TYPE_ADDRESS],
|
|
110
|
+
[MODULES.progress, 'has_namedOperator', 57, [ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
111
|
+
[MODULES.progress, 'namedOperator_contains', 58, [ValueType.TYPE_VEC_U8, ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
112
|
+
[MODULES.progress, 'has_context_repository', 59, [], ValueType.TYPE_BOOL],
|
|
113
|
+
[MODULES.progress, 'context_repository', 60, [], ValueType.TYPE_ADDRESS],
|
|
114
|
+
[MODULES.demand, 'permission', 71, [], ValueType.TYPE_ADDRESS],
|
|
115
|
+
[MODULES.demand, 'has_time_expire', 72, [], ValueType.TYPE_BOOL],
|
|
116
|
+
[MODULES.demand, 'time_expire', 73, [], ValueType.TYPE_U64],
|
|
117
|
+
[MODULES.demand, 'earnest_count', 74, [], ValueType.TYPE_U64],
|
|
118
|
+
[MODULES.demand, 'has_guard', 75, [], ValueType.TYPE_BOOL],
|
|
119
|
+
[MODULES.demand, 'guard', 76, [], ValueType.TYPE_ADDRESS],
|
|
120
|
+
[MODULES.demand, 'has_yes', 77, [], ValueType.TYPE_BOOL],
|
|
121
|
+
[MODULES.demand, 'yes', 78, [], ValueType.TYPE_ADDRESS],
|
|
122
|
+
[MODULES.demand, 'presenters_count', 79, [], ValueType.TYPE_U64],
|
|
123
|
+
[MODULES.demand, 'has_presenter', 80, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
124
|
+
[MODULES.demand, 'persenter', 81, [ValueType.TYPE_ADDRESS], ValueType.TYPE_ADDRESS],
|
|
125
|
+
[MODULES.order, 'amount', 91, [], ValueType.TYPE_U64],
|
|
126
|
+
[MODULES.order, 'payer', 92, [], ValueType.TYPE_ADDRESS],
|
|
127
|
+
[MODULES.order, 'service', 93, [], ValueType.TYPE_ADDRESS],
|
|
128
|
+
[MODULES.order, 'has_progress', 94, [], ValueType.TYPE_BOOL],
|
|
129
|
+
[MODULES.order, 'progress', 95, [], ValueType.TYPE_ADDRESS],
|
|
130
|
+
[MODULES.order, 'has_requred_info', 96, [], ValueType.TYPE_BOOL],
|
|
131
|
+
[MODULES.order, 'requred_info_service_pubkey', 97, [], ValueType.TYPE_VEC_U8],
|
|
132
|
+
[MODULES.order, 'requred_info_customer_pubkey', 98, [], ValueType.TYPE_VEC_U8],
|
|
133
|
+
[MODULES.order, 'requred_info_info', 99, [], ValueType.TYPE_VEC_VEC_U8],
|
|
134
|
+
[MODULES.order, 'has_discount', 100, [], ValueType.TYPE_BOOL],
|
|
135
|
+
[MODULES.order, 'discount', 101, [], ValueType.TYPE_ADDRESS],
|
|
136
|
+
[MODULES.order, 'balance', 102, [], ValueType.TYPE_U64],
|
|
137
|
+
[MODULES.order, 'bRefunded', 103, [], ValueType.TYPE_U8],
|
|
138
|
+
[MODULES.order, 'bWithdrawed', 104, [], ValueType.TYPE_U8],
|
|
139
|
+
[MODULES.service, 'permission', 111, [], ValueType.TYPE_ADDRESS],
|
|
140
|
+
[MODULES.service, 'payee', 112, [], ValueType.TYPE_ADDRESS],
|
|
141
|
+
[MODULES.service, 'has_buy_guard', 113, [], ValueType.TYPE_BOOL],
|
|
142
|
+
[MODULES.service, 'buy_guard', 114, [], ValueType.TYPE_ADDRESS],
|
|
143
|
+
[MODULES.service, 'repository_contains', 115, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
144
|
+
[MODULES.service, 'has_withdraw_guard', 116, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
145
|
+
[MODULES.service, 'withdraw_guard_percent', 117, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
146
|
+
[MODULES.service, 'has_refund_guard', 118, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
147
|
+
[MODULES.service, 'refund_guard_percent', 119, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
148
|
+
[MODULES.service, 'has_sale', 120, [ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
149
|
+
[MODULES.service, 'sale_price', 121, [ValueType.TYPE_VEC_U8], ValueType.TYPE_U64],
|
|
150
|
+
[MODULES.service, 'sale_stock', 122, [ValueType.TYPE_VEC_U8], ValueType.TYPE_U64],
|
|
151
|
+
[MODULES.service, 'has_machine', 123, [], ValueType.TYPE_BOOL],
|
|
152
|
+
[MODULES.service, 'machine', 124, [], ValueType.TYPE_ADDRESS],
|
|
153
|
+
[MODULES.service, 'bPaused', 125, [], ValueType.TYPE_BOOL],
|
|
154
|
+
[MODULES.service, 'bPublished', 126, [], ValueType.TYPE_BOOL],
|
|
155
|
+
[MODULES.service, 'has_required', 127, [], ValueType.TYPE_BOOL],
|
|
156
|
+
[MODULES.service, 'requrired_pubkey', 128, [], ValueType.TYPE_VEC_U8],
|
|
157
|
+
[MODULES.service, 'requrired_info', 129, [], ValueType.TYPE_VEC_VEC_U8],
|
|
158
|
+
[MODULES.reward, 'permission', 151, [], ValueType.TYPE_ADDRESS],
|
|
159
|
+
[MODULES.reward, 'rewards_count_remain', 152, [], ValueType.TYPE_U64],
|
|
160
|
+
[MODULES.reward, 'rewards_count_supplied', 153, [], ValueType.TYPE_U64],
|
|
161
|
+
[MODULES.reward, 'guard_count', 154, [], ValueType.TYPE_U64],
|
|
162
|
+
[MODULES.reward, 'has_guard', 155, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
163
|
+
[MODULES.reward, 'guard_portions', 156, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
164
|
+
[MODULES.reward, 'time_expire', 157, [], ValueType.TYPE_U64],
|
|
165
|
+
[MODULES.reward, 'has_claimed', 158, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
166
|
+
[MODULES.reward, 'claimed', 159, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
167
|
+
[MODULES.reward, 'has_claimed_count', 160, [], ValueType.TYPE_U64],
|
|
168
|
+
[MODULES.reward, 'is_sponsor', 161, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
169
|
+
[MODULES.reward, 'sponsor', 162, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
170
|
+
[MODULES.reward, 'sponsor_count', 163, [], ValueType.TYPE_U64],
|
|
171
|
+
[MODULES.reward, 'bAllowRepeatClaim', 164, [], ValueType.TYPE_BOOL],
|
|
172
|
+
[MODULES.reward, 'claimed_potions_count', 165, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
173
|
+
[MODULES.vote, 'permission', 171, [], ValueType.TYPE_ADDRESS],
|
|
174
|
+
[MODULES.vote, 'bOptions_locked_for_voting', 172, [], ValueType.TYPE_BOOL],
|
|
175
|
+
[MODULES.vote, 'bdeadline_locked', 173, [], ValueType.TYPE_BOOL],
|
|
176
|
+
[MODULES.vote, 'bLockedGuard', 174, [], ValueType.TYPE_BOOL],
|
|
177
|
+
[MODULES.vote, 'max_choice_count', 175, [], ValueType.TYPE_U8],
|
|
178
|
+
[MODULES.vote, 'deadline', 176, [], ValueType.TYPE_U64],
|
|
179
|
+
[MODULES.vote, 'has_reference', 177, [], ValueType.TYPE_BOOL],
|
|
180
|
+
[MODULES.vote, 'reference', 178, [], ValueType.TYPE_ADDRESS],
|
|
181
|
+
[MODULES.vote, 'has_guard', 179, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
182
|
+
[MODULES.vote, 'guard', 180, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
183
|
+
[MODULES.vote, 'voted', 181, [ValueType.TYPE_ADDRESS], ValueType.TYPE_BOOL],
|
|
184
|
+
[MODULES.vote, 'voted_weight', 182, [ValueType.TYPE_ADDRESS], ValueType.TYPE_U64],
|
|
185
|
+
[MODULES.vote, 'has_agree', 183, [ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
186
|
+
[MODULES.vote, 'agree_has_object', 184, [ValueType.TYPE_VEC_U8], ValueType.TYPE_BOOL],
|
|
187
|
+
[MODULES.vote, 'agree_object', 185, [ValueType.TYPE_VEC_U8], ValueType.TYPE_ADDRESS],
|
|
188
|
+
[MODULES.vote, 'agree_count', 186, [ValueType.TYPE_VEC_U8], ValueType.TYPE_U64],
|
|
189
|
+
[MODULES.vote, 'agree_votes', 187, [ValueType.TYPE_VEC_U8], ValueType.TYPE_U64],
|
|
190
|
+
[MODULES.vote, 'voted_count', 188, [], ValueType.TYPE_U64],
|
|
191
|
+
[MODULES.vote, 'top1_name_by_count', 189, [], ValueType.TYPE_VEC_U8],
|
|
192
|
+
[MODULES.vote, 'top1_count', 190, [], ValueType.TYPE_U64],
|
|
193
|
+
[MODULES.vote, 'top1_name_by_votes', 191, [], ValueType.TYPE_VEC_U8],
|
|
194
|
+
[MODULES.vote, 'top1_votes', 192, [], ValueType.TYPE_U64],
|
|
194
195
|
];
|
|
196
|
+
static BoolCmd = Guard.QUERIES.filter(q => q[4] == ValueType.TYPE_BOOL);
|
|
197
|
+
static IsBoolCmd = (cmd) => { return Guard.BoolCmd.includes((q) => { return q[2] == cmd; }); };
|
|
198
|
+
static GetCmd = (cmd) => {
|
|
199
|
+
let r = Guard.QUERIES.find((q) => { return q[2] == cmd; });
|
|
200
|
+
if (!r) {
|
|
201
|
+
ERROR(Errors.Fail, 'CmdParamCount: not found');
|
|
202
|
+
}
|
|
203
|
+
;
|
|
204
|
+
return r;
|
|
205
|
+
};
|
|
195
206
|
}
|
|
196
207
|
export class GuardVariableHelper {
|
|
197
208
|
static IsValidIndentifier = (identifier) => {
|
|
@@ -237,19 +248,27 @@ export class GuardVariableHelper {
|
|
|
237
248
|
return false;
|
|
238
249
|
switch (type) {
|
|
239
250
|
case ValueType.TYPE_BOOL:
|
|
240
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_bool(value) }) :
|
|
241
|
-
variables.set(identifier, { type: type, value: value });
|
|
242
|
-
return;
|
|
243
251
|
case ValueType.TYPE_ADDRESS:
|
|
244
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_address(value) }) :
|
|
245
|
-
variables.set(identifier, { type: type, value: value });
|
|
246
|
-
return;
|
|
247
252
|
case ValueType.TYPE_U64:
|
|
248
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_u64(value) }) :
|
|
249
|
-
variables.set(identifier, { type: type, value: value });
|
|
250
|
-
return;
|
|
251
253
|
case ValueType.TYPE_U8:
|
|
252
|
-
|
|
254
|
+
case ValueType.TYPE_U128:
|
|
255
|
+
case ValueType.TYPE_U256:
|
|
256
|
+
case ValueType.TYPE_VEC_U64:
|
|
257
|
+
case ValueType.TYPE_VEC_VEC_U8:
|
|
258
|
+
case ValueType.TYPE_OPTION_ADDRESS:
|
|
259
|
+
case ValueType.TYPE_OPTION_BOOL:
|
|
260
|
+
case ValueType.TYPE_OPTION_U128:
|
|
261
|
+
case ValueType.TYPE_OPTION_U256:
|
|
262
|
+
case ValueType.TYPE_OPTION_U64:
|
|
263
|
+
case ValueType.TYPE_OPTION_U8:
|
|
264
|
+
case ValueType.TYPE_VEC_ADDRESS:
|
|
265
|
+
case ValueType.TYPE_VEC_BOOL:
|
|
266
|
+
case ValueType.TYPE_VEC_U128:
|
|
267
|
+
case ValueType.TYPE_VEC_U256:
|
|
268
|
+
let ser = SER_VALUE.find(s => s.type == type);
|
|
269
|
+
if (!ser)
|
|
270
|
+
ERROR(Errors.Fail, 'add_variable: invalid type');
|
|
271
|
+
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser(ser.name, value) }) :
|
|
253
272
|
variables.set(identifier, { type: type, value: value });
|
|
254
273
|
return;
|
|
255
274
|
case ValueType.TYPE_VEC_U8:
|
|
@@ -260,27 +279,8 @@ export class GuardVariableHelper {
|
|
|
260
279
|
variables.set(identifier, { type: type, value: value });
|
|
261
280
|
}
|
|
262
281
|
return;
|
|
263
|
-
case ValueType.TYPE_U128:
|
|
264
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_u128(value) }) :
|
|
265
|
-
variables.set(identifier, { type: type, value: value });
|
|
266
|
-
return;
|
|
267
|
-
case ValueType.TYPE_U256:
|
|
268
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_u256(value) }) :
|
|
269
|
-
variables.set(identifier, { type: type, value: value });
|
|
270
|
-
return;
|
|
271
|
-
case ValueType.TYPE_VEC_U64:
|
|
272
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_vector_u64(value) }) :
|
|
273
|
-
variables.set(identifier, { type: type, value: value });
|
|
274
|
-
return;
|
|
275
|
-
case ValueType.TYPE_VEC_VEC_U8:
|
|
276
|
-
bNeedSerialize ? variables.set(identifier, { type: type, value: Bcs.getInstance().ser_vector_vector_u8(value) }) :
|
|
277
|
-
variables.set(identifier, { type: type, value: value });
|
|
278
|
-
return;
|
|
279
282
|
default:
|
|
280
|
-
|
|
281
|
-
ERROR(Errors.Fail, 'ValueType serialize not impl yet');
|
|
282
|
-
}
|
|
283
|
-
variables.set(identifier, { type: type, value: value });
|
|
283
|
+
ERROR(Errors.Fail, 'add_variable serialize not impl yet');
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
}
|
|
@@ -307,44 +307,50 @@ export class GuardMaker {
|
|
|
307
307
|
}
|
|
308
308
|
return identifier;
|
|
309
309
|
}
|
|
310
|
+
serValueParam(type, param) {
|
|
311
|
+
if (!param)
|
|
312
|
+
ERROR(Errors.InvalidParam, 'param');
|
|
313
|
+
this.data.push(Bcs.getInstance().ser_u8(type));
|
|
314
|
+
let ser = SER_VALUE.find(s => s.type == type);
|
|
315
|
+
if (!ser)
|
|
316
|
+
ERROR(Errors.Fail, 'serValueParam: invalid type');
|
|
317
|
+
this.data.push(Bcs.getInstance().ser(ser.name, param));
|
|
318
|
+
this.type_validator.push(type);
|
|
319
|
+
}
|
|
310
320
|
// serialize const & data
|
|
311
321
|
add_param(type, param) {
|
|
312
322
|
switch (type) {
|
|
313
323
|
case ValueType.TYPE_ADDRESS:
|
|
314
|
-
if (!param)
|
|
315
|
-
ERROR(Errors.InvalidParam, 'param');
|
|
316
|
-
this.data.push(Bcs.getInstance().ser_u8(type));
|
|
317
|
-
this.data.push(Bcs.getInstance().ser_address(param));
|
|
318
|
-
this.type_validator.push(type);
|
|
319
|
-
break;
|
|
320
324
|
case ValueType.TYPE_BOOL:
|
|
321
|
-
if (!param)
|
|
322
|
-
ERROR(Errors.InvalidParam, 'param');
|
|
323
|
-
this.data.push(Bcs.getInstance().ser_u8(type));
|
|
324
|
-
this.data.push(Bcs.getInstance().ser_bool(param));
|
|
325
|
-
this.type_validator.push(type);
|
|
326
|
-
break;
|
|
327
325
|
case ValueType.TYPE_U8:
|
|
328
|
-
if (!param)
|
|
329
|
-
ERROR(Errors.InvalidParam, 'param');
|
|
330
|
-
this.data.push(Bcs.getInstance().ser_u8(type));
|
|
331
|
-
this.data.push(Bcs.getInstance().ser_u8(param));
|
|
332
|
-
this.type_validator.push(type);
|
|
333
|
-
break;
|
|
334
326
|
case ValueType.TYPE_U64:
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
327
|
+
case ValueType.TYPE_U128:
|
|
328
|
+
case ValueType.TYPE_U256:
|
|
329
|
+
case ValueType.TYPE_VEC_ADDRESS:
|
|
330
|
+
case ValueType.TYPE_VEC_BOOL:
|
|
331
|
+
case ValueType.TYPE_VEC_U128:
|
|
332
|
+
case ValueType.TYPE_VEC_U64:
|
|
333
|
+
case ValueType.TYPE_VEC_VEC_U8:
|
|
334
|
+
case ValueType.TYPE_OPTION_U64:
|
|
335
|
+
case ValueType.TYPE_OPTION_ADDRESS:
|
|
336
|
+
case ValueType.TYPE_OPTION_BOOL:
|
|
337
|
+
case ValueType.TYPE_OPTION_U128:
|
|
338
|
+
case ValueType.TYPE_OPTION_U256:
|
|
339
|
+
case ValueType.TYPE_OPTION_U8:
|
|
340
|
+
case ValueType.TYPE_VEC_U256:
|
|
341
|
+
this.serValueParam(type, param);
|
|
340
342
|
break;
|
|
341
343
|
case ValueType.TYPE_VEC_U8:
|
|
342
344
|
if (!param)
|
|
343
345
|
ERROR(Errors.InvalidParam, 'param');
|
|
344
346
|
this.data.push(Bcs.getInstance().ser_u8(type));
|
|
345
|
-
|
|
347
|
+
if (typeof (param) == 'string') {
|
|
348
|
+
this.data.push(Bcs.getInstance().ser_string(param));
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
this.data.push(Bcs.getInstance().ser_vector_u8(param));
|
|
352
|
+
}
|
|
346
353
|
this.type_validator.push(type);
|
|
347
|
-
// this.data[this.data.length-1].forEach((item : number) => console.log(item))
|
|
348
354
|
break;
|
|
349
355
|
case ContextType.TYPE_SIGNER:
|
|
350
356
|
this.data.push(Bcs.getInstance().ser_u8(type));
|
|
@@ -439,10 +445,10 @@ export class GuardMaker {
|
|
|
439
445
|
if (this.type_validator.length < splice_len) {
|
|
440
446
|
ERROR(Errors.Fail, 'type_validator.length');
|
|
441
447
|
}
|
|
442
|
-
if (!GuardMaker.
|
|
448
|
+
if (!GuardMaker.match_u256(this.type_validator[this.type_validator.length - 1])) {
|
|
443
449
|
ERROR(Errors.Fail, 'type_validator check');
|
|
444
450
|
}
|
|
445
|
-
if (!GuardMaker.
|
|
451
|
+
if (!GuardMaker.match_u256(this.type_validator[this.type_validator.length - 2])) {
|
|
446
452
|
ERROR(Errors.Fail, 'type_validator check');
|
|
447
453
|
}
|
|
448
454
|
break;
|
|
@@ -531,7 +537,7 @@ export class GuardMaker {
|
|
|
531
537
|
static input_not(input) {
|
|
532
538
|
return concatenate(Uint8Array, input, Bcs.getInstance().ser_u8(OperatorType.TYPE_LOGIC_NOT));
|
|
533
539
|
}
|
|
534
|
-
static
|
|
540
|
+
static match_u256(type) {
|
|
535
541
|
if (type == ValueType.TYPE_U8 ||
|
|
536
542
|
type == ValueType.TYPE_U64 ||
|
|
537
543
|
type == ValueType.TYPE_U128 ||
|
package/dist/passport.d.ts
CHANGED
|
@@ -19,6 +19,19 @@ interface GuardInfo {
|
|
|
19
19
|
variable: QueryInfo[];
|
|
20
20
|
input_witness: QueryInfo[];
|
|
21
21
|
}
|
|
22
|
+
interface DeGuardVariable {
|
|
23
|
+
type: number;
|
|
24
|
+
value: any;
|
|
25
|
+
identifier?: number;
|
|
26
|
+
}
|
|
27
|
+
interface DeGuardData {
|
|
28
|
+
type: number;
|
|
29
|
+
value?: any;
|
|
30
|
+
identifier?: number;
|
|
31
|
+
cmd?: number;
|
|
32
|
+
child: DeGuardData[];
|
|
33
|
+
ret_type?: number;
|
|
34
|
+
}
|
|
22
35
|
interface FutrueFill {
|
|
23
36
|
guard: string;
|
|
24
37
|
index: number;
|
|
@@ -37,6 +50,8 @@ export declare class GuardParser {
|
|
|
37
50
|
private get_index;
|
|
38
51
|
private constructor();
|
|
39
52
|
guardlist: () => GuardInfo[];
|
|
53
|
+
static GuardObject: (protocol: Protocol, guard: string) => Promise<void>;
|
|
54
|
+
static ResolveData: (variables: DeGuardVariable[], stack: DeGuardData[], current: DeGuardData) => void;
|
|
40
55
|
static CreateAsync: (protocol: Protocol, guards: string[]) => Promise<GuardParser>;
|
|
41
56
|
parse_variable: (info: GuardInfo, variables: any) => void;
|
|
42
57
|
parse_bcs: (info: GuardInfo, chain_bytes: Uint8Array) => void;
|
package/dist/passport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAU,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAU,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EACK,MAAM,YAAY,CAAC;AAMlE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACd,CAAA;AAED,UAAU,SAAS;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,UAAU,SAAS;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,EAAE,SAAS,EAAE,CAAC;CAC9B;AAED,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,UAAU,WAAW;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,UAAU,aAAa;IACnB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CACjC;AACD,qBAAa,WAAW;IACpB,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACvC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAChC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,SAAS;IAEjB,OAAO;IAIP,SAAS,oBAAmC;IAG5C,MAAM,CAAC,WAAW,aAAoB,QAAQ,SAAS,MAAM,mBAyM5D;IAED,MAAM,CAAC,WAAW,cAAgB,eAAe,EAAE,SAAQ,WAAW,EAAE,WAAW,WAAW,UA+H7F;IAGD,MAAM,CAAC,WAAW,aAAoB,QAAQ,UAAU,MAAM,EAAE,0BAwB/D;IAED,cAAc,SAAS,SAAS,aAAY,GAAG,UAU9C;IAED,SAAS,SAAS,SAAS,eAAe,UAAU,UA8EnD;IAED,OAAO,CAAC,UAAU;IAYlB,IAAI,UAAgB,UAAU,EAAE,KAAI,QAAQ,aAAa,CAAC,CA+CzD;IAED,OAAO,CAAC,YAAY,CAcnB;CACJ;AAED,qBAAa,QAAQ;IACjB,MAAM,CAAC,eAAe,SAAK;IAC3B,SAAS,CAAC,QAAQ,0DAAC;IACnB,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;gBAEG,QAAQ,EAAC,QAAQ,EAAE,KAAK,EAAC,aAAa;IAmDnD,OAAO;IAQP,MAAM;CAOT"}
|