wowok 1.2.4 → 1.2.7
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/demand.d.ts +3 -2
- package/dist/demand.d.ts.map +1 -1
- package/dist/demand.js +21 -7
- package/dist/entity.d.ts +2 -1
- package/dist/entity.d.ts.map +1 -1
- package/dist/entity.js +23 -7
- package/dist/exception.d.ts +3 -1
- package/dist/exception.d.ts.map +1 -1
- package/dist/exception.js +3 -1
- package/dist/guard.js +1 -1
- package/dist/machine.js +2 -2
- package/dist/permission.d.ts +23 -7
- package/dist/permission.d.ts.map +1 -1
- package/dist/permission.js +149 -16
- package/dist/protocol.d.ts +35 -10
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +129 -21
- package/dist/repository.d.ts +6 -3
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +59 -40
- package/dist/resource.d.ts +20 -6
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +58 -21
- package/dist/reward.d.ts +6 -3
- package/dist/reward.d.ts.map +1 -1
- package/dist/reward.js +43 -19
- package/dist/service.d.ts +15 -9
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +94 -56
- package/dist/utils.d.ts +18 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +218 -45
- package/dist/vote.d.ts +2 -2
- package/dist/vote.d.ts.map +1 -1
- package/dist/vote.js +14 -14
- package/package.json +1 -1
- package/src/demand.ts +22 -8
- package/src/entity.ts +25 -6
- package/src/exception.ts +3 -1
- package/src/guard.ts +1 -1
- package/src/machine.ts +2 -2
- package/src/permission.ts +168 -14
- package/src/protocol.ts +127 -17
- package/src/repository.ts +64 -44
- package/src/resource.ts +61 -20
- package/src/reward.ts +46 -23
- package/src/service.ts +100 -57
- package/src/utils.ts +186 -22
- package/src/vote.ts +14 -14
package/dist/protocol.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SuiObjectResponse, SuiObjectDataOptions, SuiTransactionBlockResponseOptions, SuiTransactionBlockResponse } from '@mysten/sui.js/client';
|
|
1
|
+
import { SuiClient, SuiObjectResponse, SuiObjectDataOptions, SuiTransactionBlockResponseOptions, SuiTransactionBlockResponse } from '@mysten/sui.js/client';
|
|
2
2
|
import { TransactionBlock, TransactionResult } from '@mysten/sui.js/transactions';
|
|
3
3
|
import { GuardConstant } from './guard';
|
|
4
4
|
export declare enum MODULES {
|
|
@@ -82,11 +82,29 @@ export declare enum ValueType {
|
|
|
82
82
|
TYPE_OPTION_U128 = 115,
|
|
83
83
|
TYPE_OPTION_U256 = 116,
|
|
84
84
|
TYPE_OPTION_STRING = 117,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
TYPE_OPTION_VEC_U8 = 118,
|
|
86
|
+
TYPE_VEC_U256 = 119,
|
|
87
|
+
TYPE_STRING = 120,
|
|
88
|
+
TYPE_VEC_STRING = 121,
|
|
89
|
+
TYPE_U256 = 122
|
|
89
90
|
}
|
|
91
|
+
export declare enum RepositoryValueType {
|
|
92
|
+
Address = 200,
|
|
93
|
+
Address_Vec = 201,
|
|
94
|
+
PositiveNumber = 202,
|
|
95
|
+
PositiveNumber_Vec = 203,
|
|
96
|
+
String = 204,
|
|
97
|
+
String_Vec = 205
|
|
98
|
+
}
|
|
99
|
+
export declare const RepositoryValueTypeInfo: {
|
|
100
|
+
type: RepositoryValueType;
|
|
101
|
+
name: string;
|
|
102
|
+
description: string;
|
|
103
|
+
}[];
|
|
104
|
+
export declare const ValueTypeInfo: {
|
|
105
|
+
type: ValueType;
|
|
106
|
+
name: string;
|
|
107
|
+
}[];
|
|
90
108
|
export declare const OperatorTypeArray: number[];
|
|
91
109
|
export declare const ValueTypeArray: number[];
|
|
92
110
|
export declare const IsValidOperatorType: (type: number) => boolean;
|
|
@@ -111,6 +129,11 @@ export declare enum ENTRYPOINT {
|
|
|
111
129
|
devnet = "devnet",
|
|
112
130
|
localnet = "localnet"
|
|
113
131
|
}
|
|
132
|
+
export interface CoinTypeInfo {
|
|
133
|
+
symbol: string;
|
|
134
|
+
type: string;
|
|
135
|
+
decimals: number;
|
|
136
|
+
}
|
|
114
137
|
export declare class Protocol {
|
|
115
138
|
protected network: string;
|
|
116
139
|
protected package: string;
|
|
@@ -122,6 +145,7 @@ export declare class Protocol {
|
|
|
122
145
|
static _instance: any;
|
|
123
146
|
constructor(network?: ENTRYPOINT);
|
|
124
147
|
static Instance(): Protocol;
|
|
148
|
+
static Client(): SuiClient;
|
|
125
149
|
UseNetwork(network?: ENTRYPOINT): void;
|
|
126
150
|
Package(): string;
|
|
127
151
|
WowokObject(): string;
|
|
@@ -153,11 +177,12 @@ export declare class Protocol {
|
|
|
153
177
|
static SUI_COIN_TYPE: string;
|
|
154
178
|
WOWOK_TOKEN_TYPE: () => string;
|
|
155
179
|
WOWOK_COIN_TYPE: () => string;
|
|
156
|
-
COINS_TYPE: () =>
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
180
|
+
COINS_TYPE: () => CoinTypeInfo[];
|
|
181
|
+
Update_CoinType: (token_type: string, decimals: number, symbol: string) => void;
|
|
182
|
+
ExplorerUrl: (objectid: string, type?: 'object' | 'txblock' | 'account') => string;
|
|
183
|
+
CoinTypes_Testnet: CoinTypeInfo[];
|
|
184
|
+
CoinTypes_Mainnet: CoinTypeInfo[];
|
|
185
|
+
GetCoinTypeInfo: (token_type: string, handler: (info: CoinTypeInfo) => void) => CoinTypeInfo | 'loading';
|
|
161
186
|
static CLOCK_OBJECT: {
|
|
162
187
|
Object: {
|
|
163
188
|
ImmOrOwned: {
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js
CHANGED
|
@@ -58,11 +58,54 @@ export var ValueType;
|
|
|
58
58
|
ValueType[ValueType["TYPE_OPTION_U128"] = 115] = "TYPE_OPTION_U128";
|
|
59
59
|
ValueType[ValueType["TYPE_OPTION_U256"] = 116] = "TYPE_OPTION_U256";
|
|
60
60
|
ValueType[ValueType["TYPE_OPTION_STRING"] = 117] = "TYPE_OPTION_STRING";
|
|
61
|
-
ValueType[ValueType["
|
|
62
|
-
ValueType[ValueType["
|
|
63
|
-
ValueType[ValueType["
|
|
64
|
-
ValueType[ValueType["
|
|
61
|
+
ValueType[ValueType["TYPE_OPTION_VEC_U8"] = 118] = "TYPE_OPTION_VEC_U8";
|
|
62
|
+
ValueType[ValueType["TYPE_VEC_U256"] = 119] = "TYPE_VEC_U256";
|
|
63
|
+
ValueType[ValueType["TYPE_STRING"] = 120] = "TYPE_STRING";
|
|
64
|
+
ValueType[ValueType["TYPE_VEC_STRING"] = 121] = "TYPE_VEC_STRING";
|
|
65
|
+
ValueType[ValueType["TYPE_U256"] = 122] = "TYPE_U256";
|
|
65
66
|
})(ValueType || (ValueType = {}));
|
|
67
|
+
export var RepositoryValueType;
|
|
68
|
+
(function (RepositoryValueType) {
|
|
69
|
+
RepositoryValueType[RepositoryValueType["Address"] = 200] = "Address";
|
|
70
|
+
RepositoryValueType[RepositoryValueType["Address_Vec"] = 201] = "Address_Vec";
|
|
71
|
+
RepositoryValueType[RepositoryValueType["PositiveNumber"] = 202] = "PositiveNumber";
|
|
72
|
+
RepositoryValueType[RepositoryValueType["PositiveNumber_Vec"] = 203] = "PositiveNumber_Vec";
|
|
73
|
+
RepositoryValueType[RepositoryValueType["String"] = 204] = "String";
|
|
74
|
+
RepositoryValueType[RepositoryValueType["String_Vec"] = 205] = "String_Vec";
|
|
75
|
+
})(RepositoryValueType || (RepositoryValueType = {}));
|
|
76
|
+
export const RepositoryValueTypeInfo = [
|
|
77
|
+
{ type: RepositoryValueType.Address, name: 'Address', description: 'Object id or Personal address.' },
|
|
78
|
+
{ type: RepositoryValueType.Address_Vec, name: 'Address vector', description: 'Vector of address.' },
|
|
79
|
+
{ type: RepositoryValueType.String, name: 'String', description: 'String.' },
|
|
80
|
+
{ type: RepositoryValueType.String_Vec, name: 'String vector', description: 'Vector of string.' },
|
|
81
|
+
{ type: RepositoryValueType.PositiveNumber, name: 'Positive number', description: 'Positive number. including u8, u16 ,..., u256' },
|
|
82
|
+
{ type: RepositoryValueType.PositiveNumber_Vec, name: 'Positive number vector', description: 'Vector of positive number' },
|
|
83
|
+
];
|
|
84
|
+
export const ValueTypeInfo = [
|
|
85
|
+
{ type: ValueType.TYPE_BOOL, name: 'bool' },
|
|
86
|
+
{ type: ValueType.TYPE_ADDRESS, name: 'address' },
|
|
87
|
+
{ type: ValueType.TYPE_U64, name: 'u64' },
|
|
88
|
+
{ type: ValueType.TYPE_U8, name: 'u8' },
|
|
89
|
+
{ type: ValueType.TYPE_VEC_U8, name: 'vec-u8' },
|
|
90
|
+
{ type: ValueType.TYPE_U128, name: 'u128' },
|
|
91
|
+
{ type: ValueType.TYPE_VEC_ADDRESS, name: 'vec-address' },
|
|
92
|
+
{ type: ValueType.TYPE_VEC_BOOL, name: 'vec-bool' },
|
|
93
|
+
{ type: ValueType.TYPE_VEC_VEC_U8, name: 'vec-vec-u8' },
|
|
94
|
+
{ type: ValueType.TYPE_VEC_U64, name: 'vec-u64' },
|
|
95
|
+
{ type: ValueType.TYPE_VEC_U128, name: 'vec-u128' },
|
|
96
|
+
{ type: ValueType.TYPE_OPTION_ADDRESS, name: 'opt-address' },
|
|
97
|
+
{ type: ValueType.TYPE_OPTION_BOOL, name: 'opt-bool' },
|
|
98
|
+
{ type: ValueType.TYPE_OPTION_U8, name: 'opt-u8' },
|
|
99
|
+
{ type: ValueType.TYPE_OPTION_U64, name: 'opt-u64' },
|
|
100
|
+
{ type: ValueType.TYPE_OPTION_U128, name: 'opt-u128' },
|
|
101
|
+
{ type: ValueType.TYPE_OPTION_U256, name: 'opt-u256' },
|
|
102
|
+
{ type: ValueType.TYPE_OPTION_STRING, name: 'opt-string' },
|
|
103
|
+
{ type: ValueType.TYPE_OPTION_VEC_U8, name: 'opt-vec-u8' },
|
|
104
|
+
{ type: ValueType.TYPE_VEC_U256, name: 'vec-u256' },
|
|
105
|
+
{ type: ValueType.TYPE_STRING, name: 'string' },
|
|
106
|
+
{ type: ValueType.TYPE_VEC_STRING, name: 'vec-string' },
|
|
107
|
+
{ type: ValueType.TYPE_U256, name: 'u256' },
|
|
108
|
+
];
|
|
66
109
|
export const OperatorTypeArray = Object.values(OperatorType).filter((v) => typeof (v) === 'number');
|
|
67
110
|
export const ValueTypeArray = Object.values(ValueType).filter((v) => typeof (v) === 'number');
|
|
68
111
|
export const IsValidOperatorType = (type) => { return OperatorTypeArray.includes(type); };
|
|
@@ -105,6 +148,16 @@ export var ENTRYPOINT;
|
|
|
105
148
|
ENTRYPOINT["devnet"] = "devnet";
|
|
106
149
|
ENTRYPOINT["localnet"] = "localnet";
|
|
107
150
|
})(ENTRYPOINT || (ENTRYPOINT = {}));
|
|
151
|
+
const TESTNET = {
|
|
152
|
+
package: "0x852fa17575b1ae11932b475110bf46981458fdb67a2f07b922022e1516560fad",
|
|
153
|
+
wowok_object: '0xf98cc6d8bd9feadc5dce7365270b4ffb32f69a5320ab739193d301103e686e8c',
|
|
154
|
+
entity_object: '0xe0469c187499273ec39a575cc28d4d93f0a66b11e1b92028c61bc69bfc1167c6',
|
|
155
|
+
};
|
|
156
|
+
const MAINNET = {
|
|
157
|
+
package: "",
|
|
158
|
+
wowok_object: '',
|
|
159
|
+
entity_object: '',
|
|
160
|
+
};
|
|
108
161
|
export class Protocol {
|
|
109
162
|
network = '';
|
|
110
163
|
package = '';
|
|
@@ -125,6 +178,9 @@ export class Protocol {
|
|
|
125
178
|
;
|
|
126
179
|
return Protocol._instance;
|
|
127
180
|
}
|
|
181
|
+
static Client() {
|
|
182
|
+
return new SuiClient({ url: Protocol.Instance().NetworkUrl() });
|
|
183
|
+
}
|
|
128
184
|
UseNetwork(network = ENTRYPOINT.testnet) {
|
|
129
185
|
this.network = network;
|
|
130
186
|
switch (network) {
|
|
@@ -133,12 +189,16 @@ export class Protocol {
|
|
|
133
189
|
case ENTRYPOINT.devnet:
|
|
134
190
|
break;
|
|
135
191
|
case ENTRYPOINT.testnet:
|
|
136
|
-
this.package =
|
|
137
|
-
this.wowok_object =
|
|
138
|
-
this.entity_object =
|
|
192
|
+
this.package = TESTNET.package;
|
|
193
|
+
this.wowok_object = TESTNET.wowok_object;
|
|
194
|
+
this.entity_object = TESTNET.entity_object;
|
|
139
195
|
this.graphql = 'https://sui-testnet.mystenlabs.com/graphql';
|
|
140
196
|
break;
|
|
141
197
|
case ENTRYPOINT.mainnet:
|
|
198
|
+
this.package = MAINNET.package;
|
|
199
|
+
this.wowok_object = MAINNET.wowok_object;
|
|
200
|
+
this.entity_object = MAINNET.entity_object;
|
|
201
|
+
this.graphql = 'https://sui-mainnet.mystenlabs.com/graphql';
|
|
142
202
|
break;
|
|
143
203
|
}
|
|
144
204
|
;
|
|
@@ -213,31 +273,76 @@ export class Protocol {
|
|
|
213
273
|
return response;
|
|
214
274
|
};
|
|
215
275
|
// used in service, discount, order, because service has COIN wrapper for TOKEN
|
|
216
|
-
static SUI_TOKEN_TYPE = '
|
|
276
|
+
static SUI_TOKEN_TYPE = '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI'; // TOKEN_TYPE
|
|
217
277
|
// used in demand, reward, ...
|
|
218
|
-
static SUI_COIN_TYPE = '
|
|
278
|
+
static SUI_COIN_TYPE = '0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x2::sui::SUI>'; // COIN TYPE
|
|
219
279
|
WOWOK_TOKEN_TYPE = () => { return this.package + '::wowok::WOWOK'; };
|
|
220
280
|
WOWOK_COIN_TYPE = () => { return '0x2::coin::Coin<' + this.package + '::wowok::WOWOK>'; };
|
|
221
281
|
COINS_TYPE = () => {
|
|
222
282
|
switch (this.network) {
|
|
223
283
|
case ENTRYPOINT.testnet:
|
|
224
|
-
|
|
225
|
-
{name:'SUI', type:'0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI', decimals:9},
|
|
226
|
-
{name:'WOW', type:this.WOWOK_TOKEN_TYPE(), decimals:9},
|
|
227
|
-
];*/
|
|
284
|
+
return this.CoinTypes_Testnet;
|
|
228
285
|
case ENTRYPOINT.mainnet:
|
|
229
|
-
return
|
|
230
|
-
{ name: 'SUI', type: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI', decimals: 9 },
|
|
231
|
-
{ name: 'WOW', type: this.WOWOK_TOKEN_TYPE(), decimals: 9 },
|
|
232
|
-
{ name: 'USDT', type: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN', decimals: 6 },
|
|
233
|
-
{ name: 'USDC', type: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN', decimals: 6 },
|
|
234
|
-
{ name: 'WETH', type: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN', decimals: 8 },
|
|
235
|
-
{ name: 'WBNB', type: '0xb848cce11ef3a8f62eccea6eb5b35a12c4c2b1ee1af7755d02d7bd6218e8226f::coin::COIN', decimals: 8 },
|
|
236
|
-
];
|
|
286
|
+
return this.CoinTypes_Mainnet;
|
|
237
287
|
}
|
|
238
288
|
;
|
|
239
289
|
return [];
|
|
240
290
|
};
|
|
291
|
+
Update_CoinType = (token_type, decimals, symbol) => {
|
|
292
|
+
if (!symbol || !token_type)
|
|
293
|
+
return;
|
|
294
|
+
switch (this.network) {
|
|
295
|
+
case ENTRYPOINT.testnet:
|
|
296
|
+
var r = this.CoinTypes_Testnet.filter((v) => v?.type !== token_type);
|
|
297
|
+
r.push({ symbol: symbol, type: token_type, decimals: decimals });
|
|
298
|
+
this.CoinTypes_Testnet = r;
|
|
299
|
+
break;
|
|
300
|
+
case ENTRYPOINT.mainnet:
|
|
301
|
+
var r = this.CoinTypes_Mainnet.filter((v) => v?.type !== token_type);
|
|
302
|
+
r.push({ symbol: symbol, type: token_type, decimals: decimals });
|
|
303
|
+
this.CoinTypes_Mainnet = r;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
;
|
|
307
|
+
};
|
|
308
|
+
ExplorerUrl = (objectid, type = 'object') => {
|
|
309
|
+
if (this.network === ENTRYPOINT.testnet) {
|
|
310
|
+
return 'https://testnet.suivision.xyz/' + type + '/' + objectid;
|
|
311
|
+
}
|
|
312
|
+
else if (this.network === ENTRYPOINT.mainnet) {
|
|
313
|
+
return 'https://suivision.xyz/' + type + '/' + objectid;
|
|
314
|
+
}
|
|
315
|
+
;
|
|
316
|
+
return '';
|
|
317
|
+
};
|
|
318
|
+
CoinTypes_Testnet = [
|
|
319
|
+
{ symbol: 'SUI', type: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI', decimals: 9 },
|
|
320
|
+
{ symbol: 'SUI', type: '0x2::sui::SUI', decimals: 9 },
|
|
321
|
+
{ symbol: 'WOW', type: TESTNET.package + '::wowok::WOWOK', decimals: 9 },
|
|
322
|
+
{ symbol: 'USDT', type: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN', decimals: 6 },
|
|
323
|
+
{ symbol: 'USDC', type: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN', decimals: 6 },
|
|
324
|
+
{ symbol: 'WETH', type: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN', decimals: 8 },
|
|
325
|
+
{ symbol: 'WBNB', type: '0xb848cce11ef3a8f62eccea6eb5b35a12c4c2b1ee1af7755d02d7bd6218e8226f::coin::COIN', decimals: 8 },
|
|
326
|
+
];
|
|
327
|
+
CoinTypes_Mainnet = [];
|
|
328
|
+
GetCoinTypeInfo = (token_type, handler) => {
|
|
329
|
+
let r = this.COINS_TYPE().find((v) => v?.type === token_type);
|
|
330
|
+
if (!r) {
|
|
331
|
+
Protocol.Client().getCoinMetadata({ coinType: token_type }).then((res) => {
|
|
332
|
+
if (res?.decimals && res?.symbol) {
|
|
333
|
+
this.Update_CoinType(token_type, res?.decimals, res?.symbol);
|
|
334
|
+
handler({ symbol: res.symbol, decimals: res.decimals, type: token_type });
|
|
335
|
+
}
|
|
336
|
+
}).catch((e) => {
|
|
337
|
+
console.log(e);
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
return r;
|
|
342
|
+
}
|
|
343
|
+
;
|
|
344
|
+
return 'loading';
|
|
345
|
+
};
|
|
241
346
|
static CLOCK_OBJECT = Inputs.SharedObjectRef({
|
|
242
347
|
objectId: "0x6",
|
|
243
348
|
mutable: false,
|
|
@@ -261,6 +366,8 @@ export class Protocol {
|
|
|
261
366
|
WOWOK_OBJECTS_TYPE = () => Object.keys(MODULES).map((key) => { let i = this.package + '::' + key + '::'; return i + capitalize(key); });
|
|
262
367
|
WOWOK_OBJECTS_PREFIX_TYPE = () => Object.keys(MODULES).map((key) => { return this.package + '::' + key + '::'; });
|
|
263
368
|
object_name_from_type_repr = (type_repr) => {
|
|
369
|
+
if (!type_repr)
|
|
370
|
+
return '';
|
|
264
371
|
let i = type_repr.indexOf('::');
|
|
265
372
|
if (i > 0 && type_repr.slice(0, i) === this.package) {
|
|
266
373
|
i = type_repr.indexOf('<');
|
|
@@ -282,6 +389,7 @@ export class RpcResultParser {
|
|
|
282
389
|
return names;
|
|
283
390
|
};
|
|
284
391
|
static objectids_from_response = (protocol, response, concat_result) => {
|
|
392
|
+
// console.log(response)
|
|
285
393
|
let ret = new Map();
|
|
286
394
|
if (response?.objectChanges) {
|
|
287
395
|
response.objectChanges.forEach((change) => {
|
package/dist/repository.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Protocol, ValueType, RepositoryAddress, PermissionObject, PassportObject, TxbObject } from './protocol';
|
|
1
|
+
import { Protocol, ValueType, RepositoryValueType, RepositoryAddress, PermissionObject, PassportObject, TxbObject } from './protocol';
|
|
2
2
|
import { PermissionIndexType } from './permission';
|
|
3
3
|
export declare enum Repository_Policy_Mode {
|
|
4
4
|
POLICY_MODE_FREE = 0,
|
|
@@ -7,7 +7,7 @@ export declare enum Repository_Policy_Mode {
|
|
|
7
7
|
export type Repository_Policy = {
|
|
8
8
|
key: string;
|
|
9
9
|
description: string;
|
|
10
|
-
|
|
10
|
+
data_type: RepositoryValueType;
|
|
11
11
|
permission?: PermissionIndexType;
|
|
12
12
|
};
|
|
13
13
|
export type Repository_Policy_Data = {
|
|
@@ -34,7 +34,8 @@ export declare class Repository {
|
|
|
34
34
|
add_reference(references: string[], passport?: PassportObject): void;
|
|
35
35
|
remove_reference(references: string[], removeall?: boolean, passport?: PassportObject): void;
|
|
36
36
|
add_policies(policies: Repository_Policy[], passport?: PassportObject): void;
|
|
37
|
-
remove_policies(policy_keys: string[],
|
|
37
|
+
remove_policies(policy_keys: string[], passport?: PassportObject): void;
|
|
38
|
+
rename_policy(policy_key: string, new_policy_key: string, passport?: PassportObject): void;
|
|
38
39
|
set_description(description: string, passport?: PassportObject): void;
|
|
39
40
|
set_policy_mode(policy_mode: Repository_Policy_Mode, passport?: PassportObject): void;
|
|
40
41
|
set_policy_description(policy: string, description: string, passport?: PassportObject): void;
|
|
@@ -43,7 +44,9 @@ export declare class Repository {
|
|
|
43
44
|
static MAX_POLICY_COUNT: number;
|
|
44
45
|
static MAX_KEY_LENGTH: number;
|
|
45
46
|
static MAX_VALUE_LENGTH: number;
|
|
47
|
+
static MAX_REFERENCE_COUNT: number;
|
|
46
48
|
static IsValidName: (key: string) => boolean;
|
|
47
49
|
static IsValidValue: (value: Uint8Array) => boolean;
|
|
50
|
+
static parseObjectType: (chain_type: string) => string;
|
|
48
51
|
}
|
|
49
52
|
//# sourceMappingURL=repository.d.ts.map
|
package/dist/repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,SAAS,
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AACjJ,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAA;AAK9D,oBAAY,sBAAsB;IAC9B,gBAAgB,IAAI;IACpB,kBAAkB,IAAI;CACzB;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,GAAG,EAAC,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAA;AAED,qBAAa,UAAU;IACnB,SAAS,CAAC,UAAU,mBAAE;IACtB,SAAS,CAAC,MAAM,EAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;IACV,OAAO;IAKP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,EAAC,gBAAgB,EAAE,MAAM,EAAC,SAAS,GAAI,UAAU;IAK1F,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,EACzE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAC,cAAc,GAAI,UAAU;IAyB/E,MAAM,IAAK,iBAAiB;IAO5B,OAAO;IASP,QAAQ,CAAC,IAAI,EAAC,sBAAsB;IAuCpC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,MAAM;IAkBjC,aAAa,CAAC,UAAU,EAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IA0B3D,gBAAgB,CAAC,UAAU,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,cAAc;IA2ClF,YAAY,CAAC,QAAQ,EAAC,iBAAiB,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwCnE,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAC,cAAc;IAyB9D,aAAa,CAAC,UAAU,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwBhF,eAAe,CAAC,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAoB5D,eAAe,CAAC,WAAW,EAAC,sBAAsB,EAAE,QAAQ,CAAC,EAAC,cAAc;IAe5E,sBAAsB,CAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IAwBlF,qBAAqB,CAAC,MAAM,EAAC,MAAM,EAAE,gBAAgB,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,cAAc;IA4BvF,iBAAiB,CAAC,cAAc,EAAC,gBAAgB;IAajD,MAAM,CAAC,gBAAgB,SAAO;IAC9B,MAAM,CAAC,cAAc,SAAO;IAC5B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,mBAAmB,SAAO;IACjC,MAAM,CAAC,WAAW,QAAQ,MAAM,aAE/B;IACD,MAAM,CAAC,YAAY,UAAU,UAAU,aAEtC;IACD,MAAM,CAAC,eAAe,eAAe,MAAM,KAAI,MAAM,CAUpD;CACJ"}
|
package/dist/repository.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BCS } from '@mysten/bcs';
|
|
2
2
|
import { Protocol, ValueType } from './protocol';
|
|
3
3
|
import { Permission } from './permission';
|
|
4
|
-
import { Bcs, array_unique, IsValidDesription, IsValidAddress, IsValidArray, OptionNone, } from './utils';
|
|
4
|
+
import { Bcs, array_unique, IsValidDesription, IsValidAddress, IsValidArray, OptionNone, IsValidName, } from './utils';
|
|
5
5
|
import { ERROR, Errors } from './exception';
|
|
6
6
|
export var Repository_Policy_Mode;
|
|
7
7
|
(function (Repository_Policy_Mode) {
|
|
@@ -120,11 +120,12 @@ export class Repository {
|
|
|
120
120
|
}
|
|
121
121
|
add_reference(references, passport) {
|
|
122
122
|
if (!references) {
|
|
123
|
-
ERROR(Errors.InvalidParam, '
|
|
123
|
+
ERROR(Errors.InvalidParam, 'add_reference');
|
|
124
124
|
}
|
|
125
125
|
if (!IsValidArray(references, IsValidAddress)) {
|
|
126
|
-
ERROR(Errors.IsValidArray, '
|
|
126
|
+
ERROR(Errors.IsValidArray, 'add_reference');
|
|
127
127
|
}
|
|
128
|
+
console.log(array_unique(references));
|
|
128
129
|
let txb = this.protocol.CurrentSession();
|
|
129
130
|
if (passport) {
|
|
130
131
|
txb.moveCall({
|
|
@@ -144,11 +145,11 @@ export class Repository {
|
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
remove_reference(references, removeall, passport) {
|
|
147
|
-
if (!references) {
|
|
148
|
-
ERROR(Errors.InvalidParam, '
|
|
148
|
+
if (!references && !removeall) {
|
|
149
|
+
ERROR(Errors.InvalidParam, 'remove_reference');
|
|
149
150
|
}
|
|
150
|
-
if (!IsValidArray(references, IsValidAddress)) {
|
|
151
|
-
ERROR(Errors.IsValidArray, '
|
|
151
|
+
if (references && !IsValidArray(references, IsValidAddress)) {
|
|
152
|
+
ERROR(Errors.IsValidArray, 'remove_reference');
|
|
152
153
|
}
|
|
153
154
|
let txb = this.protocol.CurrentSession();
|
|
154
155
|
if (removeall) {
|
|
@@ -209,7 +210,7 @@ export class Repository {
|
|
|
209
210
|
arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
|
|
210
211
|
txb.pure(policy.key),
|
|
211
212
|
txb.pure(policy.description),
|
|
212
|
-
permission_index, txb.pure(policy.
|
|
213
|
+
permission_index, txb.pure(policy.data_type, BCS.U8),
|
|
213
214
|
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
214
215
|
});
|
|
215
216
|
}
|
|
@@ -219,14 +220,14 @@ export class Repository {
|
|
|
219
220
|
arguments: [Protocol.TXB_OBJECT(txb, this.object),
|
|
220
221
|
txb.pure(policy.key),
|
|
221
222
|
txb.pure(policy.description),
|
|
222
|
-
permission_index, txb.pure(policy.
|
|
223
|
+
permission_index, txb.pure(policy.data_type, BCS.U8),
|
|
223
224
|
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
224
225
|
});
|
|
225
226
|
}
|
|
226
227
|
});
|
|
227
228
|
}
|
|
228
|
-
remove_policies(policy_keys,
|
|
229
|
-
if (!
|
|
229
|
+
remove_policies(policy_keys, passport) {
|
|
230
|
+
if (!policy_keys) {
|
|
230
231
|
ERROR(Errors.AllInvalid, 'policy_keys & removeall');
|
|
231
232
|
}
|
|
232
233
|
if (policy_keys && !IsValidArray(policy_keys, Repository.IsValidName)) {
|
|
@@ -234,36 +235,42 @@ export class Repository {
|
|
|
234
235
|
}
|
|
235
236
|
let txb = this.protocol.CurrentSession();
|
|
236
237
|
if (passport) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
txb.moveCall({
|
|
245
|
-
target: this.protocol.RepositoryFn('policy_remove_with_passport'),
|
|
246
|
-
arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
|
|
247
|
-
txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(policy_keys))),
|
|
248
|
-
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
249
|
-
});
|
|
250
|
-
}
|
|
238
|
+
txb.moveCall({
|
|
239
|
+
target: this.protocol.RepositoryFn('policy_remove_with_passport'),
|
|
240
|
+
arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
|
|
241
|
+
txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(policy_keys))),
|
|
242
|
+
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
243
|
+
});
|
|
251
244
|
}
|
|
252
245
|
else {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
246
|
+
txb.moveCall({
|
|
247
|
+
target: this.protocol.RepositoryFn('policy_remove'),
|
|
248
|
+
arguments: [Protocol.TXB_OBJECT(txb, this.object),
|
|
249
|
+
txb.pure(Bcs.getInstance().ser(ValueType.TYPE_VEC_STRING, array_unique(policy_keys))),
|
|
250
|
+
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
rename_policy(policy_key, new_policy_key, passport) {
|
|
255
|
+
if (!IsValidName(policy_key) || !IsValidName(new_policy_key)) {
|
|
256
|
+
ERROR(Errors.IsValidName, 'change_policy');
|
|
257
|
+
}
|
|
258
|
+
let txb = this.protocol.CurrentSession();
|
|
259
|
+
if (passport) {
|
|
260
|
+
txb.moveCall({
|
|
261
|
+
target: this.protocol.RepositoryFn('policy_rename_with_passport'),
|
|
262
|
+
arguments: [passport, Protocol.TXB_OBJECT(txb, this.object),
|
|
263
|
+
txb.pure(policy_key, BCS.STRING), txb.pure(new_policy_key, BCS.STRING),
|
|
264
|
+
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
txb.moveCall({
|
|
269
|
+
target: this.protocol.RepositoryFn('policy_rename'),
|
|
270
|
+
arguments: [Protocol.TXB_OBJECT(txb, this.object),
|
|
271
|
+
txb.pure(policy_key, BCS.STRING), txb.pure(new_policy_key, BCS.STRING),
|
|
272
|
+
Protocol.TXB_OBJECT(txb, this.permission)]
|
|
273
|
+
});
|
|
267
274
|
}
|
|
268
275
|
}
|
|
269
276
|
// PermissionIndex.description_set
|
|
@@ -360,13 +367,25 @@ export class Repository {
|
|
|
360
367
|
});
|
|
361
368
|
this.permission = new_permission;
|
|
362
369
|
}
|
|
363
|
-
static MAX_POLICY_COUNT =
|
|
370
|
+
static MAX_POLICY_COUNT = 200;
|
|
364
371
|
static MAX_KEY_LENGTH = 128;
|
|
365
372
|
static MAX_VALUE_LENGTH = 204800;
|
|
373
|
+
static MAX_REFERENCE_COUNT = 100;
|
|
366
374
|
static IsValidName = (key) => {
|
|
367
375
|
return key.length <= Repository.MAX_KEY_LENGTH && key.length != 0;
|
|
368
376
|
};
|
|
369
377
|
static IsValidValue = (value) => {
|
|
370
378
|
return value.length < Repository.MAX_VALUE_LENGTH;
|
|
371
379
|
};
|
|
380
|
+
static parseObjectType = (chain_type) => {
|
|
381
|
+
if (chain_type) {
|
|
382
|
+
const s = 'repository::Repository<';
|
|
383
|
+
const i = chain_type.indexOf(s);
|
|
384
|
+
if (i > 0) {
|
|
385
|
+
let r = chain_type.slice(i + s.length, chain_type.length - 1);
|
|
386
|
+
return r;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
return '';
|
|
390
|
+
};
|
|
372
391
|
}
|
package/dist/resource.d.ts
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
import { Protocol, TxbObject } from './protocol';
|
|
2
|
+
export interface Tags {
|
|
3
|
+
address: string;
|
|
4
|
+
nick: string;
|
|
5
|
+
tags: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface ResourceData {
|
|
8
|
+
name: string;
|
|
9
|
+
address: string[];
|
|
10
|
+
}
|
|
2
11
|
export declare class Resource {
|
|
3
|
-
static
|
|
4
|
-
static
|
|
12
|
+
static MAX_ADDRESS_COUNT: number;
|
|
13
|
+
static MAX_TAGS: number;
|
|
14
|
+
static LikeName: string;
|
|
15
|
+
static DislikeName: string;
|
|
16
|
+
static FavorName: string;
|
|
5
17
|
protected object: TxbObject;
|
|
6
18
|
protected protocol: Protocol;
|
|
7
19
|
get_object(): TxbObject;
|
|
8
20
|
private constructor();
|
|
9
21
|
static From(protocol: Protocol, object: TxbObject): Resource;
|
|
10
|
-
add(name: string, object: string): void;
|
|
11
|
-
|
|
22
|
+
add(name: string, object: string[]): void;
|
|
23
|
+
add2(object: string, name: string[]): void;
|
|
24
|
+
remove(name: string, object?: string[], removeall?: boolean): void;
|
|
25
|
+
remove2(object: string, name: string[]): void;
|
|
12
26
|
rename(old_name: string, new_name: string): void;
|
|
13
|
-
|
|
14
|
-
|
|
27
|
+
add_tags(object: string, nick: string, tags: string[]): void;
|
|
28
|
+
remove_tags(object: string): void;
|
|
15
29
|
}
|
|
16
30
|
//# sourceMappingURL=resource.d.ts.map
|
package/dist/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,SAAS,EAAkB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,SAAS,EAAkB,MAAM,YAAY,CAAC;AAG7E,MAAM,WAAW,IAAI;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,qBAAa,QAAQ;IACjB,MAAM,CAAC,iBAAiB,SAAO;IAC/B,MAAM,CAAC,QAAQ,SAAK;IAEpB,MAAM,CAAC,QAAQ,SAAU;IACzB,MAAM,CAAC,WAAW,SAAa;IAC/B,MAAM,CAAC,SAAS,SAAW;IAE3B,SAAS,CAAC,MAAM,EAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,WAAC;IAEnB,UAAU;IACV,OAAO;IAKP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAE,MAAM,EAAC,SAAS,GAAI,QAAQ;IAM3D,GAAG,CAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,EAAE;IAYhC,IAAI,CAAC,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE;IAYjC,MAAM,CAAC,IAAI,EAAC,MAAM,EAAE,MAAM,CAAC,EAAC,MAAM,EAAE,EAAE,SAAS,CAAC,EAAC,OAAO;IAoBxD,OAAO,CAAC,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE;IAYpC,MAAM,CAAC,QAAQ,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM;IAUvC,QAAQ,CAAC,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE;IAgBlD,WAAW,CAAC,MAAM,EAAC,MAAM;CAS5B"}
|