/**
 * 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 CustodyTokenAccountSeeds = {
  localTokenMint: Address;
};

export async function findCustodyTokenAccountPda(
  seeds: CustodyTokenAccountSeeds,
  config: { programAddress?: Address | undefined } = {},
): Promise<ProgramDerivedAddress> {
  const {
    programAddress = "CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe" as Address<"CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe">,
  } = config;
  return await getProgramDerivedAddress({
    programAddress,
    seeds: [
      getBytesEncoder().encode(
        new Uint8Array([99, 117, 115, 116, 111, 100, 121]),
      ),
      getAddressEncoder().encode(seeds.localTokenMint),
    ],
  });
}
