"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const ethers_1 = require("ethers");
const utils_1 = require("ethers/lib/utils");
const utils_2 = require("../utils");
const abstractClient_1 = tslib_1.__importDefault(require("./abstractClient"));
class MockedApiClient extends abstractClient_1.default {
    mockedData;
    constructor(mockedData) {
        super("", "");
        this.mockedData = (0, utils_1.deepCopy)(mockedData ?? {});
    }
    getCoinGeckoData(_l1Token, _baseCurrency) {
        return Promise.resolve(this.mockedData.CoinGeckoData ?? {
            price: ethers_1.ethers.utils.parseEther(String("0.1")),
        });
    }
    getSuggestedFees(_amount, _originToken, _toChainid, _fromChainid) {
        return Promise.resolve(this.mockedData.SuggestedFees ?? {
            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,
        });
    }
    getBridgeLimits(_token, _fromChainId, _toChainId) {
        return Promise.resolve(this.mockedData.BridgeLimits ?? {
            minDeposit: utils_2.BigNumber.from("317845960607070"),
            maxDeposit: utils_2.BigNumber.from("1625976243310274613043"),
            maxDepositInstant: utils_2.BigNumber.from("148518401181482545509"),
            maxDepositShortDelay: utils_2.BigNumber.from("1625976243310274613043"),
        });
    }
    getAcrossStats() {
        return Promise.resolve(this.mockedData.AcrossStats ?? {
            totalDeposits: 200,
            avgFillTime: 200,
            totalVolumeUsd: 100000,
        });
    }
}
exports.default = MockedApiClient;
//# sourceMappingURL=mockedClient.js.map