Deal in a market

Hierarchy

  • Base<ProgramDeal>
    • Deal

Properties

address: PublicKey
client: CredixClient
market: Market
programVersion: AnchorTypeDef<Object, AnchorDefined<Credix, {
    DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
}>>
solanaContext: SolanaContext

Accessors

  • get arrangementFeesRepaid(): TokenAmount
  • Returns

    the total amount of arrangement fees repaid throughout the lifetime of this deal

    Returns TokenAmount

  • get borrower(): PublicKey
  • Get address of the borrower. This is not a BorrowerInfo account address but the actual recipient of the funds.

    Returns PublicKey

  • get collectionTokenAccount(): null | PublicKey
  • Get the collection token account of the deal. This is an optional account to support Smart Contract Owned Wallet (SCOW) The funds from deal repayments are transferred from this account

    Returns null | PublicKey

  • get goLiveAt(): null | number
  • The timestamp when the deal goes live in seconds. This is the moment where funds are transferred to the borrower.

    Returns null | number

  • get maxfundingDuration(): number
  • A number indicating for how long funding is open (in days). If the deal cannot be fully funded (all tranches) within goLiveAt + maxFundingDuration, the deal will not go live and investors can then withdraw their funds by burning the tranche tokens.

    Returns number

  • get offRampTokenAccount(): null | PublicKey
  • Get the off ramp token account of the deal. This is an optional account to support Smart Contract Owned Wallet (SCOW) The funds from deal are transferred to this account

    Returns null | PublicKey

  • get program(): AnchorProgram<Credix, {
        borrowerInfo: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        credixPass: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        crossChainInvestor: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        deal: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        dealClaims: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        dealTranches: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        globalMarketState: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        marketAdmins: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        programState: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        repaymentSchedule: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        trancheInfo: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        tranchePass: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        withdrawEpoch: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        withdrawRequest: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
    }, AnchorDefined<Credix, {
        DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    }>, MakeInstructions<[{
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "globalMarketState";
            pda: {
                seeds: [{
                    kind: "arg";
                    path: "global_market_seed";
                    type: "string";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "marketAdmins";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "admins";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "programState";
            pda: {
                seeds: [{
                    kind: "const";
                    type: "string";
                    value: "program-state";
                }];
            };
        }, {
            docs: ["The alternative is to create an empty SigningAuthority struct that can be passed to Account<>"];
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "globalMarketSeed";
            type: "string";
        }, {
            name: "withdrawalFee";
            type: {
                defined: "Fraction";
            };
        }, {
            name: "credixFeePercentage";
            type: {
                defined: "Fraction";
            };
        }, {
            name: "multisig";
            type: {
                option: "publicKey";
            };
        }, {
            name: "managers";
            type: {
                option: {
                    vec: "publicKey";
                };
            };
        }, {
            name: "passIssuers";
            type: {
                option: {
                    vec: "publicKey";
                };
            };
        }];
        name: "initializeMarket";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "investor";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "investorTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "liquidityPoolTokenAccount";
        }];
        args: [{
            name: "amount";
            type: "u64";
        }];
        name: "depositFunds";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "borrower";
        }, {
            isMut: true;
            isSigner: false;
            name: "borrowerInfo";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }, {
                    kind: "account";
                    path: "borrower";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "borrower-info";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "marketAdmins";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "admins";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }];
        args: [{
            name: "maxFundingDuration";
            type: "u8";
        }, {
            name: "dealName";
            type: "string";
        }, {
            name: "arrangementFees";
            type: "u64";
        }, {
            name: "arrangementFeePercentage";
            type: {
                defined: "Fraction";
            };
        }, {
            name: "migrated";
            type: "bool";
        }];
        name: "createDeal";
    }], AnchorDefined<Credix, {
        DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    }>>, MakeInstructions<unknown, AnchorDefined<Credix, {
        DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    }>>>
  • Returns AnchorProgram<Credix, {
        borrowerInfo: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        credixPass: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        crossChainInvestor: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        deal: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        dealClaims: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        dealTranches: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        globalMarketState: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        marketAdmins: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        programState: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        repaymentSchedule: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        trancheInfo: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        tranchePass: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        withdrawEpoch: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
        withdrawRequest: AnchorTypeDef<Object, AnchorDefined<Credix, {
            DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
            WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        }>>;
    }, AnchorDefined<Credix, {
        DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    }>, MakeInstructions<[{
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "globalMarketState";
            pda: {
                seeds: [{
                    kind: "arg";
                    path: "global_market_seed";
                    type: "string";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "marketAdmins";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "admins";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "programState";
            pda: {
                seeds: [{
                    kind: "const";
                    type: "string";
                    value: "program-state";
                }];
            };
        }, {
            docs: ["The alternative is to create an empty SigningAuthority struct that can be passed to Account<>"];
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "globalMarketSeed";
            type: "string";
        }, {
            name: "withdrawalFee";
            type: {
                defined: "Fraction";
            };
        }, {
            name: "credixFeePercentage";
            type: {
                defined: "Fraction";
            };
        }, {
            name: "multisig";
            type: {
                option: "publicKey";
            };
        }, {
            name: "managers";
            type: {
                option: {
                    vec: "publicKey";
                };
            };
        }, {
            name: "passIssuers";
            type: {
                option: {
                    vec: "publicKey";
                };
            };
        }];
        name: "initializeMarket";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "investor";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "investorTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "liquidityPoolTokenAccount";
        }];
        args: [{
            name: "amount";
            type: "u64";
        }];
        name: "depositFunds";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "borrower";
        }, {
            isMut: true;
            isSigner: false;
            name: "borrowerInfo";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }, {
                    kind: "account";
                    path: "borrower";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "borrower-info";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "marketAdmins";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "admins";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }];
        args: [{
            name: "maxFundingDuration";
            type: "u8";
        }, {
            name: "dealName";
            type: "string";
        }, {
            name: "arrangementFees";
            type: "u64";
        }, {
            name: "arrangementFeePercentage";
            type: {
                defined: "Fraction";
            };
        }, {
            name: "migrated";
            type: "bool";
        }];
        name: "createDeal";
    }], AnchorDefined<Credix, {
        DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    }>>, MakeInstructions<unknown, AnchorDefined<Credix, {
        DaycountConvention: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DealTranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfall: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        DistributionWaterfallType: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Fraction: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        LpClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentAllocation: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriod: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        RepaymentPeriodInput: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TimeFrame: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        Tranche: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsDue: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheAmountsRepaid: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheClaim: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheConfig: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        TrancheRates: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
        WaterfallTier: AnchorTypeDef<Object, ({ Fraction: AnchorTypeDef<{ name: "Fraction"; type: { kind: "struct"; fields: [{ name: "numerator"; type: "u32"; }, { name: "denominator"; type: "u32"; }]; }; } & { name: "Fraction"; }, ...>; ... 15 more ...; TimeFrame: AnchorTypeDef<...>; })>;
    }>>>

  • get secondaryMarketAnchorProgram(): Program<CredixSecondaryMarket>
  • Returns Program<CredixSecondaryMarket>

  • get secondaryMarketProgram(): AnchorProgram<CredixSecondaryMarket, {
        secondaryMarket: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
        sellOrder: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
        sellerInfo: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
        signingAuthority: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
    }, AnchorDefined<CredixSecondaryMarket, Record<string, never>>, MakeInstructions<[{
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "marketAdmins";
        }, {
            isMut: true;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initializeSecondaryMarket";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "seller";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerInfo";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }, {
                    kind: "account";
                    path: "seller";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "seller-info";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "credixSigningAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "amountA";
            type: "u64";
        }, {
            name: "trancheIndex";
            type: {
                option: "u8";
            };
        }, {
            name: "amountB";
            type: "u64";
        }, {
            name: "buyer";
            type: {
                option: "publicKey";
            };
        }];
        name: "initializeSellOrder";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "buyer";
        }, {
            isMut: false;
            isSigner: false;
            name: "seller";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "credixSigningAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "trancheIndex";
            type: {
                option: "u8";
            };
        }];
        name: "fillSellOrder";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "seller";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "credixSigningAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "sellOrderNumber";
            type: "u16";
        }];
        name: "cancelSellOrder";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "marketAdmins";
        }, {
            isMut: false;
            isSigner: false;
            name: "credixProgramState";
        }, {
            isMut: true;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "freeze";
            type: "bool";
        }];
        name: "freezeOrThawSecondaryMarket";
    }], AnchorDefined<CredixSecondaryMarket, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>>
  • Returns AnchorProgram<CredixSecondaryMarket, {
        secondaryMarket: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
        sellOrder: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
        sellerInfo: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
        signingAuthority: AnchorTypeDef<Object, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>;
    }, AnchorDefined<CredixSecondaryMarket, Record<string, never>>, MakeInstructions<[{
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "marketAdmins";
        }, {
            isMut: true;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initializeSecondaryMarket";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "seller";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerInfo";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }, {
                    kind: "account";
                    path: "seller";
                    type: "publicKey";
                }, {
                    kind: "const";
                    type: "string";
                    value: "seller-info";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "credixSigningAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "amountA";
            type: "u64";
        }, {
            name: "trancheIndex";
            type: {
                option: "u8";
            };
        }, {
            name: "amountB";
            type: "u64";
        }, {
            name: "buyer";
            type: {
                option: "publicKey";
            };
        }];
        name: "initializeSellOrder";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "buyer";
        }, {
            isMut: false;
            isSigner: false;
            name: "seller";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "credixSigningAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "trancheIndex";
            type: {
                option: "u8";
            };
        }];
        name: "fillSellOrder";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "seller";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "credixSigningAuthority";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }, {
            isMut: false;
            isSigner: false;
            name: "signingAuthority";
            pda: {
                seeds: [{
                    account: "SecondaryMarket";
                    kind: "account";
                    path: "secondary_market";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "sellOrderNumber";
            type: "u16";
        }];
        name: "cancelSellOrder";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "globalMarketState";
        }, {
            isMut: false;
            isSigner: false;
            name: "marketAdmins";
        }, {
            isMut: false;
            isSigner: false;
            name: "credixProgramState";
        }, {
            isMut: true;
            isSigner: false;
            name: "secondaryMarket";
            pda: {
                seeds: [{
                    account: "GlobalMarketState";
                    kind: "account";
                    path: "global_market_state";
                    type: "publicKey";
                }];
            };
        }];
        args: [{
            name: "freeze";
            type: "bool";
        }];
        name: "freezeOrThawSecondaryMarket";
    }], AnchorDefined<CredixSecondaryMarket, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<CredixSecondaryMarket, Record<string, never>>>>

Methods

  • A boolean indicating if the deal has been fully funded (all tranches),.

    Returns

    whether all of the deal's tranches are fully funded

    Parameters

    • Optional tranches: null | Tranches

      optionally pass tranches; if not passed the function fetches it

    Returns Promise<boolean>

  • Parameters

    • owner: PublicKey
    • amount: number

    Returns Promise<TransactionInstruction>

  • Parameters

    • Optional owner: PublicKey

    Returns Promise<TransactionInstruction>

  • When deal is live borrower's can use this instruction to tranfer principal to their wallet.

    Returns

    Parameters

    • amount: number

    Returns Promise<string>

  • Generate a deal PDA.

    Returns

    Parameters

    • borrower: PublicKey

      Borrower of the deal

    • dealNumber: number

      Number of the deal

    • market: Market

      Market to which the deal belongs

    Returns Promise<[PublicKey, number]>

Generated using TypeDoc