import { AddressOrPair } from "@polkadot/api/types"; import { AccountId, Hash, H256 } from "@polkadot/types/interfaces"; import Big from "big.js"; import { RedeemAPI, RedeemRequestExt, RequestResult } from "../../../src/parachain/redeem"; import { MockTransactionAPI } from "../transaction"; export class MockRedeemAPI extends MockTransactionAPI implements RedeemAPI { list(): Promise { throw new Error("Method not implemented."); } getRequestById(_redeemId: H256): Promise { throw new Error("Method not implemented."); } getRequestsById(_redeemIds: H256[]): Promise { throw new Error("Method not implemented."); } setRedeemPeriod(_blocks: number): Promise { throw new Error("Method not implemented."); } getRedeemPeriod(): Promise { throw new Error("Method not implemented."); } burn(_amount: Big): Promise { throw new Error("Method not implemented."); } getMaxBurnableTokens(): Promise { throw new Error("Method not implemented."); } getBurnExchangeRate(): Promise { throw new Error("Method not implemented."); } execute(_redeemId: string, _txId: string): Promise { throw new Error("Method not implemented."); } cancel(_redeemId: H256, _reimburse?: boolean): Promise { throw new Error("Method not implemented."); } async request( _amount: Big, _btcAddressEnc: string, _atomic?: boolean, _retries?: number, _availableVaults?: Map ): Promise { return Promise.resolve([{ id: {}, redeemRequest: (await this.list())[0] }]); } async requestAdvanced( _amountsPerVault: Map, _btcAddressEnc: string, _atomic: boolean ): Promise { return this.request(new Big(0), ""); } async mapForUser(_account: AccountId): Promise> { return Promise.resolve(new Map()); } async getDustValue(): Promise { return Promise.resolve(new Big(0.000001)); } setAccount(_account?: AddressOrPair): void { return; } subscribeToRedeemExpiry(_account: AccountId, _callback: (requestRedeemId: H256) => void): Promise<() => void> { // eslint-disable-next-line @typescript-eslint/no-empty-function return Promise.resolve(() => { }); } async getFeesToPay(_amount: Big): Promise { return new Big("0.08"); } async getFeeRate(): Promise { return new Big("0.005"); } async getPremiumRedeemFee(): Promise { return "5"; } async getCurrentInclusionFee(): Promise { return new Big("0.0000005"); } }