steem-auth-vue-temp
Version:
A Vue 3 authentication component for Steem blockchain and Echelon sidechain
46 lines (45 loc) • 1.78 kB
TypeScript
/**
* All available Echelon operation types
*/
export type OperationType = 'approve_node' | 'chain_update_create' | 'fund_request_contrib' | 'fund_request_create' | 'fund_request_work' | 'fund_request_work_review' | 'md_queue' | 'md_sign' | 'proposal_edit' | 'proposal_vote' | 'disapprove_node' | 'enable_node' | 'create_market' | 'place_order' | 'create_collection' | 'transfer_nft' | 'create_pool' | 'stake' | 'unstake' | 'create_token' | 'mint_token' | 'transfer_token' | 'update_token' | 'transfer' | 'user_json';
/**
* Field type definitions for operations
*/
export type FieldType = 'string' | 'number' | 'boolean' | 'json' | 'array';
/**
* Definition of a field in an operation
*/
export interface FieldDefinition {
type: FieldType;
required: boolean;
}
/**
* Complete operation definition
*/
export interface OperationDefinition {
type: OperationType;
requiredAuth: 'posting' | 'active' | 'master';
fields: {
[key: string]: FieldDefinition;
};
}
/**
* Default value function for field types
*/
export declare function getDefaultValueForType(type: FieldType): any;
/**
* All supported operations with their definitions
*/
export declare const operations: OperationDefinition[];
/**
* Get operation definition by type
*/
export declare function getOperationByType(type: OperationType): OperationDefinition | undefined;
/**
* Create an empty operation object with default values
*/
export declare function createEmptyOperation(type: OperationType): Record<string, any>;
/**
* Create a properly formatted operation with authentication fields
*/
export declare function createFormattedOperation(type: OperationType, data: Record<string, any>, username: string): Record<string, any>;