import { describe } from "mocha";

import {
	SolmashWhitelistInstructions,
	SolmashWhitelistProgramFactory,
	SolmashWhitelistService,
} from "../../src";
import { getConnection, getProviders, getSignTransaction } from "../shared";

describe("withdrawFunds()", () => {
	const connection = getConnection("mainnet-beta");
	const provider = getProviders(connection)[0];
	const signTransaction = getSignTransaction(provider);

	const program = SolmashWhitelistProgramFactory.getProgram(provider, { network: "devnet" });
	const inx = new SolmashWhitelistInstructions(program);
	const service = new SolmashWhitelistService(inx, connection, signTransaction);

	it("withdraw funds", async () => {
		const creatorAddress = provider.publicKey.toString();
		console.log({ creatorAddress });

		const auctionAddress = "HXK6GzgArqSthZdWSnvsAYeWm2Rkv1htQCzxwhXCagvi";
		const auctionTokenAddress = "A1AaPuUirJaCkidfntEPBSgYzg91mPBFeKjrrx342Yux";
		const bidTokenAddress = "KDriegomzHbJDmGkVWFuXrZWfpiruauhMSTg7N6WZvD";

		const payload = await service.withdrawFunds({
			creatorAddress,
			auctionAddress,
			auctionTokenAddress,
			bidTokenAddress,
		});

		const signature = await payload.execute();

		console.log({ signature });
	});
});
