wowok
Version:
Create, collaborate, and transact on your own terms with the AI-driven web3 collaboration protocol.
83 lines • 3.39 kB
TypeScript
import { ValueType, RepositoryValueType, RepositoryAddress, PermissionObject, PassportObject, TxbObject } from './protocol';
import { PermissionIndexType } from './permission';
import { Transaction as TransactionBlock } from '@mysten/sui/transactions';
export declare enum Repository_Policy_Mode {
POLICY_MODE_FREE = 0,
POLICY_MODE_STRICT = 1
}
export declare enum Repository_Type {
NORMAL = 0,
WOWOK_GRANTEE = 1,
WOWOK_ORACLE = 2
}
export interface RepData {
id: string;
name: string;
dataType: RepositoryValueType;
data: string | string[];
object: string;
}
export interface Repository_Policy {
key: string;
description: string;
dataType: RepositoryValueType;
permissionIndex?: PermissionIndexType | null;
}
export interface Repository_Policy_Data {
key: string;
data: Repository_Value[];
value_type?: ValueType;
}
export interface Repository_Value {
address: string;
bcsBytes: Uint8Array;
}
export interface Repository_Value2 {
key: string;
bcsBytes: Uint8Array;
}
export interface Repository_Policy_Data2 {
address: string;
data: Repository_Value2[];
value_type?: ValueType;
}
export interface Repository_Policy_Data_Remove {
key: string;
address: string;
}
export declare class Repository {
protected permission: PermissionObject;
protected object: TxbObject;
protected txb: TransactionBlock;
get_object(): TxbObject;
private constructor();
static From(txb: TransactionBlock, permission: PermissionObject, object: TxbObject): Repository;
static New(txb: TransactionBlock, permission: PermissionObject, description: string, policy_mode?: Repository_Policy_Mode, passport?: PassportObject): Repository;
launch(): RepositoryAddress;
add_data(data: Repository_Policy_Data): void;
add_data2(data: Repository_Policy_Data2): void;
remove(address: string, key: string): void;
add_reference(references: string[], passport?: PassportObject): void;
remove_reference(references: string[], removeall?: boolean, passport?: PassportObject): void;
add_policies(policies: Repository_Policy[], passport?: PassportObject): void;
remove_policies(policy_keys: string[], removeall?: boolean, passport?: PassportObject): void;
rename_policy(policy_key: string, new_policy_key: string, passport?: PassportObject): void;
set_description(description: string, passport?: PassportObject): void;
set_policy_mode(policy_mode: Repository_Policy_Mode, passport?: PassportObject): void;
set_policy_description(policy: string, description: string, passport?: PassportObject): void;
set_policy_permission(policy: string, permission_index?: number, passport?: PassportObject): void;
change_permission(new_permission: PermissionObject): void;
static MAX_POLICY_COUNT: number;
static MAX_KEY_LENGTH: number;
static MAX_VALUE_LENGTH: number;
static MAX_REFERENCE_COUNT: number;
static IsValidName: (key: string) => boolean;
static IsValidValue: (value: Uint8Array) => boolean;
static rpc_de_data(fields: any): RepData[];
static DataType2ValueType(data: string): ValueType | undefined;
static ResolveRepositoryData: (dataType: RepositoryValueType, data: string | boolean | string[]) => {
type: ValueType;
data: Uint8Array;
} | undefined;
}
//# sourceMappingURL=repository.d.ts.map