@cessnetwork/api
Version:
CESS Chain Interface Implementation in TypeScript
417 lines • 31.2 kB
TypeScript
/**
* Copyright (C) CESS. All rights reserved.
* Copyright (C) Cumulus Encrypted Storage System. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*/
import { AccountInfoData, SystemProperties } from "@cessnetwork/types";
import { ApiPromise } from '@polkadot/api';
import { KeyringPair } from '@polkadot/keyring/types';
import { API } from './api';
import { ChainBase } from './chain/types';
export interface CESSConfig {
name?: string;
rpcs: string[];
privateKey?: string;
ss58Format?: number;
connectionTimeout?: number;
reconnectTimeout?: number;
maxReconnectAttempts?: number;
keyringType?: 'sr25519';
enableEventListener?: boolean;
}
declare const CESS_base: {
new (...args: any[]): {
queryExpander(block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").ExpanderInfo | null>;
queryMinerByAccountId(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").MinerInfo | import("@cessnetwork/types").MinerInfoDetail[] | null>;
queryStakingStartBlock(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<number | import("@cessnetwork/types").MinerStakingStartBlock[]>;
queryAllMiner(block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@polkadot/types/interfaces").AccountId[]>;
queryCounterForMinerItems(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryRewardMapByAccountId(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").MinerReward | import("@cessnetwork/types").MinerRewardDetail[] | null>;
queryMinerLockByAccountId(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").MinerReward | null>;
queryRestoralTargetByAccountId(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").RestoralTargetInfo | import("@cessnetwork/types").RestoralTargetInfoDetail[] | null>;
queryPendingReplacements(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<number | import("@cessnetwork/types").PendingReplacement[] | null>;
queryCompleteSnapShot(era: import("@cessnetwork/types").EraInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").CompleteSnapShotType | null>;
queryCompleteMinerSnapShot(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").MinerCompleteInfo[] | import("@cessnetwork/types").MinerCompleteDetail[]>;
increaseCollateral(account: import("@cessnetwork/types").AccountIdInput, token: import("@cessnetwork/types").Token, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
increaseDeclarationSpace(tibCount: import("@cessnetwork/types").Space, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
minerExitPrep(options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
minerWithdraw(options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
receiveReward(options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
registerPoisKey(poisKey: import("@cessnetwork/types").PoISKeyInfo, teeSignWithAcc: import("@cessnetwork/types").TeeSig, teeSign: import("@cessnetwork/types").TeeSig, teePuk: import("@cessnetwork/types").TeeWorkerPublicKey, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
regnstkSminer(earningAcc: import("@cessnetwork/types").AccountIdInput, endpoint: string, staking: import("@cessnetwork/types").BalanceInput, tibCount: import("@cessnetwork/types").Space, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
regnstkAssignStaking(earningAcc: import("@cessnetwork/types").AccountIdInput, endpoint: string, stakingAcc: import("@cessnetwork/types").AccountIdInput, tibCount: import("@cessnetwork/types").Space, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
updateBeneficiary(earningAcc: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
updateSminerEndpoint(endpoint: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryUnitPrice(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryTotalIdleSpace(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryTotalServiceSpace(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryPurchasedSpace(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryPayOrder(orderId?: import("@cessnetwork/types").OrderId, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StorageHandlerOrder | import("@cessnetwork/types").StorageHandlerOrderDetail[] | null>;
queryTerritory(accountId: import("@cessnetwork/types").AccountIdInput, territoryName?: string, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").Territory | import("@cessnetwork/types").TerritoryDetail[] | null>;
queryConsignment(token?: import("@cessnetwork/types").Token, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").Consignment | import("@cessnetwork/types").ConsignmentDetail[] | null>;
mintTerritory(gibCount: import("@cessnetwork/types").Space, territoryName: string, days: import("@cessnetwork/types").Day, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
expandingTerritory(territoryName: string, gibCount: import("@cessnetwork/types").Space, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
renewalTerritory(territoryName: string, days: import("@cessnetwork/types").Day, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
reactivateTerritory(territoryName: string, days: import("@cessnetwork/types").Day, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
territoryConsignment(territoryName: string, price: import("@cessnetwork/types").Price, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
cancelConsignment(territoryName: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
buyConsignment(token: import("@cessnetwork/types").Token, territoryName: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
cancelPurchaseAction(token: import("@cessnetwork/types").Token, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
clearServiceSpace(options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
createOrder(targetAcc: import("@cessnetwork/types").AccountIdInput, territoryName: string, orderType: import("@cessnetwork/types").OrderType, gibCount: import("@cessnetwork/types").Space, days: import("@cessnetwork/types").Day, expiredAfterNMinutes: number, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
defineUpdatePrice(price: import("@cessnetwork/types").Price, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
execConsignment(token: import("@cessnetwork/types").Token, territoryName: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
execOrder(orderId: import("@cessnetwork/types").OrderId, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
fixTerritorySpaceForReactivate(accountId: import("@cessnetwork/types").AccountIdInput, territoryName: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
otherReactivateTerritory(targetAcc: import("@cessnetwork/types").AccountIdInput, territoryName: string, days: import("@cessnetwork/types").Day, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
territoryGrants(territoryName: string, receiver: import("@cessnetwork/types").AccountIdInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
territoryRename(oldName: string, newName: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
updateExpiredExec(oldBlock: import("@cessnetwork/types").BlockNumberInput, newBlock: import("@cessnetwork/types").BlockNumberInput, token: import("@cessnetwork/types").Token, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
updatePrice(options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
updateUserTerritoryLife(user: import("@cessnetwork/types").AccountIdInput, territoryName: string, deadline: import("@cessnetwork/types").BlockNumberInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryCurrencyReward(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryEraReward(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryReserveReward(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryRoundReward(era: number, block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryMasterPubKey(block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").TeeMasterKeyStatus | null>;
queryWorkerByPubKey(puk?: import("@cessnetwork/types").TeeWorkerPublicKey, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").TeeWorker | import("@cessnetwork/types").TeeWorkerDetail[] | null>;
queryEndpoints(puk?: import("@cessnetwork/types").TeeWorkerPublicKey, block?: import("@cessnetwork/types").BlockNumberInput): Promise<string | import("@cessnetwork/types").Endpoints[] | null>;
queryWorkerStartBlockByPubKey(puk?: import("@cessnetwork/types").TeeWorkerPublicKey, block?: import("@cessnetwork/types").BlockNumberInput): Promise<number | import("@cessnetwork/types").WorkerAddedAt[]>;
queryWorkerCount(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryBlockNumberByHash(hash?: import("@cessnetwork/types").BlockHashInput): Promise<number>;
queryAccountById(account: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<AccountInfoData | import("@cessnetwork/types").AccountInfoDetail[] | null>;
queryBlockHashByNumber(blockNumber: import("@cessnetwork/types").BlockNumberInput): Promise<string>;
queryFinalizedHead(): Promise<string>;
queryBlockDataByHash(hash?: import("@cessnetwork/types").BlockHashInput): Promise<import("@polkadot/types/interfaces").SignedBlock>;
queryChainName(): Promise<string>;
queryChainType(): Promise<string>;
queryChainHealthStatus(): Promise<import("@polkadot/types/interfaces").Health>;
queryChainProperties(): Promise<import("@polkadot/types/interfaces").ChainProperties>;
queryChainVersion(): Promise<string>;
queryCurrentNonce(): Promise<number>;
getBlockByHash(hash: string): Promise<import("@polkadot/types/interfaces").SignedBlock>;
getBlockHashByBlockNum(block?: import("@cessnetwork/types").BlockNumberInput): Promise<string>;
getFinalizedHeadHash(): Promise<string>;
isNetListening(): Promise<boolean>;
getSystemSyncState(): Promise<import("@cessnetwork/types").SysSyncState>;
getSystemVersion(): Promise<string>;
rotateKeys(): Promise<string | any>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryValidators(block?: import("@cessnetwork/types").BlockNumberInput): Promise<string[]>;
queryDisabledValidatorsFromSession(block?: import("@cessnetwork/types").BlockNumberInput): Promise<string[]>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryValidatorAndNominatorTotalCount(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryCurrentValidatorCount(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryTotalStakeByEraNumber(era?: import("@cessnetwork/types").EraInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint | import("@cessnetwork/types").StakeOnEra[]>;
queryCurrentEraNumber(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryRewardPointByEraNumber(era?: import("@cessnetwork/types").EraInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingEraRewardPointDetail[] | import("@cessnetwork/types").StakingEraRewardPoint | null>;
queryAllBonded(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingBounded[] | import("@polkadot/types/interfaces").AccountId | string>;
queryValidatorCommission(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingValidator | import("@cessnetwork/types").StakingValidatorDetail[] | null>;
queryValidatorRewardByEraNumber(era?: import("@cessnetwork/types").EraInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint | import("@cessnetwork/types").ValidatorOnEra[] | null>;
queryLedger(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingLedger | import("@cessnetwork/types").StakingLedgerDetail[] | null>;
queryStakeByEraNumber(era: import("@cessnetwork/types").EraInput, accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingExposure | import("@cessnetwork/types").StakingExposureDetail[] | null>;
queryAllErasStakePaged(era: import("@cessnetwork/types").EraInput, accountId: import("@polkadot/types/interfaces").AccountId | string | Uint8Array, pageIndex?: number, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingExposurePaged | import("@cessnetwork/types").StakingExposurePagedDetail[] | null>;
queryStakeOverviewByEra(era: import("@cessnetwork/types").EraInput, accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").PagedExposureMetadata | import("@cessnetwork/types").PagedExposureMetadataDetail[] | null>;
queryNominator(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingNomination | import("@cessnetwork/types").StakingNominationDetail[] | null>;
queryMinimumActiveStake(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryMinimumValidatorCount(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryActiveEra(block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StakingActiveEraInfo>;
queryCanceledSlashPayout(block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint>;
queryClaimedRewards(era: import("@cessnetwork/types").EraInput, accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<bigint[]>;
queryCurrentPlannedSession(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryDisabledValidators(block?: import("@cessnetwork/types").BlockNumberInput): Promise<number[]>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryDealMap(txHash?: string, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").StorageOrder | import("@cessnetwork/types").StorageOrderDetail[] | null>;
queryFileByFid(fid?: string, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").FileMetadata | import("@cessnetwork/types").FileMetadataDetail[] | null>;
queryRestoralOrder(fragmentHash?: string, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").RestoralOrderInfo | import("@cessnetwork/types").RestoralOrderInfoDetail[] | null>;
queryTaskFailedCount(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
queryUserHoldFileList(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").UserFileSliceInfo[] | import("@cessnetwork/types").UserFileSliceDetail[]>;
uploadDeclaration(hash: string, segment: import("@cessnetwork/types").SegmentList[], user: import("@cessnetwork/types").UserBrief, filesize: bigint, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
deleteFile(owner: import("@cessnetwork/types").AccountIdInput, hash: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
transferReport(index: number, hash: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
generateRestoralOrder(hash: string, fragmentHash: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
claimRestoralOrder(fragmentHash: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
claimRestoralNoExistOrder(puk: Uint8Array, hash: string, fragmentHash: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
restoralOrderComplete(fragmentHash: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
certIdleSpace(spaceProofInfo: import("@cessnetwork/types").SpaceProofInfo, teeSignWithAcc: string, teeSign: string, teePuk: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
replaceIdleSpace(spaceProofInfo: import("@cessnetwork/types").SpaceProofInfo, teeSignWithAcc: string, teeSign: string, teePuk: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
calculateReport(teeSig: string, tagSigInfo: import("@cessnetwork/types").TagSigInfo, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
territoryFileDelivery(user: Uint8Array, hash: string, targetTerritory: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryOssByAccountId(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").OssInfo | import("@cessnetwork/types").OssDetail[] | null>;
queryAuthorityListByAccountId(accountId?: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<string[] | import("@cessnetwork/types").OssAuthorityList[]>;
authorize(accountId: import("@cessnetwork/types").AccountIdInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
proxyAuthorize(account: import("@cessnetwork/types").AccountIdInput, sig: import("@cessnetwork/types").ProxySig, payload: import("@cessnetwork/types").OssProxyAuthPayload, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
cancelOssAuthorize(accountId: import("@cessnetwork/types").AccountIdInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
registerOssNode(domain: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
updateOssEndpoint(domain: string, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
destroyOss(options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryBalanceHoldsByAccountId(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<any>;
queryBalanceLocksByAccountId(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").AccountLock>;
queryTotalIssuance(block?: import("@cessnetwork/types").BlockNumberInput): Promise<BigInt>;
queryInactiveIssuance(block?: import("@cessnetwork/types").BlockNumberInput): Promise<BigInt>;
transferAll(dest: import("@cessnetwork/types").MultiAddressInput, keepAlive: Boolean, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
transferAllowDeath(dest: import("@cessnetwork/types").MultiAddressInput, value: import("@cessnetwork/types").BalanceInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
transferKeepAlive(dest: import("@cessnetwork/types").MultiAddressInput, value: import("@cessnetwork/types").BalanceInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
burn(value: import("@cessnetwork/types").BalanceInput, keepAlive: Boolean, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
batchTransferKeepAlive(recipients: import(".").BatchTransferRecipient[], options?: import(".").BatchTransferOptions): Promise<import(".").BatchTransferResult>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & {
new (...args: any[]): {
queryChallengeSnapShot(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<import("@cessnetwork/types").ChallengeInfo | null>;
queryCountedClear(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
updateCountedClear(accountId: import("@cessnetwork/types").AccountIdInput, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
queryCountedServiceFailed(accountId: import("@cessnetwork/types").AccountIdInput, block?: import("@cessnetwork/types").BlockNumberInput): Promise<number>;
submitIdleProof(idleProof: import("@cessnetwork/types").SpaceProof, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
submitServiceProof(serviceProof: import("@cessnetwork/types").SpaceProof, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
submitVerifyIdleResult(totalProofHash: string | Uint8Array, front: number | import("@polkadot/types").U64 | bigint, rear: number | import("@polkadot/types").U64 | bigint, accumulator: import("@cessnetwork/types").Accumulator, result: Boolean | import("@polkadot/types").Bool, sig: import("@cessnetwork/types").TeeSig, teePuk: import("@cessnetwork/types").TeeWorkerPublicKey, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
submitVerifyServiceResult(serviceResult: import("@polkadot/types").Bool | Boolean, signature: import("@cessnetwork/types").TeeSig, bloomFilter: import("@cessnetwork/types").BloomFilter, teePuk: import("@cessnetwork/types").TeeWorkerPublicKey, options?: import("./utils").TransactionOptions): Promise<import("./utils").TransactionResult>;
api: ApiPromise | null;
keyring: KeyringPair | null;
};
} & typeof ChainBase;
/**
* CESS ChainClient class implementing Chainer interface
*/
export declare class CESS extends CESS_base implements API {
api: ApiPromise | null;
keyring: KeyringPair | null;
private provider;
private metadata;
private runtimeVersion;
private genesisHash;
systemProperties: SystemProperties | null;
private readonly rpcAddr;
private currentRpcAddr;
private readonly ss58Format;
private readonly connectionTimeout;
private readonly reconnectTimeout;
private readonly maxReconnectAttempts;
private readonly enableEventListener;
private tokenSymbol;
tokenDecimals: number;
private networkEnv;
private chainName;
private signatureAcc;
private readonly name;
private balance;
private accountInfo;
private rpcState;
private isConnecting;
private reconnectAttempts;
private connectionPromise;
private eventListeners;
private subscriptions;
constructor(config?: Partial<CESSConfig>);
/**
* Create a chain client with enhanced error handling and retry logic
*/
static newClient(config: CESSConfig): Promise<CESS>;
/**
* Initialize the chain client
*/
private initialize;
/**
* Connect to API with retry logic and fallback
*/
private connectToApi;
private performConnection;
private tryConnectToRpc;
private withTimeout;
/**
* Load chain information
*/
private loadChainInfo;
/**
* Setup account from secret key which can be mnemonic, hex seed, or development account
* Supports multiple ways to configure an account:
* 1. Mnemonic phrase (12 or 24 words)
* 2. Hex seed (0x prefixed 32-byte hex string)
* 3. Development account (//Alice, //Bob, etc.)
*/
private setupAccount;
/**
* Update account balance and information
*/
updateAccountInfo(): Promise<void>;
/**
* Setup event listeners for connection monitoring
*/
private setupEventListeners;
/**
* Handle connection disconnection with auto-reconnect
*/
private handleDisconnection;
private timeout;
private sleep;
private isValidMnemonic;
on(event: string, callback: Function): void;
off(event: string, callback: Function): void;
private emit;
/**
* Get keyring pair
* @returns KeyringPair or null
*/
getKeyring(): KeyringPair | null;
/**
* Set keyring pair
* @param keyring KeyringPair
*/
setKeyring(keyring: KeyringPair): Promise<void>;
get isConnected(): boolean;
get currentBalance(): bigint;
get currentSignatureAcc(): string;
get chainInfo(): {
name: string;
networkEnv: string;
tokenSymbol: string;
tokenDecimals: number;
ss58Format: number;
genesisHash: `0x${string}` | undefined;
runtimeVersion: Record<string, import("@polkadot/types-codec/types").AnyJson> | undefined;
};
/**
* Cleanup resources
*/
cleanup(): Promise<void>;
/**
* Get system chain name
* @returns Chain name
*/
getSystemChainName(): string;
/**
* Get SDK name
* @returns SDK name
*/
getSDKName(): string;
/**
* Get current RPC address
* @returns Current RPC address
*/
getCurrentRpcAddr(): string;
/**
* Set RPC connection state
* @param state RPC state
*/
setRpcState(state: boolean): void;
/**
* Get RPC connection state
* @returns RPC state
*/
getRpcState(): boolean;
/**
* Get signature account address
* @returns Signature account address
*/
getSignatureAcc(): string;
/**
* Get signature account public key
* @returns Signature account public key
*/
getPublicKey(): Uint8Array;
/**
* Get Substrate API
* @returns Substrate API
*/
getAPI(): ApiPromise;
/**
* Get metadata
* @returns Metadata
*/
getMetadata(): any;
/**
* Get token symbol
* @returns Token symbol
*/
getTokenSymbol(): string;
/**
* Get network environment
* @returns Network environment
*/
getNetworkEnv(): string;
/**
* Get balance
* @returns Balance
*/
getBalances(): bigint;
/**
* Set balance
* @param balance Balance
*/
setBalances(balance: bigint): void;
/**
* Sign message
* @param msg Message
* @returns Signature
*/
sign(msg: Uint8Array): Promise<Uint8Array>;
/**
* Verify signature
* @param msg Message
* @param signature Signature
* @returns Verification result
*/
verify(msg: string | Uint8Array, signature: Uint8Array): Promise<boolean>;
/**
* Reconnect RPC
* @returns void
*/
reconnectRpc(): Promise<void>;
/**
* Internal RPC reconnection implementation
* @param oldRpc Old RPC address
* @param rpcs RPC address list
* @returns Connection result
*/
private reconnectRpcInternal;
/**
* Close connection
*/
close(): Promise<void>;
}
export {};
//# sourceMappingURL=cess.d.ts.map