import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { Accountant, AccountantInterface } from "../Accountant"; type AccountantConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class Accountant__factory extends ContractFactory { constructor(...args: AccountantConstructorParams); deploy(overrides?: Overrides & { from?: string; }): Promise; getDeployTransaction(overrides?: Overrides & { from?: string; }): TransactionRequest; attach(address: string): Accountant; connect(signer: Signer): Accountant__factory; static readonly bytecode = "0x610dd761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b35760003560e01c8063a14e8bc41161007b578063a14e8bc414610139578063a55119c31461015b578063c9992a6f1461016e578063ca57356814610181578063d37db1d214610194578063d7cc2a031461019c57600080fd5b8063101c8430146100b8578063347dd0b4146100e55780633a5333bb1461010857806368dcfdc0146101215780636bb987fe14610130575b600080fd5b6100cb6100c6366004610c5a565b6101d1565b604080519283526020830191909152015b60405180910390f35b6100f86100f3366004610c5a565b610266565b60405190151581526020016100dc565b6101136305f5e10081565b6040519081526020016100dc565b610113670de0b6b3a764000081565b610113611bf981565b61014c610147366004610c8d565b61035d565b604051905181526020016100dc565b610113610169366004610ca8565b61046a565b61011361017c366004610c5a565b610641565b6100cb61018f366004610ca8565b6106ba565b6101136109f5565b6101af6101aa366004610ce1565b610a06565b60408051825181526020808401519082015291810151908201526060016100dc565b6000806000856001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102389190610d13565b905060006102488783888861046a565b90506000610257888489610641565b91989197509095505050505050565b6000806102d5856001600160a01b031663bfe976a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ce9190610d13565b8590610aa2565b90506000856001600160a01b031663f0b25bde6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033b9190610d13565b118015610352575061034f83611bf9610ab7565b81115b9150505b9392505050565b60408051602081019091526000815260006104496305f5e100610443856001600160a01b031663b39699926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db9190610d13565b866001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043d9190610d13565b90610ab7565b90610ac3565b9050600061046261016d61045c84610acf565b90610b04565b949350505050565b6000806104d884876001600160a01b031663408862d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d39190610d13565b610b35565b905060006104e68583610aa2565b9050600061055e6305f5e1006104438a6001600160a01b031663b39699926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105579190610d13565b8a90610ab7565b9050600061057d610573611bf961016d610d42565b6104438486610ab7565b905061058a898888610266565b156106355760006106056305f5e1006104438c6001600160a01b031663f0b25bde6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fe9190610d13565b8c90610ab7565b9050600061062461061a611bf961016d610d42565b6104438488610ab7565b90506106308382610b4b565b925050505b98975050505050505050565b6000836001600160a01b0316631790ebd56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190610d13565b82106106b2575081610356565b506000610356565b60008060006106c88761035d565b90506106d5816000610b57565b156106e75760008092509250506109ec565b60006106f286610acf565b905061070a6040518060200160405280600081525090565b60006107d98a6001600160a01b031663193501146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107719190610d13565b8b6001600160a01b03166321856b366040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d39190610d13565b90610b4b565b90506107ee846107e883610acf565b90610b6e565b9150896001600160a01b0316631790ebd56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108529190610d13565b8911156108e65760006108c78b6001600160a01b0316631790ebd56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c09190610d13565b8b90610aa2565b90506108e26108db611bf961045c84610acf565b8490610ba4565b9250505b60006108f188610acf565b90506109096040518060200160405280600081525090565b84518451116109235761091c6000610acf565b9050610946565b6109436109306001610acf565b61093e846107e8888a610bce565b610bf8565b90505b60006109c0670de0b6b3a764000061045c8f6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b99190610d13565b8590610c16565b905060006109db670de0b6b3a764000061045c856064610c16565b519151919950909750505050505050505b94509492505050565b610a03611bf961016d610d42565b81565b610a2a60405180606001604052806000815260200160008152602001600081525090565b846000610a378583610b35565b9050610a438282610aa2565b91506000610a518584610b35565b9050610a5d8382610aa2565b92506000610a6b8883610aa2565b90506000610a798583610b35565b604080516060810182529586526020860194909452928401929092525090979650505050505050565b6000610aae8284610d59565b90505b92915050565b6000610aae8284610d42565b6000610aae8284610d6c565b604080516020810190915260008152604080516020810190915280610afc84670de0b6b3a7640000610ab7565b905292915050565b604080516020810190915260008152604080516020810190915283518190610b2c9085610ac3565b90529392505050565b6000818310610b445781610aae565b5090919050565b6000610aae8284610d8e565b6000610b6282610acf565b51835114905092915050565b6040805160208101909152600081526040805160208101909152825184518291610b2c9161044390670de0b6b3a7640000610ab7565b6040805160208101909152600081526040805160208101909152825184518291610b2c9190610b4b565b6040805160208101909152600081526040805160208101909152825184518291610b2c9190610aa2565b6040805160208101909152600081528151835110610b445781610aae565b604080516020810190915260008152604080516020810190915283518190610b2c9085610ab7565b80356001600160a01b0381168114610c5557600080fd5b919050565b600080600060608486031215610c6f57600080fd5b610c7884610c3e565b95602085013595506040909401359392505050565b600060208284031215610c9f57600080fd5b610aae82610c3e565b60008060008060808587031215610cbe57600080fd5b610cc785610c3e565b966020860135965060408601359560600135945092505050565b60008060008060808587031215610cf757600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215610d2557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610ab157610ab1610d2c565b81810381811115610ab157610ab1610d2c565b600082610d8957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ab157610ab1610d2c56fea264697066735822122071848b631e63463e99a124d9bdd5eb3d5e5ad5be9f939f7cd1ed441590fe9acd64736f6c63430008130033"; static readonly abi: readonly [{ readonly inputs: readonly []; readonly name: "BLOCKS_PER_DAY"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "BLOCKS_PER_YEAR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "FP_SCALING_FACTOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "INTEREST_DECIMALS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "paymentAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "interestOwed"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "principalOwed"; readonly type: "uint256"; }]; readonly name: "allocatePayment"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "interestPayment"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "principalPayment"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "additionalBalancePayment"; readonly type: "uint256"; }]; readonly internalType: "struct Accountant.PaymentAllocation"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract CreditLine"; readonly name: "cl"; readonly type: "CreditLine"; }]; readonly name: "calculateAmountOwedForOneDay"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "rawValue"; readonly type: "uint256"; }]; readonly internalType: "struct FixedPoint.Unsigned"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract CreditLine"; readonly name: "cl"; readonly type: "CreditLine"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lateFeeGracePeriodInDays"; readonly type: "uint256"; }]; readonly name: "calculateInterestAccrued"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract CreditLine"; readonly name: "cl"; readonly type: "CreditLine"; }, { readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lateFeeGracePeriod"; readonly type: "uint256"; }]; readonly name: "calculateInterestAndPrincipalAccrued"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract CreditLine"; readonly name: "cl"; readonly type: "CreditLine"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }]; readonly name: "calculatePrincipalAccrued"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract CreditLine"; readonly name: "cl"; readonly type: "CreditLine"; }, { readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "gracePeriodInDays"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxDaysLate"; readonly type: "uint256"; }]; readonly name: "calculateWritedownFor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract CreditLine"; readonly name: "cl"; readonly type: "CreditLine"; }, { readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "gracePeriodInDays"; readonly type: "uint256"; }]; readonly name: "lateFeeApplicable"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): AccountantInterface; static connect(address: string, signerOrProvider: Signer | Provider): Accountant; } export {};