type AbacusLedgerAccountContract {
    account: AbacusAccount!
    accountingPeriod: AbacusAccountingPeriod
    amount: String!
    contract: AbacusContract!
    currencyCode: String!
    date: Date
    endingBalance: String!
    ledgerAccountContractId: ID!
    openingBalance: String!
    statementPeriod: AbacusStatementPeriod!
    transactionType: String!
}

input AbacusLedgerAccountContractSearchFilterInput {
    contractIds: [ID!]
    eventNames: [String!]
    statementPeriodIds: [ID!]
}

type AbacusLedgerAccountContractList {
    items: [AbacusLedgerAccountContract!]!
    totalCount: Int!
}

extend type Query {
    abacusLedgerAccountContractList(
        accountId: ID!,
        limit: Int! = 100,
        offset: Int! = 0,
        filters: AbacusLedgerAccountContractSearchFilterInput
    ): AbacusLedgerAccountContractList
}
