/**
 * This code was AUTOGENERATED using the Codama library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun Codama to update it.
 *
 * @see https://github.com/codama-idl/codama
 */

import {
  getAddressEncoder,
  getBytesEncoder,
  getProgramDerivedAddress,
  type Address,
  type ProgramDerivedAddress,
} from "@solana/kit";

export type ClaimAccountSeeds = {
  mint: Address;
  refundAddress: Address;
};

export async function findClaimAccountPda(
  seeds: ClaimAccountSeeds,
  config: { programAddress?: Address | undefined } = {},
): Promise<ProgramDerivedAddress> {
  const {
    programAddress = "DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru" as Address<"DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru">,
  } = config;
  return await getProgramDerivedAddress({
    programAddress,
    seeds: [
      getBytesEncoder().encode(
        new Uint8Array([
          99, 108, 97, 105, 109, 95, 97, 99, 99, 111, 117, 110, 116,
        ]),
      ),
      getAddressEncoder().encode(seeds.mint),
      getAddressEncoder().encode(seeds.refundAddress),
    ],
  });
}
