@zerochain/sdk
Version:
The Züs JS SDK is a JavaScript client library that provides a convenient interface for interacting with the Züs Network. It allows developers to perform various operations such as creating and managing allocations, uploading and downloading files, executi
108 lines (107 loc) • 3.29 kB
TypeScript
export type Domain = 'mainnet.zus.network' | 'devnet.zus.network';
export type NetworkDomain = Domain | (string & {});
export type NetworkConfig = {
/** Chain ID */
chainId?: string;
/** signatureScheme is the Signature scheme used for signing transactions */
signatureScheme?: string;
/** minConfirmation is the minimum number of confirmations required for a transaction to be considered final */
minConfirmation?: number;
/** minSubmit is the minimum number of times a transaction must be submitted to the network */
minSubmit?: number;
/** confirmationChainLength is the number of blocks to wait for a transaction to be confirmed */
confirmationChainLength?: number;
/** sharderConsensus is the number of sharders to reach consensus */
sharderConsensus?: number;
/** zboxHost is the url of the 0box service */
zboxHost?: `https://0box.${Domain}` | (string & {});
/** blockWorker is the block worker url */
blockWorker?: `https://${Domain}/dns` | (string & {});
};
export type BasicWallet = {
id: string;
name: string;
mnemonic: string;
version: '1.0';
creationDate: number;
keys: {
walletId: string;
publicKey: string;
privateKey: string;
publicEncryptionKey: string;
walletMnemonic: string;
};
};
export type ActiveWallet = {
id?: string;
temp_id?: string;
name?: string;
source_client_id?: string | null;
client_key?: string;
public_key?: string;
mnemonic?: string;
keys?: {
privateKey: string;
publicKey: string;
walletMnemonic?: string;
};
is_split?: boolean;
peer_public_key?: string;
zauth_host?: `https://zauth.${Domain}` | (string & {});
};
export type Transaction = {
hash?: string;
version?: string;
client_id?: string;
public_key?: string;
to_client_id?: string;
chain_id?: string;
transaction_data: string;
transaction_value: number;
signature?: string;
creation_date?: number;
transaction_type: number;
transaction_output?: string;
transaction_fee: number;
transaction_nonce: number;
txn_output_hash: string;
transaction_status: number;
};
export declare const providerTypes: {
readonly miner: 1;
readonly sharder: 2;
readonly blobber: 3;
readonly validator: 4;
readonly authorizer: 5;
};
export type ProviderType = keyof typeof providerTypes;
export declare const getProviderTypeId: (providerType: ProviderType) => number;
/** StakePoolInfo is the information of stake pool of a provider */
export type StakePoolInfo = {
pool_id: string;
balance: number;
stake_total: number;
delegate: StakePoolDelegatePoolInfo[];
rewards: number;
total_rewards: number;
settings: StakePoolSettings;
};
/** StakePoolDelegatePoolInfo represents delegate pool of a stake pool info */
type StakePoolDelegatePoolInfo = {
id: string;
balance: number;
delegate_id: string;
rewards: number;
unstake: boolean;
total_reward: number;
total_penalty: number;
status: string;
round_created: number;
staked_at: number;
};
type StakePoolSettings = {
delegate_wallet: string;
num_delegates: number;
service_charge: number;
};
export {};