"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var ethers_1 = require("ethers");
var utils_1 = require("ethers/lib/utils");
var utils_2 = require("../utils");
var abstractClient_1 = tslib_1.__importDefault(require("./abstractClient"));
var MockedApiClient = (function (_super) {
    tslib_1.__extends(MockedApiClient, _super);
    function MockedApiClient(mockedData) {
        var _this = _super.call(this, "", "") || this;
        _this.mockedData = (0, utils_1.deepCopy)(mockedData !== null && mockedData !== void 0 ? mockedData : {});
        return _this;
    }
    MockedApiClient.prototype.getCoinGeckoData = function (_l1Token, _baseCurrency) {
        var _a;
        return Promise.resolve((_a = this.mockedData.CoinGeckoData) !== null && _a !== void 0 ? _a : {
            price: ethers_1.ethers.utils.parseEther(String("0.1")),
        });
    };
    MockedApiClient.prototype.getSuggestedFees = function (_amount, _originToken, _toChainid, _fromChainid) {
        var _a;
        return Promise.resolve((_a = this.mockedData.SuggestedFees) !== null && _a !== void 0 ? _a : {
            relayerFee: {
                pct: utils_2.bnOne,
                total: utils_2.bnOne,
            },
            relayerCapitalFee: {
                pct: utils_2.bnOne,
                total: utils_2.bnOne,
            },
            relayerGasFee: {
                pct: utils_2.bnOne,
                total: utils_2.bnOne,
            },
            isAmountTooLow: false,
            quoteBlock: utils_2.bnOne,
            quoteTimestamp: utils_2.bnOne,
        });
    };
    MockedApiClient.prototype.getBridgeLimits = function (_token, _fromChainId, _toChainId) {
        var _a;
        return Promise.resolve((_a = this.mockedData.BridgeLimits) !== null && _a !== void 0 ? _a : {
            minDeposit: utils_2.BigNumber.from("317845960607070"),
            maxDeposit: utils_2.BigNumber.from("1625976243310274613043"),
            maxDepositInstant: utils_2.BigNumber.from("148518401181482545509"),
            maxDepositShortDelay: utils_2.BigNumber.from("1625976243310274613043"),
        });
    };
    MockedApiClient.prototype.getAcrossStats = function () {
        var _a;
        return Promise.resolve((_a = this.mockedData.AcrossStats) !== null && _a !== void 0 ? _a : {
            totalDeposits: 200,
            avgFillTime: 200,
            totalVolumeUsd: 100000,
        });
    };
    return MockedApiClient;
}(abstractClient_1.default));
exports.default = MockedApiClient;
//# sourceMappingURL=mockedClient.js.map