var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
import { FailoverStrategy } from "./enums";
import { Web3PromiEvent } from "../promiEvent/promiEvents";
export function createStubClient() {
    return __awaiter(this, void 0, void 0, function* () {
        return {
            config: {
                endpointPool: [],
                blockchainRid: "0000000000000000000000000000000000000000000000000000000000000000",
                statusPollInterval: 5000,
                statusPollCount: 5,
                failoverStrategy: FailoverStrategy.AbortOnError,
                attemptsPerEndpoint: 3,
                attemptInterval: 5000,
                unreachableDuration: 30000,
            },
            query() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("query rejected");
                });
            },
            signTransaction() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("signTransaction rejected");
                });
            },
            sendTransaction() {
                return new Web3PromiEvent((_resolve, reject) => reject("sendTransaction rejected"));
            },
            signAndSendUniqueTransaction() {
                return new Web3PromiEvent((_resolve, reject) => reject("signAndSendUniqueTransaction rejected"));
            },
            getTransaction() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getTransaction rejected");
                });
            },
            getTransactionStatus() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getTransactionStatus rejected");
                });
            },
            addNop() {
                throw new Error("addNop error");
            },
            getTransactionRid() {
                throw new Error("getTransactionRid error");
            },
            getTransactionsInfo() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getTransactionsInfo rejected");
                });
            },
            getTransactionInfo() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getTransactionInfo rejected");
                });
            },
            getTransactionCount() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getTransactionCount rejected");
                });
            },
            getBlockInfo() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getBlockInfo rejected");
                });
            },
            getLatestBlock() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getLatestBlock rejected");
                });
            },
            getBlocksInfo() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getBlocksInfo rejected");
                });
            },
            encodeTransaction() {
                throw new Error("encodeTransaction error");
            },
            decodeTransactionToGtx() {
                throw new Error("decodeTransactionToGtx error");
            },
            getClientNodeUrlPool() {
                return [];
            },
            getConfirmationProof() {
                return __awaiter(this, void 0, void 0, function* () {
                    return Promise.reject("getConfirmationProof rejected");
                });
            },
            getAppStructure() {
                return Promise.reject("getAppStructure rejected");
            },
        };
    });
}
//# sourceMappingURL=clientStub.js.map