Represents a Credix market. Main entrypoint for market interactions

Hierarchy

  • Base<GlobalMarketState>
    • Market

Properties

Accessors

Methods

Properties

address: PublicKey
client: CredixClient
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 lockedLiquidity(): TokenAmount
  • The liquidity locked that can’t be used for new deals (will only be greater than zero during the redeem period)

    Returns TokenAmount

  • get lockupDuration(): number
  • The duration, in days, that indicates how long a user has to wait before they can withdraw their funds after their initial investment.

    Returns number

  • 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>>>>

  • get totalRedeemedBaseAmount(): TokenAmount
  • The cumulative amount of all redemptions (both in redeem phase and available liquidity phase)

    Returns TokenAmount

Methods

  • Parameters

    • crossChainInvestorAddress: PublicKey
    • chainId: number

    Returns Promise<string>

  • Parameters

    • crossChainInvestorAddress: PublicKey
    • chainId: number
    • Optional owner: PublicKey

    Returns Promise<TransactionInstruction>

  • Calculates the market in progress deals' weighted average financing fee.

    Returns

    the weighted average financing fee

    Returns Promise<number>

  • Returns

    the total value locked of the market (liquidity pool balance + total outstanding credit)

    Returns Promise<TokenAmount>

  • Parameters

    • wallet: Wallet
    • wormholeSolanaContract: {
          core: string;
          token_bridge: string;
      }
      • core: string
      • token_bridge: string
    • Optional recentSlot: number

    Returns Promise<PublicKey>

  • Deposit into the market's liquidity pool

    Returns

    promise with the transaction signature

    Parameters

    • amount: number

      Amount to deposit

    Returns Promise<string>

  • Parameters

    • __namedParameters: {
          investorAddress: PublicKey;
          lookupTableAddress: PublicKey;
          vaaBytes: string;
          wallet: Wallet;
          wormholeSolanaContract: {
              core: string;
              token_bridge: string;
          };
      }
      • investorAddress: PublicKey
      • lookupTableAddress: PublicKey
      • vaaBytes: string
      • wallet: Wallet
      • wormholeSolanaContract: {
            core: string;
            token_bridge: string;
        }
        • core: string
        • token_bridge: string

    Returns Promise<{
        transactionId: string;
        transactionMeta: ConfirmedTransactionMeta;
    }>

  • Parameters

    • amount: number
    • Optional investor: PublicKey

    Returns Promise<TransactionInstruction>

  • Parameters

    • crossChainInvestorAddress: PublicKey

    Returns Promise<null | CrossChainInvestor>

  • Returns

    a Deal instance or null if the deal doesn't exist

    Parameters

    • borrower: PublicKey

      Borrower to which the deal belongs

    • dealNumber: number

      The id of the deal, scoped to the borrower

    Returns Promise<null | Deal>

  • Fetches all the deals that belong to this market

    Returns

    Parameters

    • Optional status: DealStatus

      optional status to filter deals by. This will efficiently fetch all repayment schedules and filter out deals that don't match the status, preventing a flood of RPCs.

    Returns Promise<Deal[]>

  • Parameters

    • investor: PublicKey

    Returns Promise<{
        dealsInvested: {
            deal: Deal & {
                dealTranches: Tranches;
                repaymentSchedule: RepaymentSchedule;
            };
            tranches: {
                baseAmountInvested: TokenAmount;
                gains: TokenAmount;
                tranche: Tranche;
                withdrawable: TokenAmount;
                withdrawn: TokenAmount;
            }[];
        }[];
        poolValue: TokenAmount;
    }>

  • Returns

    an associated token address for the base mint

    Parameters

    • pk: PublicKey

      Public key to find the associated token account for

    Returns Promise<PublicKey>

  • Returns

    an associated token address for the lp mint

    Parameters

    • pk: PublicKey

      Public key to find the associated token account for

    Returns Promise<PublicKey>

  • Calculates the associated token account address for the liquidity pool

    Returns

    Returns Promise<PublicKey>

  • Parameters

    • __namedParameters: {
          ethereumInvestorAddress: string;
      }
      • ethereumInvestorAddress: string

    Returns PublicKey

  • Calculates the stake of a user expressed in base

    Returns

    Parameters

    • user: PublicKey

      Public key for which we check the stake

    Returns Promise<TokenAmount>

  • Returns

    whether the user is a manager for this market

    Parameters

    • user: PublicKey

      PublicKey of the user

    Returns Promise<boolean>

  • Issue a credix pass. This function requires that the client wallet to belong to a management address

    See

    CredixPassConfig

    Returns

    a promise with the transaction signature

    Parameters

    • holder: PublicKey

      Public key for which we issue a credix pass

    • credixPassConfig: CredixPassConfig

      Configuration of the credix pass.

    Returns Promise<string>

  • Parameters

    • freeze: boolean
    • mint: PublicKey
    • tokenAccount: PublicKey

    Returns Promise<string>

  • Parameters

    • freeze: boolean
    • mint: PublicKey
    • tokenAccount: PublicKey
    • Optional owner: PublicKey

    Returns Promise<TransactionInstruction>

  • Update a credix pass. This function requires that the client wallet belongs to a management address

    See

    CredixPassConfig

    Returns

    a promise with the transaction signature

    Parameters

    • holder: PublicKey

      Public key for which we update a credix pass

    • credixPassConfig: CredixPassConfig

      Configuration of the credix pass.

    Returns Promise<string>

  • Parameters

    • tokenMintPubkey: PublicKey
    • tokenName: string
    • tokenSymbol: string
    • tokenUri: string

    Returns Promise<string>

  • Parameters

    • tokenMintPubkey: PublicKey
    • tokenName: string
    • tokenSymbol: string
    • tokenUri: string
    • Optional owner: PublicKey

    Returns Promise<TransactionInstruction>

  • Returns

    the amount of 'base' the user has

    Parameters

    • user: PublicKey

      Public key for which we find the base balance

    Returns Promise<TokenAmount>

  • Returns

    the amount of LP the user has

    Parameters

    • user: PublicKey

      Public key for which we find the LP amount

    Returns Promise<TokenAmount>

  • Withdraw from the market's liquidity pool

    Returns

    promise with the transaction signature

    Parameters

    • amount: number

      to withdraw

    Returns Promise<string>

  • Parameters

    • __namedParameters: {
          ethereumBaseTokenAddress: string;
          investorAddress: PublicKey;
          lookupTableAddress: PublicKey;
          vaaBytes: string;
          wallet: Wallet;
          wormholeSolanaContract: {
              core: string;
              token_bridge: string;
          };
      }
      • ethereumBaseTokenAddress: string
      • investorAddress: PublicKey
      • lookupTableAddress: PublicKey
      • vaaBytes: string
      • wallet: Wallet
      • wormholeSolanaContract: {
            core: string;
            token_bridge: string;
        }
        • core: string
        • token_bridge: string

    Returns Promise<{
        transactionId: string;
        transactionMeta: ConfirmedTransactionMeta;
    }>

  • Parameters

    • amount: number
    • Optional investor: PublicKey

    Returns Promise<TransactionInstruction>

  • Returns

    the lp token mint address that would belong to a market with a certain name

    Parameters

    • marketName: string
    • programId: PublicKey

    Returns Promise<[PublicKey, number]>

  • Generate a market PDA address

    Returns

    Parameters

    • marketName: string
    • programId: PublicKey

    Returns Promise<[PublicKey, number]>

Generated using TypeDoc