diff --git a/packages/huma-sdk/src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts b/packages/huma-sdk/src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts index 3d00ca5..65ed897 100644 --- a/packages/huma-sdk/src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts +++ b/packages/huma-sdk/src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts @@ -79,7 +79,6 @@ export async function drawdownWithReceivable( await approveTx?.wait(5) return creditContract.drawdownWithReceivable( - await signer.getAddress(), receivableId, drawdownAmount, gasOpts, @@ -145,7 +144,6 @@ export async function makePaymentWithReceivable( let paymentTx if (principalOnly) { paymentTx = await creditContract.makePrincipalPaymentWithReceivable( - await signer.getAddress(), receivableId, paymentAmount, gasOpts, @@ -229,7 +227,6 @@ export async function makePrincipalPaymentAndDrawdownWithReceivable( await approveTx?.wait(5) return creditContract.makePrincipalPaymentAndDrawdownWithReceivable( - await signer.getAddress(), paymentReceivableId, paymentAmount, drawdownReceivableId, diff --git a/packages/huma-shared/src/utils/credit.ts b/packages/huma-shared/src/utils/credit.ts index d0bedef..5c80643 100644 --- a/packages/huma-shared/src/utils/credit.ts +++ b/packages/huma-shared/src/utils/credit.ts @@ -55,6 +55,7 @@ export enum LenderEvent { ReinvestYieldConfigSet = 6, CoverDeposited = 7, CoverRedeemed = 8, + LenderFundWithdrawn = 9, } export const CreditEventText = { @@ -76,6 +77,7 @@ export const LenderEventText = { [String(LenderEvent.RedemptionRequestAdded)]: 'Request redemption', [String(LenderEvent.RedemptionRequestRemoved)]: 'Cancel redemption request', [String(LenderEvent.LenderFundDisbursed)]: 'Withdraw', + [String(LenderEvent.LenderFundWithdrawn)]: 'Withdraw', [String(LenderEvent.CoverDeposited)]: 'Supply first loss cover', [String(LenderEvent.CoverRedeemed)]: 'Redeem first loss cover', } diff --git a/packages/huma-shared/src/v2/abis/Credit.json b/packages/huma-shared/src/v2/abis/Credit.json index 5611894..a3f6f41 100644 --- a/packages/huma-shared/src/v2/abis/Credit.json +++ b/packages/huma-shared/src/v2/abis/Credit.json @@ -1,97 +1,31 @@ [ { "inputs": [], - "name": "attemptedDrawdownForNonrevolvingLine", + "name": "AuthorizedContractCallerRequired", "type": "error" }, { "inputs": [], - "name": "creditLineExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "creditLineNotInGoodStandingState", - "type": "error" - }, - { - "inputs": [], - "name": "creditLineNotInStateForMakingPayment", - "type": "error" - }, - { - "inputs": [], - "name": "creditLineNotInStateForMakingPrincipalPayment", - "type": "error" - }, - { - "inputs": [], - "name": "creditNotInStateForDrawdown", - "type": "error" - }, - { - "inputs": [], - "name": "drawdownNotAllowedInLatePaymentGracePeriod", - "type": "error" - }, - { - "inputs": [], - "name": "firstDrawdownTooSoon", - "type": "error" - }, - { - "inputs": [], - "name": "insufficientBorrowerFirstLossCover", - "type": "error" - }, - { - "inputs": [], - "name": "notBorrower", - "type": "error" - }, - { - "inputs": [], - "name": "paymentDetectionServiceAccountRequired", - "type": "error" - }, - { - "inputs": [], - "name": "todo", - "type": "error" - }, - { - "inputs": [], - "name": "zeroAddressProvided", - "type": "error" - }, - { - "inputs": [], - "name": "zeroAmountProvided", + "name": "ZeroAddressProvided", "type": "error" }, { "anonymous": false, "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "creditHash", - "type": "bytes32" - }, { "indexed": false, - "internalType": "uint256", - "name": "newDueDate", - "type": "uint256" + "internalType": "address", + "name": "previousAdmin", + "type": "address" }, { "indexed": false, - "internalType": "uint256", - "name": "amountDue", - "type": "uint256" + "internalType": "address", + "name": "newAdmin", + "type": "address" } ], - "name": "BillRefreshed", + "name": "AdminChanged", "type": "event" }, { @@ -100,41 +34,11 @@ { "indexed": true, "internalType": "address", - "name": "borrower", + "name": "beacon", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "creditLimit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "aprInBps", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum PayPeriodDuration", - "name": "periodDuration", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "remainingPeriods", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" } ], - "name": "CreditInitiated", + "name": "BeaconUpgraded", "type": "event" }, { @@ -142,24 +46,30 @@ "inputs": [ { "indexed": true, - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" }, { "indexed": false, "internalType": "uint256", - "name": "oldCreditLimit", + "name": "newDueDate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newCreditLimit", + "name": "nextDue", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalPastDue", "type": "uint256" } ], - "name": "CreditLineChanged", + "name": "BillRefreshed", "type": "event" }, { @@ -167,24 +77,18 @@ "inputs": [ { "indexed": true, - "internalType": "address", - "name": "borrower", - "type": "address" + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "by", "type": "address" - }, - { - "indexed": false, - "internalType": "enum CreditLineClosureReason", - "name": "reasonCode", - "type": "uint8" } ], - "name": "CreditLineClosed", + "name": "CreditClosedAfterPayOff", "type": "event" }, { @@ -234,6 +138,12 @@ "name": "borrower", "type": "address" }, + { + "indexed": true, + "internalType": "address", + "name": "payer", + "type": "address" + }, { "indexed": false, "internalType": "uint256", @@ -327,6 +237,12 @@ "name": "borrower", "type": "address" }, + { + "indexed": true, + "internalType": "address", + "name": "payer", + "type": "address" + }, { "indexed": false, "internalType": "uint256", @@ -374,17 +290,17 @@ "type": "event" }, { - "inputs": [], - "name": "calendar", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "contract ICalendar", - "name": "", + "indexed": true, + "internalType": "address", + "name": "implementation", "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "Upgraded", + "type": "event" }, { "inputs": [], @@ -399,27 +315,9 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "drawdown", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], - "name": "feeManager", + "name": "dueManager", "outputs": [ { "internalType": "contract ICreditDueManager", @@ -443,57 +341,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "creditHash", - "type": "bytes32" - } - ], - "name": "getCreditLoss", - "outputs": [ - { - "components": [ - { - "internalType": "uint96", - "name": "principalLoss", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "yieldLoss", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "feesLoss", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "principalRecovered", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "yieldRecovered", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "feesRecovered", - "type": "uint96" - } - ], - "internalType": "struct CreditLoss", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -611,25 +458,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "creditHash", - "type": "bytes32" - } - ], - "name": "getMaturityDate", - "outputs": [ - { - "internalType": "uint256", - "name": "maturitydate", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "humaConfig", @@ -647,7 +475,7 @@ "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -657,80 +485,16 @@ "type": "function" }, { - "inputs": [ - { - "internalType": "bytes32", - "name": "creditHash", - "type": "bytes32" - } - ], - "name": "isLate", - "outputs": [ - { - "internalType": "bool", - "name": "lateFlag", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "makePayment", + "inputs": [], + "name": "pool", "outputs": [ { - "internalType": "uint256", - "name": "amountPaid", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "paidoff", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", + "internalType": "contract IPool", + "name": "", "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" } ], - "name": "makePrincipalPayment", - "outputs": [ - { - "internalType": "uint256", - "name": "amountPaid", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "paidoff", - "type": "bool" - } - ], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { @@ -760,53 +524,16 @@ "type": "function" }, { - "inputs": [ + "inputs": [], + "name": "proxiableUUID", + "outputs": [ { "internalType": "bytes32", - "name": "creditHash", + "name": "", "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint96", - "name": "principalLoss", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "yieldLoss", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "feesLoss", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "principalRecovered", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "yieldRecovered", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "feesRecovered", - "type": "uint96" - } - ], - "internalType": "struct CreditLoss", - "name": "cl", - "type": "tuple" } ], - "name": "setCreditLoss", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { @@ -869,84 +596,11 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "creditHash", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "lateFeeUpdatedDate", - "type": "uint64" - }, - { - "internalType": "uint96", - "name": "lateFee", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "principalPastDue", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "yieldPastDue", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "committed", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "accrued", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "paid", - "type": "uint96" - } - ], - "internalType": "struct DueDetail", - "name": "dd", - "type": "tuple" - } - ], - "name": "setDueDetail", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "creditHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "maturityDate", - "type": "uint256" - } - ], - "name": "setMaturityDate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -961,10 +615,7 @@ "internalType": "bytes32", "name": "creditHash", "type": "bytes32" - } - ], - "name": "updateDueInfo", - "outputs": [ + }, { "components": [ { @@ -1055,6 +706,8 @@ "type": "tuple" } ], + "name": "updateDueInfo", + "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -1069,62 +722,12 @@ "inputs": [ { "internalType": "address", - "name": "borrower", + "name": "newImplementation", "type": "address" - }, - { - "internalType": "uint256", - "name": "receivableId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "drawdownWithReceivable", - "outputs": [ - { - "internalType": "uint256", - "name": "netAmountToBorrower", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "receivableId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "makePaymentWithReceivable", - "outputs": [ - { - "internalType": "uint256", - "name": "amountPaid", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "paidoff", - "type": "bool" } ], + "name": "upgradeTo", + "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -1132,68 +735,18 @@ "inputs": [ { "internalType": "address", - "name": "borrower", + "name": "newImplementation", "type": "address" }, { - "internalType": "uint256", - "name": "paymentReceivableId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "paymentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "drawdownReceivableId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "drawdownAmount", - "type": "uint256" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "makePrincipalPaymentAndDrawdownWithReceivable", - "outputs": [ - { - "internalType": "uint256", - "name": "amountPaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "netAmountToBorrower", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "paidoff", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - } - ], - "name": "getNextBillRefreshDate", - "outputs": [ - { - "internalType": "uint256", - "name": "refreshDate", - "type": "uint256" - } - ], - "stateMutability": "view", + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", "type": "function" } ] diff --git a/packages/huma-shared/src/v2/abis/CreditLine.json b/packages/huma-shared/src/v2/abis/CreditLine.json new file mode 100644 index 0000000..8403d38 --- /dev/null +++ b/packages/huma-shared/src/v2/abis/CreditLine.json @@ -0,0 +1,1025 @@ +[ + { + "inputs": [], + "name": "AttemptedDrawdownOnNonRevolvingLine", + "type": "error" + }, + { + "inputs": [], + "name": "AuthorizedContractCallerRequired", + "type": "error" + }, + { + "inputs": [], + "name": "CreditLimitExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "CreditNotInStateForDrawdown", + "type": "error" + }, + { + "inputs": [], + "name": "CreditNotInStateForMakingPayment", + "type": "error" + }, + { + "inputs": [], + "name": "CreditNotInStateForMakingPrincipalPayment", + "type": "error" + }, + { + "inputs": [], + "name": "DrawdownNotAllowedAfterDueDateWithUnpaidDue", + "type": "error" + }, + { + "inputs": [], + "name": "DrawdownNotAllowedInFinalPeriodAndBeyond", + "type": "error" + }, + { + "inputs": [], + "name": "FirstDrawdownTooEarly", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientFirstLossCover", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientPoolBalanceForDrawdown", + "type": "error" + }, + { + "inputs": [], + "name": "SentinelServiceAccountRequired", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddressProvided", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAmountProvided", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newDueDate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nextDue", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalPastDue", + "type": "uint256" + } + ], + "name": "BillRefreshed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "by", + "type": "address" + } + ], + "name": "CreditClosedAfterPayOff", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "netAmountToBorrower", + "type": "uint256" + } + ], + "name": "DrawdownMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "yieldDuePaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "principalDuePaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unbilledPrincipalPaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "yieldPastDuePaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lateFeePaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "principalPastDuePaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "by", + "type": "address" + } + ], + "name": "PaymentMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "poolConfig", + "type": "address" + } + ], + "name": "PoolConfigCacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPoolConfig", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldPoolConfig", + "type": "address" + } + ], + "name": "PoolConfigChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nextDueDate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "principalDue", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unbilledPrincipal", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "principalDuePaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unbilledPrincipalPaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "by", + "type": "address" + } + ], + "name": "PrincipalPaymentMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "creditManager", + "outputs": [ + { + "internalType": "contract ICreditManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "drawdown", + "outputs": [ + { + "internalType": "uint256", + "name": "netAmountToBorrower", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "dueManager", + "outputs": [ + { + "internalType": "contract ICreditDueManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "firstLossCover", + "outputs": [ + { + "internalType": "contract IFirstLossCover", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + } + ], + "name": "getCreditHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + } + ], + "name": "getCreditRecord", + "outputs": [ + { + "components": [ + { + "internalType": "uint96", + "name": "unbilledPrincipal", + "type": "uint96" + }, + { + "internalType": "uint64", + "name": "nextDueDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "nextDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "totalPastDue", + "type": "uint96" + }, + { + "internalType": "uint16", + "name": "missedPeriods", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "remainingPeriods", + "type": "uint16" + }, + { + "internalType": "enum CreditState", + "name": "state", + "type": "uint8" + } + ], + "internalType": "struct CreditRecord", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + } + ], + "name": "getDueDetail", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "lateFeeUpdatedDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "lateFee", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "principalPastDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldPastDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "committed", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "accrued", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "paid", + "type": "uint96" + } + ], + "internalType": "struct DueDetail", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + } + ], + "name": "getDueInfo", + "outputs": [ + { + "components": [ + { + "internalType": "uint96", + "name": "unbilledPrincipal", + "type": "uint96" + }, + { + "internalType": "uint64", + "name": "nextDueDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "nextDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "totalPastDue", + "type": "uint96" + }, + { + "internalType": "uint16", + "name": "missedPeriods", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "remainingPeriods", + "type": "uint16" + }, + { + "internalType": "enum CreditState", + "name": "state", + "type": "uint8" + } + ], + "internalType": "struct CreditRecord", + "name": "cr", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "lateFeeUpdatedDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "lateFee", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "principalPastDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldPastDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "committed", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "accrued", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "paid", + "type": "uint96" + } + ], + "internalType": "struct DueDetail", + "name": "dd", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + } + ], + "name": "getNextBillRefreshDate", + "outputs": [ + { + "internalType": "uint256", + "name": "refreshDate", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "humaConfig", + "outputs": [ + { + "internalType": "contract HumaConfig", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract PoolConfig", + "name": "poolConfig_", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "makePayment", + "outputs": [ + { + "internalType": "uint256", + "name": "amountPaid", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "paidoff", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "makePrincipalPayment", + "outputs": [ + { + "internalType": "uint256", + "name": "amountPaid", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "paidoff", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pool", + "outputs": [ + { + "internalType": "contract IPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "poolConfig", + "outputs": [ + { + "internalType": "contract PoolConfig", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "poolSafe", + "outputs": [ + { + "internalType": "contract IPoolSafe", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "uint96", + "name": "unbilledPrincipal", + "type": "uint96" + }, + { + "internalType": "uint64", + "name": "nextDueDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "nextDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "totalPastDue", + "type": "uint96" + }, + { + "internalType": "uint16", + "name": "missedPeriods", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "remainingPeriods", + "type": "uint16" + }, + { + "internalType": "enum CreditState", + "name": "state", + "type": "uint8" + } + ], + "internalType": "struct CreditRecord", + "name": "cr", + "type": "tuple" + } + ], + "name": "setCreditRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract PoolConfig", + "name": "poolConfig_", + "type": "address" + } + ], + "name": "setPoolConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "uint96", + "name": "unbilledPrincipal", + "type": "uint96" + }, + { + "internalType": "uint64", + "name": "nextDueDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "nextDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "totalPastDue", + "type": "uint96" + }, + { + "internalType": "uint16", + "name": "missedPeriods", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "remainingPeriods", + "type": "uint16" + }, + { + "internalType": "enum CreditState", + "name": "state", + "type": "uint8" + } + ], + "internalType": "struct CreditRecord", + "name": "cr", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "lateFeeUpdatedDate", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "lateFee", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "principalPastDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "yieldPastDue", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "committed", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "accrued", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "paid", + "type": "uint96" + } + ], + "internalType": "struct DueDetail", + "name": "dd", + "type": "tuple" + } + ], + "name": "updateDueInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updatePoolConfigData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } +] diff --git a/packages/huma-shared/src/v2/abis/Pool.json b/packages/huma-shared/src/v2/abis/Pool.json index 3cd8f4b..9079456 100644 --- a/packages/huma-shared/src/v2/abis/Pool.json +++ b/packages/huma-shared/src/v2/abis/Pool.json @@ -1,18 +1,64 @@ [ { "inputs": [], - "name": "notAuthorizedCaller", + "name": "AuthorizedContractCallerRequired", "type": "error" }, { "inputs": [], - "name": "todo", + "name": "ZeroAddressProvided", "type": "error" }, { - "inputs": [], - "name": "zeroAddressProvided", - "type": "error" + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "by", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "ready", + "type": "bool" + } + ], + "name": "FirstLossCoverWithdrawalReadinessChanged", + "type": "event" }, { "anonymous": false, @@ -105,55 +151,13 @@ "anonymous": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "refreshedTimestamp", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "profit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "loss", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lossRecovery", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "seniorTotalAssets", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "juniorTotalAssets", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "seniorTotalLoss", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "juniorTotalLoss", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "by", + "type": "address" } ], - "name": "PoolAssetsRefreshed", + "name": "PoolClosed", "type": "event" }, { @@ -214,25 +218,6 @@ "name": "PoolEnabled", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "by", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "ready", - "type": "bool" - } - ], - "name": "PoolReadyForFirstLossCoverWithdrawal", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -258,6 +243,52 @@ "name": "ProfitDistributed", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "closePool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "credit", + "outputs": [ + { + "internalType": "contract ICredit", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "creditManager", + "outputs": [ + { + "internalType": "contract ICreditManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "currentTranchesAssets", @@ -350,30 +381,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "coverAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "poolAssets", - "type": "uint256" - } - ], - "name": "getFirstLossCoverAvailableCap", - "outputs": [ - { - "internalType": "uint256", - "name": "availableCap", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "getFirstLossCovers", @@ -388,12 +395,18 @@ "type": "function" }, { - "inputs": [], - "name": "getReservedAssetsForFirstLossCovers", + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getTrancheAvailableCap", "outputs": [ { "internalType": "uint256", - "name": "reservedAssets", + "name": "availableCap", "type": "uint256" } ], @@ -404,7 +417,7 @@ "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -413,19 +426,45 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "isPoolClosed", + "outputs": [ + { + "internalType": "bool", + "name": "isClosed", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "isPoolOn", "outputs": [ { "internalType": "bool", - "name": "status", + "name": "isOn", "type": "bool" } ], "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "juniorTranche", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "poolConfig", @@ -452,6 +491,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "readyForFirstLossCoverWithdrawal", @@ -465,11 +517,24 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "seniorTranche", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -482,7 +547,7 @@ "inputs": [ { "internalType": "bool", - "name": "ready", + "name": "isReady", "type": "bool" } ], @@ -491,13 +556,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "syncFirstLossCovers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], "name": "totalAssets", @@ -543,11 +601,6 @@ "internalType": "uint96", "name": "juniorTotalAssets", "type": "uint96" - }, - { - "internalType": "uint64", - "name": "lastProfitDistributedTime", - "type": "uint64" } ], "stateMutability": "view", @@ -603,5 +656,36 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" } ] diff --git a/packages/huma-shared/src/v2/abis/ReceivableBackedCreditLine.json b/packages/huma-shared/src/v2/abis/ReceivableBackedCreditLine.json index 74dc140..21cd4a0 100644 --- a/packages/huma-shared/src/v2/abis/ReceivableBackedCreditLine.json +++ b/packages/huma-shared/src/v2/abis/ReceivableBackedCreditLine.json @@ -1,92 +1,87 @@ [ { "inputs": [], - "name": "attemptedDrawdownForNonrevolvingLine", + "name": "AttemptedDrawdownOnNonRevolvingLine", "type": "error" }, { "inputs": [], - "name": "creditLineExceeded", + "name": "AuthorizedContractCallerRequired", "type": "error" }, { "inputs": [], - "name": "creditLineNotInGoodStandingState", + "name": "CreditLimitExceeded", "type": "error" }, { "inputs": [], - "name": "creditLineNotInStateForMakingPayment", + "name": "CreditNotInStateForDrawdown", "type": "error" }, { "inputs": [], - "name": "creditLineNotInStateForMakingPrincipalPayment", + "name": "CreditNotInStateForMakingPayment", "type": "error" }, { "inputs": [], - "name": "creditNotInStateForDrawdown", + "name": "CreditNotInStateForMakingPrincipalPayment", "type": "error" }, { "inputs": [], - "name": "drawdownNotAllowedInLatePaymentGracePeriod", + "name": "DrawdownNotAllowedAfterDueDateWithUnpaidDue", "type": "error" }, { "inputs": [], - "name": "firstDrawdownTooSoon", + "name": "DrawdownNotAllowedInFinalPeriodAndBeyond", "type": "error" }, { "inputs": [], - "name": "insufficientBorrowerFirstLossCover", + "name": "FirstDrawdownTooEarly", "type": "error" }, { "inputs": [], - "name": "insufficientReceivableAmount", + "name": "InsufficientFirstLossCover", "type": "error" }, { "inputs": [], - "name": "notAuthorizedCaller", + "name": "InsufficientPoolBalanceForDrawdown", "type": "error" }, { "inputs": [], - "name": "notBorrower", + "name": "InsufficientReceivableAmount", "type": "error" }, { "inputs": [], - "name": "notReceivableOwner", + "name": "ReceivableOwnerRequired", "type": "error" }, { "inputs": [], - "name": "sentinelServiceAccountRequired", + "name": "SentinelServiceAccountRequired", "type": "error" }, { "inputs": [], - "name": "todo", + "name": "ZeroAddressProvided", "type": "error" }, { "inputs": [], - "name": "zeroAddressProvided", + "name": "ZeroAmountProvided", "type": "error" }, { "inputs": [], - "name": "zeroAmountProvided", - "type": "error" - }, - { - "inputs": [], - "name": "zeroReceivableIdProvided", + "name": "ZeroReceivableIdProvided", "type": "error" }, { @@ -139,7 +134,13 @@ { "indexed": false, "internalType": "uint256", - "name": "amountDue", + "name": "nextDue", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalPastDue", "type": "uint256" } ], @@ -165,74 +166,6 @@ "name": "CreditClosedAfterPayOff", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "creditLimit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "aprInBps", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum PayPeriodDuration", - "name": "periodDuration", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "remainingPeriods", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "CreditInitiated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldCreditLimit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newCreditLimit", - "type": "uint256" - } - ], - "name": "CreditLineChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -552,11 +485,6 @@ }, { "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, { "internalType": "uint256", "name": "receivableId", @@ -605,6 +533,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + } + ], + "name": "getCreditHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "creditHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -861,7 +808,7 @@ "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -906,11 +853,6 @@ }, { "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, { "internalType": "uint256", "name": "paymentReceivableId", @@ -955,11 +897,6 @@ }, { "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, { "internalType": "uint256", "name": "receivableId", @@ -1021,6 +958,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "pool", + "outputs": [ + { + "internalType": "contract IPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "poolConfig", @@ -1124,7 +1074,7 @@ "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], diff --git a/packages/huma-shared/src/v2/abis/TrancheVault.json b/packages/huma-shared/src/v2/abis/TrancheVault.json index bccce74..fbc8d56 100644 --- a/packages/huma-shared/src/v2/abis/TrancheVault.json +++ b/packages/huma-shared/src/v2/abis/TrancheVault.json @@ -1,67 +1,77 @@ [ { "inputs": [], - "name": "alreadyLender", + "name": "AlreadyALender", "type": "error" }, { "inputs": [], - "name": "insufficientSharesForRequest", + "name": "AuthorizedContractCallerRequired", "type": "error" }, { "inputs": [], - "name": "invalidTrancheIndex", + "name": "DepositAmountTooLow", "type": "error" }, { "inputs": [], - "name": "nonReinvestYieldLenderCapacityReached", + "name": "InsufficientSharesForRequest", "type": "error" }, { "inputs": [], - "name": "notAuthorizedCaller", + "name": "InvalidTrancheIndex", "type": "error" }, { "inputs": [], - "name": "notLender", + "name": "LenderRequired", "type": "error" }, { "inputs": [], - "name": "permissionDeniedNotLender", + "name": "NonReinvestYieldLenderCapacityReached", "type": "error" }, { "inputs": [], - "name": "todo", + "name": "PoolIsNotClosed", "type": "error" }, { "inputs": [], - "name": "trancheLiquidityCapExceeded", + "name": "ReinvestYieldOptionAlreadySet", "type": "error" }, { "inputs": [], - "name": "unsupportedFunction", + "name": "TrancheLiquidityCapExceeded", "type": "error" }, { "inputs": [], - "name": "withdrawTooSoon", + "name": "UnsupportedFunction", "type": "error" }, { "inputs": [], - "name": "zeroAddressProvided", + "name": "WithdrawTooEarly", "type": "error" }, { "inputs": [], - "name": "zeroAmountProvided", + "name": "ZeroAddressProvided", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAmountProvided", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroSharesMinted", "type": "error" }, { @@ -176,14 +186,27 @@ }, { "indexed": false, + "internalType": "bool", + "name": "reinvestYield", + "type": "bool" + } + ], + "name": "LenderAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, "internalType": "address", - "name": "receiver", + "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "withdrawnAmount", + "name": "amountDisbursed", "type": "uint256" } ], @@ -196,25 +219,57 @@ { "indexed": true, "internalType": "address", - "name": "sender", + "name": "account", "type": "address" }, + { + "indexed": false, + "internalType": "uint256", + "name": "numShares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "LenderFundWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { "indexed": true, "internalType": "address", - "name": "receiver", + "name": "account", + "type": "address" + } + ], + "name": "LenderRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "assetAmount", + "name": "assets", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "shareAmount", + "name": "shares", "type": "uint256" } ], @@ -265,7 +320,7 @@ { "indexed": false, "internalType": "uint256", - "name": "shareAmount", + "name": "shares", "type": "uint256" }, { @@ -290,7 +345,7 @@ { "indexed": false, "internalType": "uint256", - "name": "shareAmount", + "name": "shares", "type": "uint256" }, { @@ -463,7 +518,38 @@ "type": "uint256" } ], - "name": "YieldPaidout", + "name": "YieldPaidOut", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "yields", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "YieldPayoutFailed", "type": "event" }, { @@ -692,41 +778,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "currentRedemptionSummary", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "epochId", - "type": "uint64" - }, - { - "internalType": "uint96", - "name": "totalSharesRequested", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "totalSharesProcessed", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "totalAmountProcessed", - "type": "uint96" - } - ], - "internalType": "struct EpochRedemptionSummary", - "name": "redemptionSummary", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "decimals", @@ -770,11 +821,6 @@ "internalType": "uint256", "name": "assets", "type": "uint256" - }, - { - "internalType": "address", - "name": "receiver", - "type": "address" } ], "name": "deposit", @@ -871,6 +917,47 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "name": "epochRedemptionSummary", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "epochId", + "type": "uint64" + }, + { + "internalType": "uint96", + "name": "totalSharesRequested", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "totalSharesProcessed", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "totalAmountProcessed", + "type": "uint96" + } + ], + "internalType": "struct EpochRedemptionSummary", + "name": "redemptionSummary", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1018,7 +1105,7 @@ }, { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" }, { @@ -1036,7 +1123,7 @@ "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -1247,7 +1334,7 @@ "inputs": [ { "internalType": "contract PoolConfig", - "name": "_poolConfig", + "name": "poolConfig_", "type": "address" } ], @@ -1468,6 +1555,13 @@ "stateMutability": "payable", "type": "function" }, + { + "inputs": [], + "name": "withdrawAfterPoolClosure", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { diff --git a/packages/huma-shared/src/v2/abis/types/Credit.ts b/packages/huma-shared/src/v2/abis/types/Credit.ts index 9c430c1..e9d753c 100644 --- a/packages/huma-shared/src/v2/abis/types/Credit.ts +++ b/packages/huma-shared/src/v2/abis/types/Credit.ts @@ -9,6 +9,7 @@ import type { CallOverrides, ContractTransaction, Overrides, + PayableOverrides, PopulatedTransaction, Signer, utils, @@ -27,31 +28,6 @@ import type { PromiseOrValue, } from './common' -export type CreditLossStruct = { - principalLoss: PromiseOrValue - yieldLoss: PromiseOrValue - feesLoss: PromiseOrValue - principalRecovered: PromiseOrValue - yieldRecovered: PromiseOrValue - feesRecovered: PromiseOrValue -} - -export type CreditLossStructOutput = [ - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, -] & { - principalLoss: BigNumber - yieldLoss: BigNumber - feesLoss: BigNumber - principalRecovered: BigNumber - yieldRecovered: BigNumber - feesRecovered: BigNumber -} - export type CreditRecordStruct = { unbilledPrincipal: PromiseOrValue nextDueDate: PromiseOrValue @@ -113,84 +89,55 @@ export type DueDetailStructOutput = [ export interface CreditInterface extends utils.Interface { functions: { - 'calendar()': FunctionFragment 'creditManager()': FunctionFragment - 'drawdown(address,uint256)': FunctionFragment - 'feeManager()': FunctionFragment + 'dueManager()': FunctionFragment 'firstLossCover()': FunctionFragment - 'getCreditLoss(bytes32)': FunctionFragment 'getCreditRecord(bytes32)': FunctionFragment 'getDueDetail(bytes32)': FunctionFragment - 'getMaturityDate(bytes32)': FunctionFragment 'humaConfig()': FunctionFragment 'initialize(address)': FunctionFragment - 'isLate(bytes32)': FunctionFragment - 'makePayment(address,uint256)': FunctionFragment - 'makePrincipalPayment(address,uint256)': FunctionFragment + 'pool()': FunctionFragment 'poolConfig()': FunctionFragment 'poolSafe()': FunctionFragment - 'setCreditLoss(bytes32,(uint96,uint96,uint96,uint96,uint96,uint96))': FunctionFragment + 'proxiableUUID()': FunctionFragment 'setCreditRecord(bytes32,(uint96,uint64,uint96,uint96,uint96,uint16,uint16,uint8))': FunctionFragment - 'setDueDetail(bytes32,(uint64,uint96,uint96,uint96,uint96,uint96,uint96))': FunctionFragment - 'setMaturityDate(bytes32,uint256)': FunctionFragment 'setPoolConfig(address)': FunctionFragment - 'updateDueInfo(bytes32)': FunctionFragment + 'updateDueInfo(bytes32,(uint96,uint64,uint96,uint96,uint96,uint16,uint16,uint8),(uint64,uint96,uint96,uint96,uint96,uint96,uint96))': FunctionFragment 'updatePoolConfigData()': FunctionFragment - 'drawdownWithReceivable(address,uint256,uint256)': FunctionFragment - 'makePaymentWithReceivable(address,uint256,uint256)': FunctionFragment - 'makePrincipalPaymentAndDrawdownWithReceivable(address,uint256,uint256,uint256,uint256)': FunctionFragment - 'getNextBillRefreshDate(address)': FunctionFragment + 'upgradeTo(address)': FunctionFragment + 'upgradeToAndCall(address,bytes)': FunctionFragment } getFunction( nameOrSignatureOrTopic: - | 'calendar' | 'creditManager' - | 'drawdown' - | 'feeManager' + | 'dueManager' | 'firstLossCover' - | 'getCreditLoss' | 'getCreditRecord' | 'getDueDetail' - | 'getMaturityDate' | 'humaConfig' | 'initialize' - | 'isLate' - | 'makePayment' - | 'makePrincipalPayment' + | 'pool' | 'poolConfig' | 'poolSafe' - | 'setCreditLoss' + | 'proxiableUUID' | 'setCreditRecord' - | 'setDueDetail' - | 'setMaturityDate' | 'setPoolConfig' | 'updateDueInfo' | 'updatePoolConfigData' - | 'drawdownWithReceivable' - | 'makePaymentWithReceivable' - | 'makePrincipalPaymentAndDrawdownWithReceivable' - | 'getNextBillRefreshDate', + | 'upgradeTo' + | 'upgradeToAndCall', ): FunctionFragment - encodeFunctionData(functionFragment: 'calendar', values?: undefined): string encodeFunctionData( functionFragment: 'creditManager', values?: undefined, ): string - encodeFunctionData( - functionFragment: 'drawdown', - values: [PromiseOrValue, PromiseOrValue], - ): string - encodeFunctionData(functionFragment: 'feeManager', values?: undefined): string + encodeFunctionData(functionFragment: 'dueManager', values?: undefined): string encodeFunctionData( functionFragment: 'firstLossCover', values?: undefined, ): string - encodeFunctionData( - functionFragment: 'getCreditLoss', - values: [PromiseOrValue], - ): string encodeFunctionData( functionFragment: 'getCreditRecord', values: [PromiseOrValue], @@ -199,103 +146,52 @@ export interface CreditInterface extends utils.Interface { functionFragment: 'getDueDetail', values: [PromiseOrValue], ): string - encodeFunctionData( - functionFragment: 'getMaturityDate', - values: [PromiseOrValue], - ): string encodeFunctionData(functionFragment: 'humaConfig', values?: undefined): string encodeFunctionData( functionFragment: 'initialize', values: [PromiseOrValue], ): string - encodeFunctionData( - functionFragment: 'isLate', - values: [PromiseOrValue], - ): string - encodeFunctionData( - functionFragment: 'makePayment', - values: [PromiseOrValue, PromiseOrValue], - ): string - encodeFunctionData( - functionFragment: 'makePrincipalPayment', - values: [PromiseOrValue, PromiseOrValue], - ): string + encodeFunctionData(functionFragment: 'pool', values?: undefined): string encodeFunctionData(functionFragment: 'poolConfig', values?: undefined): string encodeFunctionData(functionFragment: 'poolSafe', values?: undefined): string encodeFunctionData( - functionFragment: 'setCreditLoss', - values: [PromiseOrValue, CreditLossStruct], + functionFragment: 'proxiableUUID', + values?: undefined, ): string encodeFunctionData( functionFragment: 'setCreditRecord', values: [PromiseOrValue, CreditRecordStruct], ): string - encodeFunctionData( - functionFragment: 'setDueDetail', - values: [PromiseOrValue, DueDetailStruct], - ): string - encodeFunctionData( - functionFragment: 'setMaturityDate', - values: [PromiseOrValue, PromiseOrValue], - ): string encodeFunctionData( functionFragment: 'setPoolConfig', values: [PromiseOrValue], ): string encodeFunctionData( functionFragment: 'updateDueInfo', - values: [PromiseOrValue], + values: [PromiseOrValue, CreditRecordStruct, DueDetailStruct], ): string encodeFunctionData( functionFragment: 'updatePoolConfigData', values?: undefined, ): string encodeFunctionData( - functionFragment: 'drawdownWithReceivable', - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - ], - ): string - encodeFunctionData( - functionFragment: 'makePaymentWithReceivable', - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - ], - ): string - encodeFunctionData( - functionFragment: 'makePrincipalPaymentAndDrawdownWithReceivable', - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - ], + functionFragment: 'upgradeTo', + values: [PromiseOrValue], ): string encodeFunctionData( - functionFragment: 'getNextBillRefreshDate', - values: [PromiseOrValue], + functionFragment: 'upgradeToAndCall', + values: [PromiseOrValue, PromiseOrValue], ): string - decodeFunctionResult(functionFragment: 'calendar', data: BytesLike): Result decodeFunctionResult( functionFragment: 'creditManager', data: BytesLike, ): Result - decodeFunctionResult(functionFragment: 'drawdown', data: BytesLike): Result - decodeFunctionResult(functionFragment: 'feeManager', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'dueManager', data: BytesLike): Result decodeFunctionResult( functionFragment: 'firstLossCover', data: BytesLike, ): Result - decodeFunctionResult( - functionFragment: 'getCreditLoss', - data: BytesLike, - ): Result decodeFunctionResult( functionFragment: 'getCreditRecord', data: BytesLike, @@ -304,36 +200,19 @@ export interface CreditInterface extends utils.Interface { functionFragment: 'getDueDetail', data: BytesLike, ): Result - decodeFunctionResult( - functionFragment: 'getMaturityDate', - data: BytesLike, - ): Result decodeFunctionResult(functionFragment: 'humaConfig', data: BytesLike): Result decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result - decodeFunctionResult(functionFragment: 'isLate', data: BytesLike): Result - decodeFunctionResult(functionFragment: 'makePayment', data: BytesLike): Result - decodeFunctionResult( - functionFragment: 'makePrincipalPayment', - data: BytesLike, - ): Result + decodeFunctionResult(functionFragment: 'pool', data: BytesLike): Result decodeFunctionResult(functionFragment: 'poolConfig', data: BytesLike): Result decodeFunctionResult(functionFragment: 'poolSafe', data: BytesLike): Result decodeFunctionResult( - functionFragment: 'setCreditLoss', + functionFragment: 'proxiableUUID', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'setCreditRecord', data: BytesLike, ): Result - decodeFunctionResult( - functionFragment: 'setDueDetail', - data: BytesLike, - ): Result - decodeFunctionResult( - functionFragment: 'setMaturityDate', - data: BytesLike, - ): Result decodeFunctionResult( functionFragment: 'setPoolConfig', data: BytesLike, @@ -346,100 +225,84 @@ export interface CreditInterface extends utils.Interface { functionFragment: 'updatePoolConfigData', data: BytesLike, ): Result + decodeFunctionResult(functionFragment: 'upgradeTo', data: BytesLike): Result decodeFunctionResult( - functionFragment: 'drawdownWithReceivable', - data: BytesLike, - ): Result - decodeFunctionResult( - functionFragment: 'makePaymentWithReceivable', - data: BytesLike, - ): Result - decodeFunctionResult( - functionFragment: 'makePrincipalPaymentAndDrawdownWithReceivable', - data: BytesLike, - ): Result - decodeFunctionResult( - functionFragment: 'getNextBillRefreshDate', + functionFragment: 'upgradeToAndCall', data: BytesLike, ): Result events: { - 'BillRefreshed(bytes32,uint256,uint256)': EventFragment - 'CreditInitiated(address,uint256,uint256,uint8,uint256,bool)': EventFragment - 'CreditLineChanged(address,uint256,uint256)': EventFragment - 'CreditLineClosed(address,address,uint8)': EventFragment + 'AdminChanged(address,address)': EventFragment + 'BeaconUpgraded(address)': EventFragment + 'BillRefreshed(bytes32,uint256,uint256,uint256)': EventFragment + 'CreditClosedAfterPayOff(bytes32,address)': EventFragment 'DrawdownMade(address,uint256,uint256)': EventFragment 'Initialized(uint8)': EventFragment - 'PaymentMade(address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)': EventFragment + 'PaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)': EventFragment 'PoolConfigCacheUpdated(address)': EventFragment 'PoolConfigChanged(address,address)': EventFragment - 'PrincipalPaymentMade(address,uint256,uint256,uint256,uint256,uint256,uint256,address)': EventFragment + 'PrincipalPaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)': EventFragment + 'Upgraded(address)': EventFragment } + getEvent(nameOrSignatureOrTopic: 'AdminChanged'): EventFragment + getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment getEvent(nameOrSignatureOrTopic: 'BillRefreshed'): EventFragment - getEvent(nameOrSignatureOrTopic: 'CreditInitiated'): EventFragment - getEvent(nameOrSignatureOrTopic: 'CreditLineChanged'): EventFragment - getEvent(nameOrSignatureOrTopic: 'CreditLineClosed'): EventFragment + getEvent(nameOrSignatureOrTopic: 'CreditClosedAfterPayOff'): EventFragment getEvent(nameOrSignatureOrTopic: 'DrawdownMade'): EventFragment getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment getEvent(nameOrSignatureOrTopic: 'PaymentMade'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolConfigCacheUpdated'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolConfigChanged'): EventFragment getEvent(nameOrSignatureOrTopic: 'PrincipalPaymentMade'): EventFragment + getEvent(nameOrSignatureOrTopic: 'Upgraded'): EventFragment } -export interface BillRefreshedEventObject { - creditHash: string - newDueDate: BigNumber - amountDue: BigNumber +export interface AdminChangedEventObject { + previousAdmin: string + newAdmin: string } -export type BillRefreshedEvent = TypedEvent< - [string, BigNumber, BigNumber], - BillRefreshedEventObject +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject > -export type BillRefreshedEventFilter = TypedEventFilter +export type AdminChangedEventFilter = TypedEventFilter -export interface CreditInitiatedEventObject { - borrower: string - creditLimit: BigNumber - aprInBps: BigNumber - periodDuration: number - remainingPeriods: BigNumber - approved: boolean +export interface BeaconUpgradedEventObject { + beacon: string } -export type CreditInitiatedEvent = TypedEvent< - [string, BigNumber, BigNumber, number, BigNumber, boolean], - CreditInitiatedEventObject +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject > -export type CreditInitiatedEventFilter = TypedEventFilter +export type BeaconUpgradedEventFilter = TypedEventFilter -export interface CreditLineChangedEventObject { - borrower: string - oldCreditLimit: BigNumber - newCreditLimit: BigNumber +export interface BillRefreshedEventObject { + creditHash: string + newDueDate: BigNumber + nextDue: BigNumber + totalPastDue: BigNumber } -export type CreditLineChangedEvent = TypedEvent< - [string, BigNumber, BigNumber], - CreditLineChangedEventObject +export type BillRefreshedEvent = TypedEvent< + [string, BigNumber, BigNumber, BigNumber], + BillRefreshedEventObject > -export type CreditLineChangedEventFilter = - TypedEventFilter +export type BillRefreshedEventFilter = TypedEventFilter -export interface CreditLineClosedEventObject { - borrower: string +export interface CreditClosedAfterPayOffEventObject { + creditHash: string by: string - reasonCode: number } -export type CreditLineClosedEvent = TypedEvent< - [string, string, number], - CreditLineClosedEventObject +export type CreditClosedAfterPayOffEvent = TypedEvent< + [string, string], + CreditClosedAfterPayOffEventObject > -export type CreditLineClosedEventFilter = - TypedEventFilter +export type CreditClosedAfterPayOffEventFilter = + TypedEventFilter export interface DrawdownMadeEventObject { borrower: string @@ -462,6 +325,7 @@ export type InitializedEventFilter = TypedEventFilter export interface PaymentMadeEventObject { borrower: string + payer: string amount: BigNumber yieldDuePaid: BigNumber principalDuePaid: BigNumber @@ -473,6 +337,7 @@ export interface PaymentMadeEventObject { } export type PaymentMadeEvent = TypedEvent< [ + string, string, BigNumber, BigNumber, @@ -513,6 +378,7 @@ export type PoolConfigChangedEventFilter = export interface PrincipalPaymentMadeEventObject { borrower: string + payer: string amount: BigNumber nextDueDate: BigNumber principalDue: BigNumber @@ -523,6 +389,7 @@ export interface PrincipalPaymentMadeEventObject { } export type PrincipalPaymentMadeEvent = TypedEvent< [ + string, string, BigNumber, BigNumber, @@ -538,6 +405,13 @@ export type PrincipalPaymentMadeEvent = TypedEvent< export type PrincipalPaymentMadeEventFilter = TypedEventFilter +export interface UpgradedEventObject { + implementation: string +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject> + +export type UpgradedEventFilter = TypedEventFilter + export interface Credit extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this attach(addressOrName: string): this @@ -565,25 +439,12 @@ export interface Credit extends BaseContract { removeListener: OnEvent functions: { - calendar(overrides?: CallOverrides): Promise<[string]> - creditManager(overrides?: CallOverrides): Promise<[string]> - drawdown( - borrower: PromiseOrValue, - borrowAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - feeManager(overrides?: CallOverrides): Promise<[string]> + dueManager(overrides?: CallOverrides): Promise<[string]> firstLossCover(overrides?: CallOverrides): Promise<[string]> - getCreditLoss( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise<[CreditLossStructOutput]> - getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -594,44 +455,20 @@ export interface Credit extends BaseContract { overrides?: CallOverrides, ): Promise<[DueDetailStructOutput]> - getMaturityDate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise<[BigNumber] & { maturitydate: BigNumber }> - humaConfig(overrides?: CallOverrides): Promise<[string]> initialize( - _poolConfig: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - isLate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise<[boolean] & { lateFlag: boolean }> - - makePayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - makePrincipalPayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + pool(overrides?: CallOverrides): Promise<[string]> poolConfig(overrides?: CallOverrides): Promise<[string]> poolSafe(overrides?: CallOverrides): Promise<[string]> - setCreditLoss( - creditHash: PromiseOrValue, - cl: CreditLossStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + proxiableUUID(overrides?: CallOverrides): Promise<[string]> setCreditRecord( creditHash: PromiseOrValue, @@ -639,25 +476,15 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - setDueDetail( - creditHash: PromiseOrValue, - dd: DueDetailStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - setMaturityDate( - creditHash: PromiseOrValue, - maturityDate: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise updateDueInfo( creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -665,54 +492,24 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - drawdownWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, + upgradeTo( + newImplementation: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - makePaymentWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise - - makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, - paymentReceivableId: PromiseOrValue, - paymentAmount: PromiseOrValue, - drawdownReceivableId: PromiseOrValue, - drawdownAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - getNextBillRefreshDate( - borrower: PromiseOrValue, - overrides?: CallOverrides, - ): Promise<[BigNumber] & { refreshDate: BigNumber }> } - calendar(overrides?: CallOverrides): Promise - creditManager(overrides?: CallOverrides): Promise - drawdown( - borrower: PromiseOrValue, - borrowAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - feeManager(overrides?: CallOverrides): Promise + dueManager(overrides?: CallOverrides): Promise firstLossCover(overrides?: CallOverrides): Promise - getCreditLoss( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -723,44 +520,20 @@ export interface Credit extends BaseContract { overrides?: CallOverrides, ): Promise - getMaturityDate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - isLate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - - makePayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - makePrincipalPayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + pool(overrides?: CallOverrides): Promise poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise - setCreditLoss( - creditHash: PromiseOrValue, - cl: CreditLossStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + proxiableUUID(overrides?: CallOverrides): Promise setCreditRecord( creditHash: PromiseOrValue, @@ -768,25 +541,15 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - setDueDetail( - creditHash: PromiseOrValue, - dd: DueDetailStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - setMaturityDate( - creditHash: PromiseOrValue, - maturityDate: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise updateDueInfo( creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -794,54 +557,24 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - drawdownWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, + upgradeTo( + newImplementation: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - makePaymentWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, - paymentReceivableId: PromiseOrValue, - paymentAmount: PromiseOrValue, - drawdownReceivableId: PromiseOrValue, - drawdownAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise - getNextBillRefreshDate( - borrower: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - callStatic: { - calendar(overrides?: CallOverrides): Promise - creditManager(overrides?: CallOverrides): Promise - drawdown( - borrower: PromiseOrValue, - borrowAmount: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - - feeManager(overrides?: CallOverrides): Promise + dueManager(overrides?: CallOverrides): Promise firstLossCover(overrides?: CallOverrides): Promise - getCreditLoss( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -852,48 +585,20 @@ export interface Credit extends BaseContract { overrides?: CallOverrides, ): Promise - getMaturityDate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise - isLate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - - makePayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: CallOverrides, - ): Promise< - [BigNumber, boolean] & { amountPaid: BigNumber; paidoff: boolean } - > - - makePrincipalPayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: CallOverrides, - ): Promise< - [BigNumber, boolean] & { amountPaid: BigNumber; paidoff: boolean } - > + pool(overrides?: CallOverrides): Promise poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise - setCreditLoss( - creditHash: PromiseOrValue, - cl: CreditLossStruct, - overrides?: CallOverrides, - ): Promise + proxiableUUID(overrides?: CallOverrides): Promise setCreditRecord( creditHash: PromiseOrValue, @@ -901,122 +606,67 @@ export interface Credit extends BaseContract { overrides?: CallOverrides, ): Promise - setDueDetail( - creditHash: PromiseOrValue, - dd: DueDetailStruct, - overrides?: CallOverrides, - ): Promise - - setMaturityDate( - creditHash: PromiseOrValue, - maturityDate: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise updateDueInfo( creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, overrides?: CallOverrides, - ): Promise< - [CreditRecordStructOutput, DueDetailStructOutput] & { - cr: CreditRecordStructOutput - dd: DueDetailStructOutput - } - > + ): Promise updatePoolConfigData(overrides?: CallOverrides): Promise - drawdownWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, + upgradeTo( + newImplementation: PromiseOrValue, overrides?: CallOverrides, - ): Promise + ): Promise - makePaymentWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, - overrides?: CallOverrides, - ): Promise< - [BigNumber, boolean] & { amountPaid: BigNumber; paidoff: boolean } - > - - makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, - paymentReceivableId: PromiseOrValue, - paymentAmount: PromiseOrValue, - drawdownReceivableId: PromiseOrValue, - drawdownAmount: PromiseOrValue, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber, boolean] & { - amountPaid: BigNumber - netAmountToBorrower: BigNumber - paidoff: boolean - } - > - - getNextBillRefreshDate( - borrower: PromiseOrValue, + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, overrides?: CallOverrides, - ): Promise + ): Promise } filters: { - 'BillRefreshed(bytes32,uint256,uint256)'( + 'AdminChanged(address,address)'( + previousAdmin?: null, + newAdmin?: null, + ): AdminChangedEventFilter + AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter + + 'BeaconUpgraded(address)'( + beacon?: PromiseOrValue | null, + ): BeaconUpgradedEventFilter + BeaconUpgraded( + beacon?: PromiseOrValue | null, + ): BeaconUpgradedEventFilter + + 'BillRefreshed(bytes32,uint256,uint256,uint256)'( creditHash?: PromiseOrValue | null, newDueDate?: null, - amountDue?: null, + nextDue?: null, + totalPastDue?: null, ): BillRefreshedEventFilter BillRefreshed( creditHash?: PromiseOrValue | null, newDueDate?: null, - amountDue?: null, + nextDue?: null, + totalPastDue?: null, ): BillRefreshedEventFilter - 'CreditInitiated(address,uint256,uint256,uint8,uint256,bool)'( - borrower?: PromiseOrValue | null, - creditLimit?: null, - aprInBps?: null, - periodDuration?: null, - remainingPeriods?: null, - approved?: null, - ): CreditInitiatedEventFilter - CreditInitiated( - borrower?: PromiseOrValue | null, - creditLimit?: null, - aprInBps?: null, - periodDuration?: null, - remainingPeriods?: null, - approved?: null, - ): CreditInitiatedEventFilter - - 'CreditLineChanged(address,uint256,uint256)'( - borrower?: PromiseOrValue | null, - oldCreditLimit?: null, - newCreditLimit?: null, - ): CreditLineChangedEventFilter - CreditLineChanged( - borrower?: PromiseOrValue | null, - oldCreditLimit?: null, - newCreditLimit?: null, - ): CreditLineChangedEventFilter - - 'CreditLineClosed(address,address,uint8)'( - borrower?: PromiseOrValue | null, + 'CreditClosedAfterPayOff(bytes32,address)'( + creditHash?: PromiseOrValue | null, by?: null, - reasonCode?: null, - ): CreditLineClosedEventFilter - CreditLineClosed( - borrower?: PromiseOrValue | null, + ): CreditClosedAfterPayOffEventFilter + CreditClosedAfterPayOff( + creditHash?: PromiseOrValue | null, by?: null, - reasonCode?: null, - ): CreditLineClosedEventFilter + ): CreditClosedAfterPayOffEventFilter 'DrawdownMade(address,uint256,uint256)'( borrower?: PromiseOrValue | null, @@ -1032,8 +682,9 @@ export interface Credit extends BaseContract { 'Initialized(uint8)'(version?: null): InitializedEventFilter Initialized(version?: null): InitializedEventFilter - 'PaymentMade(address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)'( + 'PaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)'( borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, amount?: null, yieldDuePaid?: null, principalDuePaid?: null, @@ -1045,6 +696,7 @@ export interface Credit extends BaseContract { ): PaymentMadeEventFilter PaymentMade( borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, amount?: null, yieldDuePaid?: null, principalDuePaid?: null, @@ -1071,8 +723,9 @@ export interface Credit extends BaseContract { oldPoolConfig?: PromiseOrValue | null, ): PoolConfigChangedEventFilter - 'PrincipalPaymentMade(address,uint256,uint256,uint256,uint256,uint256,uint256,address)'( + 'PrincipalPaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)'( borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, amount?: null, nextDueDate?: null, principalDue?: null, @@ -1083,6 +736,7 @@ export interface Credit extends BaseContract { ): PrincipalPaymentMadeEventFilter PrincipalPaymentMade( borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, amount?: null, nextDueDate?: null, principalDue?: null, @@ -1091,28 +745,22 @@ export interface Credit extends BaseContract { unbilledPrincipalPaid?: null, by?: null, ): PrincipalPaymentMadeEventFilter + + 'Upgraded(address)'( + implementation?: PromiseOrValue | null, + ): UpgradedEventFilter + Upgraded( + implementation?: PromiseOrValue | null, + ): UpgradedEventFilter } estimateGas: { - calendar(overrides?: CallOverrides): Promise - creditManager(overrides?: CallOverrides): Promise - drawdown( - borrower: PromiseOrValue, - borrowAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - feeManager(overrides?: CallOverrides): Promise + dueManager(overrides?: CallOverrides): Promise firstLossCover(overrides?: CallOverrides): Promise - getCreditLoss( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -1123,44 +771,20 @@ export interface Credit extends BaseContract { overrides?: CallOverrides, ): Promise - getMaturityDate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - isLate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - - makePayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - makePrincipalPayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + pool(overrides?: CallOverrides): Promise poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise - setCreditLoss( - creditHash: PromiseOrValue, - cl: CreditLossStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + proxiableUUID(overrides?: CallOverrides): Promise setCreditRecord( creditHash: PromiseOrValue, @@ -1168,25 +792,15 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - setDueDetail( - creditHash: PromiseOrValue, - dd: DueDetailStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - setMaturityDate( - creditHash: PromiseOrValue, - maturityDate: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise updateDueInfo( creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1194,55 +808,25 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - drawdownWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - makePaymentWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, + upgradeTo( + newImplementation: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, - paymentReceivableId: PromiseOrValue, - paymentAmount: PromiseOrValue, - drawdownReceivableId: PromiseOrValue, - drawdownAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - getNextBillRefreshDate( - borrower: PromiseOrValue, - overrides?: CallOverrides, + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise } populateTransaction: { - calendar(overrides?: CallOverrides): Promise - creditManager(overrides?: CallOverrides): Promise - drawdown( - borrower: PromiseOrValue, - borrowAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - feeManager(overrides?: CallOverrides): Promise + dueManager(overrides?: CallOverrides): Promise firstLossCover(overrides?: CallOverrides): Promise - getCreditLoss( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -1253,44 +837,20 @@ export interface Credit extends BaseContract { overrides?: CallOverrides, ): Promise - getMaturityDate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - isLate( - creditHash: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - - makePayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - makePrincipalPayment( - borrower: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + pool(overrides?: CallOverrides): Promise poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise - setCreditLoss( - creditHash: PromiseOrValue, - cl: CreditLossStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise + proxiableUUID(overrides?: CallOverrides): Promise setCreditRecord( creditHash: PromiseOrValue, @@ -1298,25 +858,15 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - setDueDetail( - creditHash: PromiseOrValue, - dd: DueDetailStruct, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - setMaturityDate( - creditHash: PromiseOrValue, - maturityDate: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise updateDueInfo( creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1324,32 +874,15 @@ export interface Credit extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - drawdownWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - makePaymentWithReceivable( - borrower: PromiseOrValue, - receivableId: PromiseOrValue, - amount: PromiseOrValue, + upgradeTo( + newImplementation: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, - paymentReceivableId: PromiseOrValue, - paymentAmount: PromiseOrValue, - drawdownReceivableId: PromiseOrValue, - drawdownAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - getNextBillRefreshDate( - borrower: PromiseOrValue, - overrides?: CallOverrides, + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise } } diff --git a/packages/huma-shared/src/v2/abis/types/CreditLine.ts b/packages/huma-shared/src/v2/abis/types/CreditLine.ts new file mode 100644 index 0000000..16050d1 --- /dev/null +++ b/packages/huma-shared/src/v2/abis/types/CreditLine.ts @@ -0,0 +1,1113 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers' +import type { + FunctionFragment, + Result, + EventFragment, +} from '@ethersproject/abi' +import type { Listener, Provider } from '@ethersproject/providers' +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from './common' + +export type CreditRecordStruct = { + unbilledPrincipal: PromiseOrValue + nextDueDate: PromiseOrValue + nextDue: PromiseOrValue + yieldDue: PromiseOrValue + totalPastDue: PromiseOrValue + missedPeriods: PromiseOrValue + remainingPeriods: PromiseOrValue + state: PromiseOrValue +} + +export type CreditRecordStructOutput = [ + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + number, + number, + number, +] & { + unbilledPrincipal: BigNumber + nextDueDate: BigNumber + nextDue: BigNumber + yieldDue: BigNumber + totalPastDue: BigNumber + missedPeriods: number + remainingPeriods: number + state: number +} + +export type DueDetailStruct = { + lateFeeUpdatedDate: PromiseOrValue + lateFee: PromiseOrValue + principalPastDue: PromiseOrValue + yieldPastDue: PromiseOrValue + committed: PromiseOrValue + accrued: PromiseOrValue + paid: PromiseOrValue +} + +export type DueDetailStructOutput = [ + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, +] & { + lateFeeUpdatedDate: BigNumber + lateFee: BigNumber + principalPastDue: BigNumber + yieldPastDue: BigNumber + committed: BigNumber + accrued: BigNumber + paid: BigNumber +} + +export interface CreditLineInterface extends utils.Interface { + functions: { + 'creditManager()': FunctionFragment + 'drawdown(uint256)': FunctionFragment + 'dueManager()': FunctionFragment + 'firstLossCover()': FunctionFragment + 'getCreditHash(address)': FunctionFragment + 'getCreditRecord(bytes32)': FunctionFragment + 'getDueDetail(bytes32)': FunctionFragment + 'getDueInfo(address)': FunctionFragment + 'getNextBillRefreshDate(address)': FunctionFragment + 'humaConfig()': FunctionFragment + 'initialize(address)': FunctionFragment + 'makePayment(address,uint256)': FunctionFragment + 'makePrincipalPayment(uint256)': FunctionFragment + 'pool()': FunctionFragment + 'poolConfig()': FunctionFragment + 'poolSafe()': FunctionFragment + 'proxiableUUID()': FunctionFragment + 'setCreditRecord(bytes32,(uint96,uint64,uint96,uint96,uint96,uint16,uint16,uint8))': FunctionFragment + 'setPoolConfig(address)': FunctionFragment + 'updateDueInfo(bytes32,(uint96,uint64,uint96,uint96,uint96,uint16,uint16,uint8),(uint64,uint96,uint96,uint96,uint96,uint96,uint96))': FunctionFragment + 'updatePoolConfigData()': FunctionFragment + 'upgradeTo(address)': FunctionFragment + 'upgradeToAndCall(address,bytes)': FunctionFragment + } + + getFunction( + nameOrSignatureOrTopic: + | 'creditManager' + | 'drawdown' + | 'dueManager' + | 'firstLossCover' + | 'getCreditHash' + | 'getCreditRecord' + | 'getDueDetail' + | 'getDueInfo' + | 'getNextBillRefreshDate' + | 'humaConfig' + | 'initialize' + | 'makePayment' + | 'makePrincipalPayment' + | 'pool' + | 'poolConfig' + | 'poolSafe' + | 'proxiableUUID' + | 'setCreditRecord' + | 'setPoolConfig' + | 'updateDueInfo' + | 'updatePoolConfigData' + | 'upgradeTo' + | 'upgradeToAndCall', + ): FunctionFragment + + encodeFunctionData( + functionFragment: 'creditManager', + values?: undefined, + ): string + encodeFunctionData( + functionFragment: 'drawdown', + values: [PromiseOrValue], + ): string + encodeFunctionData(functionFragment: 'dueManager', values?: undefined): string + encodeFunctionData( + functionFragment: 'firstLossCover', + values?: undefined, + ): string + encodeFunctionData( + functionFragment: 'getCreditHash', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'getCreditRecord', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'getDueDetail', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'getDueInfo', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'getNextBillRefreshDate', + values: [PromiseOrValue], + ): string + encodeFunctionData(functionFragment: 'humaConfig', values?: undefined): string + encodeFunctionData( + functionFragment: 'initialize', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'makePayment', + values: [PromiseOrValue, PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'makePrincipalPayment', + values: [PromiseOrValue], + ): string + encodeFunctionData(functionFragment: 'pool', values?: undefined): string + encodeFunctionData(functionFragment: 'poolConfig', values?: undefined): string + encodeFunctionData(functionFragment: 'poolSafe', values?: undefined): string + encodeFunctionData( + functionFragment: 'proxiableUUID', + values?: undefined, + ): string + encodeFunctionData( + functionFragment: 'setCreditRecord', + values: [PromiseOrValue, CreditRecordStruct], + ): string + encodeFunctionData( + functionFragment: 'setPoolConfig', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'updateDueInfo', + values: [PromiseOrValue, CreditRecordStruct, DueDetailStruct], + ): string + encodeFunctionData( + functionFragment: 'updatePoolConfigData', + values?: undefined, + ): string + encodeFunctionData( + functionFragment: 'upgradeTo', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'upgradeToAndCall', + values: [PromiseOrValue, PromiseOrValue], + ): string + + decodeFunctionResult( + functionFragment: 'creditManager', + data: BytesLike, + ): Result + decodeFunctionResult(functionFragment: 'drawdown', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'dueManager', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'firstLossCover', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'getCreditHash', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'getCreditRecord', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'getDueDetail', + data: BytesLike, + ): Result + decodeFunctionResult(functionFragment: 'getDueInfo', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'getNextBillRefreshDate', + data: BytesLike, + ): Result + decodeFunctionResult(functionFragment: 'humaConfig', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'makePayment', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'makePrincipalPayment', + data: BytesLike, + ): Result + decodeFunctionResult(functionFragment: 'pool', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'poolConfig', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'poolSafe', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'proxiableUUID', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'setCreditRecord', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'setPoolConfig', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'updateDueInfo', + data: BytesLike, + ): Result + decodeFunctionResult( + functionFragment: 'updatePoolConfigData', + data: BytesLike, + ): Result + decodeFunctionResult(functionFragment: 'upgradeTo', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'upgradeToAndCall', + data: BytesLike, + ): Result + + events: { + 'AdminChanged(address,address)': EventFragment + 'BeaconUpgraded(address)': EventFragment + 'BillRefreshed(bytes32,uint256,uint256,uint256)': EventFragment + 'CreditClosedAfterPayOff(bytes32,address)': EventFragment + 'DrawdownMade(address,uint256,uint256)': EventFragment + 'Initialized(uint8)': EventFragment + 'PaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)': EventFragment + 'PoolConfigCacheUpdated(address)': EventFragment + 'PoolConfigChanged(address,address)': EventFragment + 'PrincipalPaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)': EventFragment + 'Upgraded(address)': EventFragment + } + + getEvent(nameOrSignatureOrTopic: 'AdminChanged'): EventFragment + getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment + getEvent(nameOrSignatureOrTopic: 'BillRefreshed'): EventFragment + getEvent(nameOrSignatureOrTopic: 'CreditClosedAfterPayOff'): EventFragment + getEvent(nameOrSignatureOrTopic: 'DrawdownMade'): EventFragment + getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment + getEvent(nameOrSignatureOrTopic: 'PaymentMade'): EventFragment + getEvent(nameOrSignatureOrTopic: 'PoolConfigCacheUpdated'): EventFragment + getEvent(nameOrSignatureOrTopic: 'PoolConfigChanged'): EventFragment + getEvent(nameOrSignatureOrTopic: 'PrincipalPaymentMade'): EventFragment + getEvent(nameOrSignatureOrTopic: 'Upgraded'): EventFragment +} + +export interface AdminChangedEventObject { + previousAdmin: string + newAdmin: string +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +> + +export type AdminChangedEventFilter = TypedEventFilter + +export interface BeaconUpgradedEventObject { + beacon: string +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +> + +export type BeaconUpgradedEventFilter = TypedEventFilter + +export interface BillRefreshedEventObject { + creditHash: string + newDueDate: BigNumber + nextDue: BigNumber + totalPastDue: BigNumber +} +export type BillRefreshedEvent = TypedEvent< + [string, BigNumber, BigNumber, BigNumber], + BillRefreshedEventObject +> + +export type BillRefreshedEventFilter = TypedEventFilter + +export interface CreditClosedAfterPayOffEventObject { + creditHash: string + by: string +} +export type CreditClosedAfterPayOffEvent = TypedEvent< + [string, string], + CreditClosedAfterPayOffEventObject +> + +export type CreditClosedAfterPayOffEventFilter = + TypedEventFilter + +export interface DrawdownMadeEventObject { + borrower: string + borrowAmount: BigNumber + netAmountToBorrower: BigNumber +} +export type DrawdownMadeEvent = TypedEvent< + [string, BigNumber, BigNumber], + DrawdownMadeEventObject +> + +export type DrawdownMadeEventFilter = TypedEventFilter + +export interface InitializedEventObject { + version: number +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject> + +export type InitializedEventFilter = TypedEventFilter + +export interface PaymentMadeEventObject { + borrower: string + payer: string + amount: BigNumber + yieldDuePaid: BigNumber + principalDuePaid: BigNumber + unbilledPrincipalPaid: BigNumber + yieldPastDuePaid: BigNumber + lateFeePaid: BigNumber + principalPastDuePaid: BigNumber + by: string +} +export type PaymentMadeEvent = TypedEvent< + [ + string, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string, + ], + PaymentMadeEventObject +> + +export type PaymentMadeEventFilter = TypedEventFilter + +export interface PoolConfigCacheUpdatedEventObject { + poolConfig: string +} +export type PoolConfigCacheUpdatedEvent = TypedEvent< + [string], + PoolConfigCacheUpdatedEventObject +> + +export type PoolConfigCacheUpdatedEventFilter = + TypedEventFilter + +export interface PoolConfigChangedEventObject { + newPoolConfig: string + oldPoolConfig: string +} +export type PoolConfigChangedEvent = TypedEvent< + [string, string], + PoolConfigChangedEventObject +> + +export type PoolConfigChangedEventFilter = + TypedEventFilter + +export interface PrincipalPaymentMadeEventObject { + borrower: string + payer: string + amount: BigNumber + nextDueDate: BigNumber + principalDue: BigNumber + unbilledPrincipal: BigNumber + principalDuePaid: BigNumber + unbilledPrincipalPaid: BigNumber + by: string +} +export type PrincipalPaymentMadeEvent = TypedEvent< + [ + string, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string, + ], + PrincipalPaymentMadeEventObject +> + +export type PrincipalPaymentMadeEventFilter = + TypedEventFilter + +export interface UpgradedEventObject { + implementation: string +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject> + +export type UpgradedEventFilter = TypedEventFilter + +export interface CreditLine extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this + attach(addressOrName: string): this + deployed(): Promise + + interface: CreditLineInterface + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise> + + listeners( + eventFilter?: TypedEventFilter, + ): Array> + listeners(eventName?: string): Array + removeAllListeners( + eventFilter: TypedEventFilter, + ): this + removeAllListeners(eventName?: string): this + off: OnEvent + on: OnEvent + once: OnEvent + removeListener: OnEvent + + functions: { + creditManager(overrides?: CallOverrides): Promise<[string]> + + drawdown( + borrowAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + dueManager(overrides?: CallOverrides): Promise<[string]> + + firstLossCover(overrides?: CallOverrides): Promise<[string]> + + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string] & { creditHash: string }> + + getCreditRecord( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[CreditRecordStructOutput]> + + getDueDetail( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[DueDetailStructOutput]> + + getDueInfo( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [CreditRecordStructOutput, DueDetailStructOutput] & { + cr: CreditRecordStructOutput + dd: DueDetailStructOutput + } + > + + getNextBillRefreshDate( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { refreshDate: BigNumber }> + + humaConfig(overrides?: CallOverrides): Promise<[string]> + + initialize( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePayment( + borrower: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePrincipalPayment( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + pool(overrides?: CallOverrides): Promise<[string]> + + poolConfig(overrides?: CallOverrides): Promise<[string]> + + poolSafe(overrides?: CallOverrides): Promise<[string]> + + proxiableUUID(overrides?: CallOverrides): Promise<[string]> + + setCreditRecord( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + setPoolConfig( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updateDueInfo( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updatePoolConfigData( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise + } + + creditManager(overrides?: CallOverrides): Promise + + drawdown( + borrowAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + dueManager(overrides?: CallOverrides): Promise + + firstLossCover(overrides?: CallOverrides): Promise + + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getCreditRecord( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueDetail( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueInfo( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [CreditRecordStructOutput, DueDetailStructOutput] & { + cr: CreditRecordStructOutput + dd: DueDetailStructOutput + } + > + + getNextBillRefreshDate( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + humaConfig(overrides?: CallOverrides): Promise + + initialize( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePayment( + borrower: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePrincipalPayment( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + pool(overrides?: CallOverrides): Promise + + poolConfig(overrides?: CallOverrides): Promise + + poolSafe(overrides?: CallOverrides): Promise + + proxiableUUID(overrides?: CallOverrides): Promise + + setCreditRecord( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + setPoolConfig( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updateDueInfo( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updatePoolConfigData( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise + + callStatic: { + creditManager(overrides?: CallOverrides): Promise + + drawdown( + borrowAmount: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + dueManager(overrides?: CallOverrides): Promise + + firstLossCover(overrides?: CallOverrides): Promise + + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getCreditRecord( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueDetail( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueInfo( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [CreditRecordStructOutput, DueDetailStructOutput] & { + cr: CreditRecordStructOutput + dd: DueDetailStructOutput + } + > + + getNextBillRefreshDate( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + humaConfig(overrides?: CallOverrides): Promise + + initialize( + poolConfig_: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + makePayment( + borrower: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, boolean] & { amountPaid: BigNumber; paidoff: boolean } + > + + makePrincipalPayment( + amount: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, boolean] & { amountPaid: BigNumber; paidoff: boolean } + > + + pool(overrides?: CallOverrides): Promise + + poolConfig(overrides?: CallOverrides): Promise + + poolSafe(overrides?: CallOverrides): Promise + + proxiableUUID(overrides?: CallOverrides): Promise + + setCreditRecord( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + overrides?: CallOverrides, + ): Promise + + setPoolConfig( + poolConfig_: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + updateDueInfo( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, + overrides?: CallOverrides, + ): Promise + + updatePoolConfigData(overrides?: CallOverrides): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + } + + filters: { + 'AdminChanged(address,address)'( + previousAdmin?: null, + newAdmin?: null, + ): AdminChangedEventFilter + AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter + + 'BeaconUpgraded(address)'( + beacon?: PromiseOrValue | null, + ): BeaconUpgradedEventFilter + BeaconUpgraded( + beacon?: PromiseOrValue | null, + ): BeaconUpgradedEventFilter + + 'BillRefreshed(bytes32,uint256,uint256,uint256)'( + creditHash?: PromiseOrValue | null, + newDueDate?: null, + nextDue?: null, + totalPastDue?: null, + ): BillRefreshedEventFilter + BillRefreshed( + creditHash?: PromiseOrValue | null, + newDueDate?: null, + nextDue?: null, + totalPastDue?: null, + ): BillRefreshedEventFilter + + 'CreditClosedAfterPayOff(bytes32,address)'( + creditHash?: PromiseOrValue | null, + by?: null, + ): CreditClosedAfterPayOffEventFilter + CreditClosedAfterPayOff( + creditHash?: PromiseOrValue | null, + by?: null, + ): CreditClosedAfterPayOffEventFilter + + 'DrawdownMade(address,uint256,uint256)'( + borrower?: PromiseOrValue | null, + borrowAmount?: null, + netAmountToBorrower?: null, + ): DrawdownMadeEventFilter + DrawdownMade( + borrower?: PromiseOrValue | null, + borrowAmount?: null, + netAmountToBorrower?: null, + ): DrawdownMadeEventFilter + + 'Initialized(uint8)'(version?: null): InitializedEventFilter + Initialized(version?: null): InitializedEventFilter + + 'PaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)'( + borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, + amount?: null, + yieldDuePaid?: null, + principalDuePaid?: null, + unbilledPrincipalPaid?: null, + yieldPastDuePaid?: null, + lateFeePaid?: null, + principalPastDuePaid?: null, + by?: null, + ): PaymentMadeEventFilter + PaymentMade( + borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, + amount?: null, + yieldDuePaid?: null, + principalDuePaid?: null, + unbilledPrincipalPaid?: null, + yieldPastDuePaid?: null, + lateFeePaid?: null, + principalPastDuePaid?: null, + by?: null, + ): PaymentMadeEventFilter + + 'PoolConfigCacheUpdated(address)'( + poolConfig?: PromiseOrValue | null, + ): PoolConfigCacheUpdatedEventFilter + PoolConfigCacheUpdated( + poolConfig?: PromiseOrValue | null, + ): PoolConfigCacheUpdatedEventFilter + + 'PoolConfigChanged(address,address)'( + newPoolConfig?: PromiseOrValue | null, + oldPoolConfig?: PromiseOrValue | null, + ): PoolConfigChangedEventFilter + PoolConfigChanged( + newPoolConfig?: PromiseOrValue | null, + oldPoolConfig?: PromiseOrValue | null, + ): PoolConfigChangedEventFilter + + 'PrincipalPaymentMade(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)'( + borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, + amount?: null, + nextDueDate?: null, + principalDue?: null, + unbilledPrincipal?: null, + principalDuePaid?: null, + unbilledPrincipalPaid?: null, + by?: null, + ): PrincipalPaymentMadeEventFilter + PrincipalPaymentMade( + borrower?: PromiseOrValue | null, + payer?: PromiseOrValue | null, + amount?: null, + nextDueDate?: null, + principalDue?: null, + unbilledPrincipal?: null, + principalDuePaid?: null, + unbilledPrincipalPaid?: null, + by?: null, + ): PrincipalPaymentMadeEventFilter + + 'Upgraded(address)'( + implementation?: PromiseOrValue | null, + ): UpgradedEventFilter + Upgraded( + implementation?: PromiseOrValue | null, + ): UpgradedEventFilter + } + + estimateGas: { + creditManager(overrides?: CallOverrides): Promise + + drawdown( + borrowAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + dueManager(overrides?: CallOverrides): Promise + + firstLossCover(overrides?: CallOverrides): Promise + + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getCreditRecord( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueDetail( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueInfo( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getNextBillRefreshDate( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + humaConfig(overrides?: CallOverrides): Promise + + initialize( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePayment( + borrower: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePrincipalPayment( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + pool(overrides?: CallOverrides): Promise + + poolConfig(overrides?: CallOverrides): Promise + + poolSafe(overrides?: CallOverrides): Promise + + proxiableUUID(overrides?: CallOverrides): Promise + + setCreditRecord( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + setPoolConfig( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updateDueInfo( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updatePoolConfigData( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise + } + + populateTransaction: { + creditManager(overrides?: CallOverrides): Promise + + drawdown( + borrowAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + dueManager(overrides?: CallOverrides): Promise + + firstLossCover(overrides?: CallOverrides): Promise + + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getCreditRecord( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueDetail( + creditHash: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getDueInfo( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + getNextBillRefreshDate( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + humaConfig(overrides?: CallOverrides): Promise + + initialize( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePayment( + borrower: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + makePrincipalPayment( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + pool(overrides?: CallOverrides): Promise + + poolConfig(overrides?: CallOverrides): Promise + + poolSafe(overrides?: CallOverrides): Promise + + proxiableUUID(overrides?: CallOverrides): Promise + + setCreditRecord( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + setPoolConfig( + poolConfig_: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updateDueInfo( + creditHash: PromiseOrValue, + cr: CreditRecordStruct, + dd: DueDetailStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + updatePoolConfigData( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise + } +} diff --git a/packages/huma-shared/src/v2/abis/types/Pool.ts b/packages/huma-shared/src/v2/abis/types/Pool.ts index 57cb464..155a043 100644 --- a/packages/huma-shared/src/v2/abis/types/Pool.ts +++ b/packages/huma-shared/src/v2/abis/types/Pool.ts @@ -9,6 +9,7 @@ import type { CallOverrides, ContractTransaction, Overrides, + PayableOverrides, PopulatedTransaction, Signer, utils, @@ -29,6 +30,9 @@ import type { export interface PoolInterface extends utils.Interface { functions: { + 'closePool()': FunctionFragment + 'credit()': FunctionFragment + 'creditManager()': FunctionFragment 'currentTranchesAssets()': FunctionFragment 'disablePool()': FunctionFragment 'distributeLoss(uint256)': FunctionFragment @@ -37,17 +41,19 @@ export interface PoolInterface extends utils.Interface { 'enablePool()': FunctionFragment 'epochManager()': FunctionFragment 'feeManager()': FunctionFragment - 'getFirstLossCoverAvailableCap(address,uint256)': FunctionFragment 'getFirstLossCovers()': FunctionFragment - 'getReservedAssetsForFirstLossCovers()': FunctionFragment + 'getTrancheAvailableCap(uint256)': FunctionFragment 'initialize(address)': FunctionFragment + 'isPoolClosed()': FunctionFragment 'isPoolOn()': FunctionFragment + 'juniorTranche()': FunctionFragment 'poolConfig()': FunctionFragment 'poolSafe()': FunctionFragment + 'proxiableUUID()': FunctionFragment 'readyForFirstLossCoverWithdrawal()': FunctionFragment + 'seniorTranche()': FunctionFragment 'setPoolConfig(address)': FunctionFragment 'setReadyForFirstLossCoverWithdrawal(bool)': FunctionFragment - 'syncFirstLossCovers()': FunctionFragment 'totalAssets()': FunctionFragment 'trancheTotalAssets(uint256)': FunctionFragment 'tranchesAssets()': FunctionFragment @@ -55,10 +61,15 @@ export interface PoolInterface extends utils.Interface { 'tranchesPolicy()': FunctionFragment 'updatePoolConfigData()': FunctionFragment 'updateTranchesAssets(uint96[2])': FunctionFragment + 'upgradeTo(address)': FunctionFragment + 'upgradeToAndCall(address,bytes)': FunctionFragment } getFunction( nameOrSignatureOrTopic: + | 'closePool' + | 'credit' + | 'creditManager' | 'currentTranchesAssets' | 'disablePool' | 'distributeLoss' @@ -67,26 +78,36 @@ export interface PoolInterface extends utils.Interface { | 'enablePool' | 'epochManager' | 'feeManager' - | 'getFirstLossCoverAvailableCap' | 'getFirstLossCovers' - | 'getReservedAssetsForFirstLossCovers' + | 'getTrancheAvailableCap' | 'initialize' + | 'isPoolClosed' | 'isPoolOn' + | 'juniorTranche' | 'poolConfig' | 'poolSafe' + | 'proxiableUUID' | 'readyForFirstLossCoverWithdrawal' + | 'seniorTranche' | 'setPoolConfig' | 'setReadyForFirstLossCoverWithdrawal' - | 'syncFirstLossCovers' | 'totalAssets' | 'trancheTotalAssets' | 'tranchesAssets' | 'tranchesLosses' | 'tranchesPolicy' | 'updatePoolConfigData' - | 'updateTranchesAssets', + | 'updateTranchesAssets' + | 'upgradeTo' + | 'upgradeToAndCall', ): FunctionFragment + encodeFunctionData(functionFragment: 'closePool', values?: undefined): string + encodeFunctionData(functionFragment: 'credit', values?: undefined): string + encodeFunctionData( + functionFragment: 'creditManager', + values?: undefined, + ): string encodeFunctionData( functionFragment: 'currentTranchesAssets', values?: undefined, @@ -113,29 +134,41 @@ export interface PoolInterface extends utils.Interface { values?: undefined, ): string encodeFunctionData(functionFragment: 'feeManager', values?: undefined): string - encodeFunctionData( - functionFragment: 'getFirstLossCoverAvailableCap', - values: [PromiseOrValue, PromiseOrValue], - ): string encodeFunctionData( functionFragment: 'getFirstLossCovers', values?: undefined, ): string encodeFunctionData( - functionFragment: 'getReservedAssetsForFirstLossCovers', - values?: undefined, + functionFragment: 'getTrancheAvailableCap', + values: [PromiseOrValue], ): string encodeFunctionData( functionFragment: 'initialize', values: [PromiseOrValue], ): string + encodeFunctionData( + functionFragment: 'isPoolClosed', + values?: undefined, + ): string encodeFunctionData(functionFragment: 'isPoolOn', values?: undefined): string + encodeFunctionData( + functionFragment: 'juniorTranche', + values?: undefined, + ): string encodeFunctionData(functionFragment: 'poolConfig', values?: undefined): string encodeFunctionData(functionFragment: 'poolSafe', values?: undefined): string + encodeFunctionData( + functionFragment: 'proxiableUUID', + values?: undefined, + ): string encodeFunctionData( functionFragment: 'readyForFirstLossCoverWithdrawal', values?: undefined, ): string + encodeFunctionData( + functionFragment: 'seniorTranche', + values?: undefined, + ): string encodeFunctionData( functionFragment: 'setPoolConfig', values: [PromiseOrValue], @@ -144,10 +177,6 @@ export interface PoolInterface extends utils.Interface { functionFragment: 'setReadyForFirstLossCoverWithdrawal', values: [PromiseOrValue], ): string - encodeFunctionData( - functionFragment: 'syncFirstLossCovers', - values?: undefined, - ): string encodeFunctionData( functionFragment: 'totalAssets', values?: undefined, @@ -176,7 +205,21 @@ export interface PoolInterface extends utils.Interface { functionFragment: 'updateTranchesAssets', values: [[PromiseOrValue, PromiseOrValue]], ): string + encodeFunctionData( + functionFragment: 'upgradeTo', + values: [PromiseOrValue], + ): string + encodeFunctionData( + functionFragment: 'upgradeToAndCall', + values: [PromiseOrValue, PromiseOrValue], + ): string + decodeFunctionResult(functionFragment: 'closePool', data: BytesLike): Result + decodeFunctionResult(functionFragment: 'credit', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'creditManager', + data: BytesLike, + ): Result decodeFunctionResult( functionFragment: 'currentTranchesAssets', data: BytesLike, @@ -201,35 +244,43 @@ export interface PoolInterface extends utils.Interface { ): Result decodeFunctionResult(functionFragment: 'feeManager', data: BytesLike): Result decodeFunctionResult( - functionFragment: 'getFirstLossCoverAvailableCap', + functionFragment: 'getFirstLossCovers', data: BytesLike, ): Result decodeFunctionResult( - functionFragment: 'getFirstLossCovers', + functionFragment: 'getTrancheAvailableCap', data: BytesLike, ): Result + decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result decodeFunctionResult( - functionFragment: 'getReservedAssetsForFirstLossCovers', + functionFragment: 'isPoolClosed', data: BytesLike, ): Result - decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result decodeFunctionResult(functionFragment: 'isPoolOn', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'juniorTranche', + data: BytesLike, + ): Result decodeFunctionResult(functionFragment: 'poolConfig', data: BytesLike): Result decodeFunctionResult(functionFragment: 'poolSafe', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'proxiableUUID', + data: BytesLike, + ): Result decodeFunctionResult( functionFragment: 'readyForFirstLossCoverWithdrawal', data: BytesLike, ): Result decodeFunctionResult( - functionFragment: 'setPoolConfig', + functionFragment: 'seniorTranche', data: BytesLike, ): Result decodeFunctionResult( - functionFragment: 'setReadyForFirstLossCoverWithdrawal', + functionFragment: 'setPoolConfig', data: BytesLike, ): Result decodeFunctionResult( - functionFragment: 'syncFirstLossCovers', + functionFragment: 'setReadyForFirstLossCoverWithdrawal', data: BytesLike, ): Result decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result @@ -257,33 +308,77 @@ export interface PoolInterface extends utils.Interface { functionFragment: 'updateTranchesAssets', data: BytesLike, ): Result + decodeFunctionResult(functionFragment: 'upgradeTo', data: BytesLike): Result + decodeFunctionResult( + functionFragment: 'upgradeToAndCall', + data: BytesLike, + ): Result events: { + 'AdminChanged(address,address)': EventFragment + 'BeaconUpgraded(address)': EventFragment + 'FirstLossCoverWithdrawalReadinessChanged(address,bool)': EventFragment 'Initialized(uint8)': EventFragment 'LossDistributed(uint256,uint256,uint256,uint256,uint256)': EventFragment 'LossRecoveryDistributed(uint256,uint256,uint256,uint256,uint256)': EventFragment - 'PoolAssetsRefreshed(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)': EventFragment + 'PoolClosed(address)': EventFragment 'PoolConfigCacheUpdated(address)': EventFragment 'PoolConfigChanged(address,address)': EventFragment 'PoolDisabled(address)': EventFragment 'PoolEnabled(address)': EventFragment - 'PoolReadyForFirstLossCoverWithdrawal(address,bool)': EventFragment 'ProfitDistributed(uint256,uint256,uint256)': EventFragment + 'Upgraded(address)': EventFragment } + getEvent(nameOrSignatureOrTopic: 'AdminChanged'): EventFragment + getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment + getEvent( + nameOrSignatureOrTopic: 'FirstLossCoverWithdrawalReadinessChanged', + ): EventFragment getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment getEvent(nameOrSignatureOrTopic: 'LossDistributed'): EventFragment getEvent(nameOrSignatureOrTopic: 'LossRecoveryDistributed'): EventFragment - getEvent(nameOrSignatureOrTopic: 'PoolAssetsRefreshed'): EventFragment + getEvent(nameOrSignatureOrTopic: 'PoolClosed'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolConfigCacheUpdated'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolConfigChanged'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolDisabled'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolEnabled'): EventFragment - getEvent( - nameOrSignatureOrTopic: 'PoolReadyForFirstLossCoverWithdrawal', - ): EventFragment getEvent(nameOrSignatureOrTopic: 'ProfitDistributed'): EventFragment + getEvent(nameOrSignatureOrTopic: 'Upgraded'): EventFragment +} + +export interface AdminChangedEventObject { + previousAdmin: string + newAdmin: string +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +> + +export type AdminChangedEventFilter = TypedEventFilter + +export interface BeaconUpgradedEventObject { + beacon: string +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +> + +export type BeaconUpgradedEventFilter = TypedEventFilter + +export interface FirstLossCoverWithdrawalReadinessChangedEventObject { + by: string + ready: boolean } +export type FirstLossCoverWithdrawalReadinessChangedEvent = TypedEvent< + [string, boolean], + FirstLossCoverWithdrawalReadinessChangedEventObject +> + +export type FirstLossCoverWithdrawalReadinessChangedEventFilter = + TypedEventFilter export interface InitializedEventObject { version: number @@ -321,32 +416,12 @@ export type LossRecoveryDistributedEvent = TypedEvent< export type LossRecoveryDistributedEventFilter = TypedEventFilter -export interface PoolAssetsRefreshedEventObject { - refreshedTimestamp: BigNumber - profit: BigNumber - loss: BigNumber - lossRecovery: BigNumber - seniorTotalAssets: BigNumber - juniorTotalAssets: BigNumber - seniorTotalLoss: BigNumber - juniorTotalLoss: BigNumber +export interface PoolClosedEventObject { + by: string } -export type PoolAssetsRefreshedEvent = TypedEvent< - [ - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - ], - PoolAssetsRefreshedEventObject -> +export type PoolClosedEvent = TypedEvent<[string], PoolClosedEventObject> -export type PoolAssetsRefreshedEventFilter = - TypedEventFilter +export type PoolClosedEventFilter = TypedEventFilter export interface PoolConfigCacheUpdatedEventObject { poolConfig: string @@ -385,18 +460,6 @@ export type PoolEnabledEvent = TypedEvent<[string], PoolEnabledEventObject> export type PoolEnabledEventFilter = TypedEventFilter -export interface PoolReadyForFirstLossCoverWithdrawalEventObject { - by: string - ready: boolean -} -export type PoolReadyForFirstLossCoverWithdrawalEvent = TypedEvent< - [string, boolean], - PoolReadyForFirstLossCoverWithdrawalEventObject -> - -export type PoolReadyForFirstLossCoverWithdrawalEventFilter = - TypedEventFilter - export interface ProfitDistributedEventObject { profit: BigNumber seniorTotalAssets: BigNumber @@ -410,6 +473,13 @@ export type ProfitDistributedEvent = TypedEvent< export type ProfitDistributedEventFilter = TypedEventFilter +export interface UpgradedEventObject { + implementation: string +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject> + +export type UpgradedEventFilter = TypedEventFilter + export interface Pool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this attach(addressOrName: string): this @@ -437,6 +507,14 @@ export interface Pool extends BaseContract { removeListener: OnEvent functions: { + closePool( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + credit(overrides?: CallOverrides): Promise<[string]> + + creditManager(overrides?: CallOverrides): Promise<[string]> + currentTranchesAssets( overrides?: CallOverrides, ): Promise<[[BigNumber, BigNumber]] & { assets: [BigNumber, BigNumber] }> @@ -468,46 +546,45 @@ export interface Pool extends BaseContract { feeManager(overrides?: CallOverrides): Promise<[string]> - getFirstLossCoverAvailableCap( - coverAddress: PromiseOrValue, - poolAssets: PromiseOrValue, - overrides?: CallOverrides, - ): Promise<[BigNumber] & { availableCap: BigNumber }> - getFirstLossCovers(overrides?: CallOverrides): Promise<[string[]]> - getReservedAssetsForFirstLossCovers( + getTrancheAvailableCap( + index: PromiseOrValue, overrides?: CallOverrides, - ): Promise<[BigNumber] & { reservedAssets: BigNumber }> + ): Promise<[BigNumber] & { availableCap: BigNumber }> initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise - isPoolOn( + isPoolClosed( overrides?: CallOverrides, - ): Promise<[boolean] & { status: boolean }> + ): Promise<[boolean] & { isClosed: boolean }> + + isPoolOn(overrides?: CallOverrides): Promise<[boolean] & { isOn: boolean }> + + juniorTranche(overrides?: CallOverrides): Promise<[string]> poolConfig(overrides?: CallOverrides): Promise<[string]> poolSafe(overrides?: CallOverrides): Promise<[string]> + proxiableUUID(overrides?: CallOverrides): Promise<[string]> + readyForFirstLossCoverWithdrawal( overrides?: CallOverrides, ): Promise<[boolean]> + seniorTranche(overrides?: CallOverrides): Promise<[string]> + setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise setReadyForFirstLossCoverWithdrawal( - ready: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - syncFirstLossCovers( + isReady: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -519,10 +596,9 @@ export interface Pool extends BaseContract { ): Promise<[BigNumber]> tranchesAssets(overrides?: CallOverrides): Promise< - [BigNumber, BigNumber, BigNumber] & { + [BigNumber, BigNumber] & { seniorTotalAssets: BigNumber juniorTotalAssets: BigNumber - lastProfitDistributedTime: BigNumber } > @@ -542,8 +618,27 @@ export interface Pool extends BaseContract { assets: [PromiseOrValue, PromiseOrValue], overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise } + closePool( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + credit(overrides?: CallOverrides): Promise + + creditManager(overrides?: CallOverrides): Promise + currentTranchesAssets( overrides?: CallOverrides, ): Promise<[BigNumber, BigNumber]> @@ -575,42 +670,41 @@ export interface Pool extends BaseContract { feeManager(overrides?: CallOverrides): Promise - getFirstLossCoverAvailableCap( - coverAddress: PromiseOrValue, - poolAssets: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getFirstLossCovers(overrides?: CallOverrides): Promise - getReservedAssetsForFirstLossCovers( + getTrancheAvailableCap( + index: PromiseOrValue, overrides?: CallOverrides, ): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + isPoolClosed(overrides?: CallOverrides): Promise + isPoolOn(overrides?: CallOverrides): Promise + juniorTranche(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise + proxiableUUID(overrides?: CallOverrides): Promise + readyForFirstLossCoverWithdrawal(overrides?: CallOverrides): Promise + seniorTranche(overrides?: CallOverrides): Promise + setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise setReadyForFirstLossCoverWithdrawal( - ready: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - syncFirstLossCovers( + isReady: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -622,10 +716,9 @@ export interface Pool extends BaseContract { ): Promise tranchesAssets(overrides?: CallOverrides): Promise< - [BigNumber, BigNumber, BigNumber] & { + [BigNumber, BigNumber] & { seniorTotalAssets: BigNumber juniorTotalAssets: BigNumber - lastProfitDistributedTime: BigNumber } > @@ -646,7 +739,24 @@ export interface Pool extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise + callStatic: { + closePool(overrides?: CallOverrides): Promise + + credit(overrides?: CallOverrides): Promise + + creditManager(overrides?: CallOverrides): Promise + currentTranchesAssets( overrides?: CallOverrides, ): Promise<[BigNumber, BigNumber]> @@ -674,45 +784,46 @@ export interface Pool extends BaseContract { feeManager(overrides?: CallOverrides): Promise - getFirstLossCoverAvailableCap( - coverAddress: PromiseOrValue, - poolAssets: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getFirstLossCovers(overrides?: CallOverrides): Promise - getReservedAssetsForFirstLossCovers( + getTrancheAvailableCap( + index: PromiseOrValue, overrides?: CallOverrides, ): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise + isPoolClosed(overrides?: CallOverrides): Promise + isPoolOn(overrides?: CallOverrides): Promise + juniorTranche(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise + proxiableUUID(overrides?: CallOverrides): Promise + readyForFirstLossCoverWithdrawal( overrides?: CallOverrides, ): Promise + seniorTranche(overrides?: CallOverrides): Promise + setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise setReadyForFirstLossCoverWithdrawal( - ready: PromiseOrValue, + isReady: PromiseOrValue, overrides?: CallOverrides, ): Promise - syncFirstLossCovers(overrides?: CallOverrides): Promise - totalAssets(overrides?: CallOverrides): Promise trancheTotalAssets( @@ -721,10 +832,9 @@ export interface Pool extends BaseContract { ): Promise tranchesAssets(overrides?: CallOverrides): Promise< - [BigNumber, BigNumber, BigNumber] & { + [BigNumber, BigNumber] & { seniorTotalAssets: BigNumber juniorTotalAssets: BigNumber - lastProfitDistributedTime: BigNumber } > @@ -742,9 +852,42 @@ export interface Pool extends BaseContract { assets: [PromiseOrValue, PromiseOrValue], overrides?: CallOverrides, ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides, + ): Promise } filters: { + 'AdminChanged(address,address)'( + previousAdmin?: null, + newAdmin?: null, + ): AdminChangedEventFilter + AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter + + 'BeaconUpgraded(address)'( + beacon?: PromiseOrValue | null, + ): BeaconUpgradedEventFilter + BeaconUpgraded( + beacon?: PromiseOrValue | null, + ): BeaconUpgradedEventFilter + + 'FirstLossCoverWithdrawalReadinessChanged(address,bool)'( + by?: PromiseOrValue | null, + ready?: null, + ): FirstLossCoverWithdrawalReadinessChangedEventFilter + FirstLossCoverWithdrawalReadinessChanged( + by?: PromiseOrValue | null, + ready?: null, + ): FirstLossCoverWithdrawalReadinessChangedEventFilter + 'Initialized(uint8)'(version?: null): InitializedEventFilter Initialized(version?: null): InitializedEventFilter @@ -778,26 +921,10 @@ export interface Pool extends BaseContract { juniorTotalLoss?: null, ): LossRecoveryDistributedEventFilter - 'PoolAssetsRefreshed(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)'( - refreshedTimestamp?: null, - profit?: null, - loss?: null, - lossRecovery?: null, - seniorTotalAssets?: null, - juniorTotalAssets?: null, - seniorTotalLoss?: null, - juniorTotalLoss?: null, - ): PoolAssetsRefreshedEventFilter - PoolAssetsRefreshed( - refreshedTimestamp?: null, - profit?: null, - loss?: null, - lossRecovery?: null, - seniorTotalAssets?: null, - juniorTotalAssets?: null, - seniorTotalLoss?: null, - juniorTotalLoss?: null, - ): PoolAssetsRefreshedEventFilter + 'PoolClosed(address)'( + by?: PromiseOrValue | null, + ): PoolClosedEventFilter + PoolClosed(by?: PromiseOrValue | null): PoolClosedEventFilter 'PoolConfigCacheUpdated(address)'( poolConfig?: PromiseOrValue | null, @@ -825,15 +952,6 @@ export interface Pool extends BaseContract { ): PoolEnabledEventFilter PoolEnabled(by?: PromiseOrValue | null): PoolEnabledEventFilter - 'PoolReadyForFirstLossCoverWithdrawal(address,bool)'( - by?: PromiseOrValue | null, - ready?: null, - ): PoolReadyForFirstLossCoverWithdrawalEventFilter - PoolReadyForFirstLossCoverWithdrawal( - by?: PromiseOrValue | null, - ready?: null, - ): PoolReadyForFirstLossCoverWithdrawalEventFilter - 'ProfitDistributed(uint256,uint256,uint256)'( profit?: null, seniorTotalAssets?: null, @@ -844,9 +962,24 @@ export interface Pool extends BaseContract { seniorTotalAssets?: null, juniorTotalAssets?: null, ): ProfitDistributedEventFilter + + 'Upgraded(address)'( + implementation?: PromiseOrValue | null, + ): UpgradedEventFilter + Upgraded( + implementation?: PromiseOrValue | null, + ): UpgradedEventFilter } estimateGas: { + closePool( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + credit(overrides?: CallOverrides): Promise + + creditManager(overrides?: CallOverrides): Promise + currentTranchesAssets(overrides?: CallOverrides): Promise disablePool( @@ -876,44 +1009,43 @@ export interface Pool extends BaseContract { feeManager(overrides?: CallOverrides): Promise - getFirstLossCoverAvailableCap( - coverAddress: PromiseOrValue, - poolAssets: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getFirstLossCovers(overrides?: CallOverrides): Promise - getReservedAssetsForFirstLossCovers( + getTrancheAvailableCap( + index: PromiseOrValue, overrides?: CallOverrides, ): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + isPoolClosed(overrides?: CallOverrides): Promise + isPoolOn(overrides?: CallOverrides): Promise + juniorTranche(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise + proxiableUUID(overrides?: CallOverrides): Promise + readyForFirstLossCoverWithdrawal( overrides?: CallOverrides, ): Promise + seniorTranche(overrides?: CallOverrides): Promise + setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise setReadyForFirstLossCoverWithdrawal( - ready: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - syncFirstLossCovers( + isReady: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -938,9 +1070,28 @@ export interface Pool extends BaseContract { assets: [PromiseOrValue, PromiseOrValue], overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise } populateTransaction: { + closePool( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + credit(overrides?: CallOverrides): Promise + + creditManager(overrides?: CallOverrides): Promise + currentTranchesAssets( overrides?: CallOverrides, ): Promise @@ -972,44 +1123,43 @@ export interface Pool extends BaseContract { feeManager(overrides?: CallOverrides): Promise - getFirstLossCoverAvailableCap( - coverAddress: PromiseOrValue, - poolAssets: PromiseOrValue, - overrides?: CallOverrides, - ): Promise - getFirstLossCovers(overrides?: CallOverrides): Promise - getReservedAssetsForFirstLossCovers( + getTrancheAvailableCap( + index: PromiseOrValue, overrides?: CallOverrides, ): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + isPoolClosed(overrides?: CallOverrides): Promise + isPoolOn(overrides?: CallOverrides): Promise + juniorTranche(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise + proxiableUUID(overrides?: CallOverrides): Promise + readyForFirstLossCoverWithdrawal( overrides?: CallOverrides, ): Promise + seniorTranche(overrides?: CallOverrides): Promise + setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise setReadyForFirstLossCoverWithdrawal( - ready: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue }, - ): Promise - - syncFirstLossCovers( + isReady: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1034,5 +1184,16 @@ export interface Pool extends BaseContract { assets: [PromiseOrValue, PromiseOrValue], overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise } } diff --git a/packages/huma-shared/src/v2/abis/types/ReceivableBackedCreditLine.ts b/packages/huma-shared/src/v2/abis/types/ReceivableBackedCreditLine.ts index 2bf309d..25b962d 100644 --- a/packages/huma-shared/src/v2/abis/types/ReceivableBackedCreditLine.ts +++ b/packages/huma-shared/src/v2/abis/types/ReceivableBackedCreditLine.ts @@ -90,9 +90,10 @@ export type DueDetailStructOutput = [ export interface ReceivableBackedCreditLineInterface extends utils.Interface { functions: { 'creditManager()': FunctionFragment - 'drawdownWithReceivable(address,uint256,uint256)': FunctionFragment + 'drawdownWithReceivable(uint256,uint256)': FunctionFragment 'dueManager()': FunctionFragment 'firstLossCover()': FunctionFragment + 'getCreditHash(address)': FunctionFragment 'getCreditRecord(bytes32)': FunctionFragment 'getDueDetail(bytes32)': FunctionFragment 'getDueInfo(address)': FunctionFragment @@ -100,9 +101,10 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { 'humaConfig()': FunctionFragment 'initialize(address)': FunctionFragment 'makePaymentWithReceivable(address,uint256,uint256)': FunctionFragment - 'makePrincipalPaymentAndDrawdownWithReceivable(address,uint256,uint256,uint256,uint256)': FunctionFragment - 'makePrincipalPaymentWithReceivable(address,uint256,uint256)': FunctionFragment + 'makePrincipalPaymentAndDrawdownWithReceivable(uint256,uint256,uint256,uint256)': FunctionFragment + 'makePrincipalPaymentWithReceivable(uint256,uint256)': FunctionFragment 'onERC721Received(address,address,uint256,bytes)': FunctionFragment + 'pool()': FunctionFragment 'poolConfig()': FunctionFragment 'poolSafe()': FunctionFragment 'proxiableUUID()': FunctionFragment @@ -120,6 +122,7 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { | 'drawdownWithReceivable' | 'dueManager' | 'firstLossCover' + | 'getCreditHash' | 'getCreditRecord' | 'getDueDetail' | 'getDueInfo' @@ -130,6 +133,7 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { | 'makePrincipalPaymentAndDrawdownWithReceivable' | 'makePrincipalPaymentWithReceivable' | 'onERC721Received' + | 'pool' | 'poolConfig' | 'poolSafe' | 'proxiableUUID' @@ -147,17 +151,17 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { ): string encodeFunctionData( functionFragment: 'drawdownWithReceivable', - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - ], + values: [PromiseOrValue, PromiseOrValue], ): string encodeFunctionData(functionFragment: 'dueManager', values?: undefined): string encodeFunctionData( functionFragment: 'firstLossCover', values?: undefined, ): string + encodeFunctionData( + functionFragment: 'getCreditHash', + values: [PromiseOrValue], + ): string encodeFunctionData( functionFragment: 'getCreditRecord', values: [PromiseOrValue], @@ -190,7 +194,6 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { encodeFunctionData( functionFragment: 'makePrincipalPaymentAndDrawdownWithReceivable', values: [ - PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, @@ -199,11 +202,7 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { ): string encodeFunctionData( functionFragment: 'makePrincipalPaymentWithReceivable', - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - ], + values: [PromiseOrValue, PromiseOrValue], ): string encodeFunctionData( functionFragment: 'onERC721Received', @@ -214,6 +213,7 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { PromiseOrValue, ], ): string + encodeFunctionData(functionFragment: 'pool', values?: undefined): string encodeFunctionData(functionFragment: 'poolConfig', values?: undefined): string encodeFunctionData(functionFragment: 'poolSafe', values?: undefined): string encodeFunctionData( @@ -258,6 +258,10 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { functionFragment: 'firstLossCover', data: BytesLike, ): Result + decodeFunctionResult( + functionFragment: 'getCreditHash', + data: BytesLike, + ): Result decodeFunctionResult( functionFragment: 'getCreditRecord', data: BytesLike, @@ -289,6 +293,7 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { functionFragment: 'onERC721Received', data: BytesLike, ): Result + decodeFunctionResult(functionFragment: 'pool', data: BytesLike): Result decodeFunctionResult(functionFragment: 'poolConfig', data: BytesLike): Result decodeFunctionResult(functionFragment: 'poolSafe', data: BytesLike): Result decodeFunctionResult( @@ -320,10 +325,8 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { events: { 'AdminChanged(address,address)': EventFragment 'BeaconUpgraded(address)': EventFragment - 'BillRefreshed(bytes32,uint256,uint256)': EventFragment + 'BillRefreshed(bytes32,uint256,uint256,uint256)': EventFragment 'CreditClosedAfterPayOff(bytes32,address)': EventFragment - 'CreditInitiated(address,uint256,uint256,uint8,uint256,bool)': EventFragment - 'CreditLineChanged(address,uint256,uint256)': EventFragment 'DrawdownMade(address,uint256,uint256)': EventFragment 'DrawdownMadeWithReceivable(address,uint256,uint256,address)': EventFragment 'Initialized(uint8)': EventFragment @@ -340,8 +343,6 @@ export interface ReceivableBackedCreditLineInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment getEvent(nameOrSignatureOrTopic: 'BillRefreshed'): EventFragment getEvent(nameOrSignatureOrTopic: 'CreditClosedAfterPayOff'): EventFragment - getEvent(nameOrSignatureOrTopic: 'CreditInitiated'): EventFragment - getEvent(nameOrSignatureOrTopic: 'CreditLineChanged'): EventFragment getEvent(nameOrSignatureOrTopic: 'DrawdownMade'): EventFragment getEvent(nameOrSignatureOrTopic: 'DrawdownMadeWithReceivable'): EventFragment getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment @@ -380,10 +381,11 @@ export type BeaconUpgradedEventFilter = TypedEventFilter export interface BillRefreshedEventObject { creditHash: string newDueDate: BigNumber - amountDue: BigNumber + nextDue: BigNumber + totalPastDue: BigNumber } export type BillRefreshedEvent = TypedEvent< - [string, BigNumber, BigNumber], + [string, BigNumber, BigNumber, BigNumber], BillRefreshedEventObject > @@ -401,34 +403,6 @@ export type CreditClosedAfterPayOffEvent = TypedEvent< export type CreditClosedAfterPayOffEventFilter = TypedEventFilter -export interface CreditInitiatedEventObject { - borrower: string - creditLimit: BigNumber - aprInBps: BigNumber - periodDuration: number - remainingPeriods: BigNumber - approved: boolean -} -export type CreditInitiatedEvent = TypedEvent< - [string, BigNumber, BigNumber, number, BigNumber, boolean], - CreditInitiatedEventObject -> - -export type CreditInitiatedEventFilter = TypedEventFilter - -export interface CreditLineChangedEventObject { - borrower: string - oldCreditLimit: BigNumber - newCreditLimit: BigNumber -} -export type CreditLineChangedEvent = TypedEvent< - [string, BigNumber, BigNumber], - CreditLineChangedEventObject -> - -export type CreditLineChangedEventFilter = - TypedEventFilter - export interface DrawdownMadeEventObject { borrower: string borrowAmount: BigNumber @@ -609,7 +583,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { creditManager(overrides?: CallOverrides): Promise<[string]> drawdownWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -619,6 +592,11 @@ export interface ReceivableBackedCreditLine extends BaseContract { firstLossCover(overrides?: CallOverrides): Promise<[string]> + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string] & { creditHash: string }> + getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -647,7 +625,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { humaConfig(overrides?: CallOverrides): Promise<[string]> initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -659,7 +637,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, paymentReceivableId: PromiseOrValue, paymentAmount: PromiseOrValue, drawdownReceivableId: PromiseOrValue, @@ -668,7 +645,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -682,6 +658,8 @@ export interface ReceivableBackedCreditLine extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + pool(overrides?: CallOverrides): Promise<[string]> + poolConfig(overrides?: CallOverrides): Promise<[string]> poolSafe(overrides?: CallOverrides): Promise<[string]> @@ -695,7 +673,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -725,7 +703,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { creditManager(overrides?: CallOverrides): Promise drawdownWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -735,6 +712,11 @@ export interface ReceivableBackedCreditLine extends BaseContract { firstLossCover(overrides?: CallOverrides): Promise + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -763,7 +745,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -775,7 +757,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, paymentReceivableId: PromiseOrValue, paymentAmount: PromiseOrValue, drawdownReceivableId: PromiseOrValue, @@ -784,7 +765,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -798,6 +778,8 @@ export interface ReceivableBackedCreditLine extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + pool(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise @@ -811,7 +793,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -841,7 +823,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { creditManager(overrides?: CallOverrides): Promise drawdownWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides, @@ -851,6 +832,11 @@ export interface ReceivableBackedCreditLine extends BaseContract { firstLossCover(overrides?: CallOverrides): Promise + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -879,7 +865,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise @@ -893,7 +879,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { > makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, paymentReceivableId: PromiseOrValue, paymentAmount: PromiseOrValue, drawdownReceivableId: PromiseOrValue, @@ -908,7 +893,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { > makePrincipalPaymentWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides, @@ -924,6 +908,8 @@ export interface ReceivableBackedCreditLine extends BaseContract { overrides?: CallOverrides, ): Promise + pool(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise @@ -937,7 +923,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise @@ -976,15 +962,17 @@ export interface ReceivableBackedCreditLine extends BaseContract { beacon?: PromiseOrValue | null, ): BeaconUpgradedEventFilter - 'BillRefreshed(bytes32,uint256,uint256)'( + 'BillRefreshed(bytes32,uint256,uint256,uint256)'( creditHash?: PromiseOrValue | null, newDueDate?: null, - amountDue?: null, + nextDue?: null, + totalPastDue?: null, ): BillRefreshedEventFilter BillRefreshed( creditHash?: PromiseOrValue | null, newDueDate?: null, - amountDue?: null, + nextDue?: null, + totalPastDue?: null, ): BillRefreshedEventFilter 'CreditClosedAfterPayOff(bytes32,address)'( @@ -996,34 +984,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { by?: null, ): CreditClosedAfterPayOffEventFilter - 'CreditInitiated(address,uint256,uint256,uint8,uint256,bool)'( - borrower?: PromiseOrValue | null, - creditLimit?: null, - aprInBps?: null, - periodDuration?: null, - remainingPeriods?: null, - approved?: null, - ): CreditInitiatedEventFilter - CreditInitiated( - borrower?: PromiseOrValue | null, - creditLimit?: null, - aprInBps?: null, - periodDuration?: null, - remainingPeriods?: null, - approved?: null, - ): CreditInitiatedEventFilter - - 'CreditLineChanged(address,uint256,uint256)'( - borrower?: PromiseOrValue | null, - oldCreditLimit?: null, - newCreditLimit?: null, - ): CreditLineChangedEventFilter - CreditLineChanged( - borrower?: PromiseOrValue | null, - oldCreditLimit?: null, - newCreditLimit?: null, - ): CreditLineChangedEventFilter - 'DrawdownMade(address,uint256,uint256)'( borrower?: PromiseOrValue | null, borrowAmount?: null, @@ -1153,7 +1113,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { creditManager(overrides?: CallOverrides): Promise drawdownWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -1163,6 +1122,11 @@ export interface ReceivableBackedCreditLine extends BaseContract { firstLossCover(overrides?: CallOverrides): Promise + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -1186,7 +1150,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1198,7 +1162,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, paymentReceivableId: PromiseOrValue, paymentAmount: PromiseOrValue, drawdownReceivableId: PromiseOrValue, @@ -1207,7 +1170,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -1221,6 +1183,8 @@ export interface ReceivableBackedCreditLine extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + pool(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise @@ -1234,7 +1198,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1265,7 +1229,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { creditManager(overrides?: CallOverrides): Promise drawdownWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -1275,6 +1238,11 @@ export interface ReceivableBackedCreditLine extends BaseContract { firstLossCover(overrides?: CallOverrides): Promise + getCreditHash( + borrower: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + getCreditRecord( creditHash: PromiseOrValue, overrides?: CallOverrides, @@ -1298,7 +1266,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { humaConfig(overrides?: CallOverrides): Promise initialize( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1310,7 +1278,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentAndDrawdownWithReceivable( - borrower: PromiseOrValue, paymentReceivableId: PromiseOrValue, paymentAmount: PromiseOrValue, drawdownReceivableId: PromiseOrValue, @@ -1319,7 +1286,6 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise makePrincipalPaymentWithReceivable( - borrower: PromiseOrValue, receivableId: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, @@ -1333,6 +1299,8 @@ export interface ReceivableBackedCreditLine extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue }, ): Promise + pool(overrides?: CallOverrides): Promise + poolConfig(overrides?: CallOverrides): Promise poolSafe(overrides?: CallOverrides): Promise @@ -1346,7 +1314,7 @@ export interface ReceivableBackedCreditLine extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise diff --git a/packages/huma-shared/src/v2/abis/types/TrancheVault.ts b/packages/huma-shared/src/v2/abis/types/TrancheVault.ts index 31dd126..66ad4ba 100644 --- a/packages/huma-shared/src/v2/abis/types/TrancheVault.ts +++ b/packages/huma-shared/src/v2/abis/types/TrancheVault.ts @@ -61,14 +61,14 @@ export interface TrancheVaultInterface extends utils.Interface { 'cancellableRedemptionShares(address)': FunctionFragment 'convertToAssets(uint256)': FunctionFragment 'convertToShares(uint256)': FunctionFragment - 'currentRedemptionSummary()': FunctionFragment 'decimals()': FunctionFragment 'decreaseAllowance(address,uint256)': FunctionFragment - 'deposit(uint256,address)': FunctionFragment + 'deposit(uint256)': FunctionFragment 'depositRecords(address)': FunctionFragment 'disburse()': FunctionFragment 'epochManager()': FunctionFragment 'epochRedemptionSummaries(uint256)': FunctionFragment + 'epochRedemptionSummary(uint256)': FunctionFragment 'executeRedemptionSummary((uint64,uint96,uint96,uint96))': FunctionFragment 'getNonReinvestingLendersLength()': FunctionFragment 'getRoleAdmin(bytes32)': FunctionFragment @@ -103,6 +103,7 @@ export interface TrancheVaultInterface extends utils.Interface { 'updatePoolConfigData()': FunctionFragment 'upgradeTo(address)': FunctionFragment 'upgradeToAndCall(address,bytes)': FunctionFragment + 'withdrawAfterPoolClosure()': FunctionFragment 'withdrawableAssets(address)': FunctionFragment } @@ -120,7 +121,6 @@ export interface TrancheVaultInterface extends utils.Interface { | 'cancellableRedemptionShares' | 'convertToAssets' | 'convertToShares' - | 'currentRedemptionSummary' | 'decimals' | 'decreaseAllowance' | 'deposit' @@ -128,6 +128,7 @@ export interface TrancheVaultInterface extends utils.Interface { | 'disburse' | 'epochManager' | 'epochRedemptionSummaries' + | 'epochRedemptionSummary' | 'executeRedemptionSummary' | 'getNonReinvestingLendersLength' | 'getRoleAdmin' @@ -162,6 +163,7 @@ export interface TrancheVaultInterface extends utils.Interface { | 'updatePoolConfigData' | 'upgradeTo' | 'upgradeToAndCall' + | 'withdrawAfterPoolClosure' | 'withdrawableAssets', ): FunctionFragment @@ -210,10 +212,6 @@ export interface TrancheVaultInterface extends utils.Interface { functionFragment: 'convertToShares', values: [PromiseOrValue], ): string - encodeFunctionData( - functionFragment: 'currentRedemptionSummary', - values?: undefined, - ): string encodeFunctionData(functionFragment: 'decimals', values?: undefined): string encodeFunctionData( functionFragment: 'decreaseAllowance', @@ -221,7 +219,7 @@ export interface TrancheVaultInterface extends utils.Interface { ): string encodeFunctionData( functionFragment: 'deposit', - values: [PromiseOrValue, PromiseOrValue], + values: [PromiseOrValue], ): string encodeFunctionData( functionFragment: 'depositRecords', @@ -236,6 +234,10 @@ export interface TrancheVaultInterface extends utils.Interface { functionFragment: 'epochRedemptionSummaries', values: [PromiseOrValue], ): string + encodeFunctionData( + functionFragment: 'epochRedemptionSummary', + values: [PromiseOrValue], + ): string encodeFunctionData( functionFragment: 'executeRedemptionSummary', values: [EpochRedemptionSummaryStruct], @@ -366,6 +368,10 @@ export interface TrancheVaultInterface extends utils.Interface { functionFragment: 'upgradeToAndCall', values: [PromiseOrValue, PromiseOrValue], ): string + encodeFunctionData( + functionFragment: 'withdrawAfterPoolClosure', + values?: undefined, + ): string encodeFunctionData( functionFragment: 'withdrawableAssets', values: [PromiseOrValue], @@ -404,10 +410,6 @@ export interface TrancheVaultInterface extends utils.Interface { functionFragment: 'convertToShares', data: BytesLike, ): Result - decodeFunctionResult( - functionFragment: 'currentRedemptionSummary', - data: BytesLike, - ): Result decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result decodeFunctionResult( functionFragment: 'decreaseAllowance', @@ -427,6 +429,10 @@ export interface TrancheVaultInterface extends utils.Interface { functionFragment: 'epochRedemptionSummaries', data: BytesLike, ): Result + decodeFunctionResult( + functionFragment: 'epochRedemptionSummary', + data: BytesLike, + ): Result decodeFunctionResult( functionFragment: 'executeRedemptionSummary', data: BytesLike, @@ -527,6 +533,10 @@ export interface TrancheVaultInterface extends utils.Interface { functionFragment: 'upgradeToAndCall', data: BytesLike, ): Result + decodeFunctionResult( + functionFragment: 'withdrawAfterPoolClosure', + data: BytesLike, + ): Result decodeFunctionResult( functionFragment: 'withdrawableAssets', data: BytesLike, @@ -538,8 +548,11 @@ export interface TrancheVaultInterface extends utils.Interface { 'BeaconUpgraded(address)': EventFragment 'EpochProcessed(uint256,uint256,uint256,uint256)': EventFragment 'Initialized(uint8)': EventFragment - 'LenderFundDisbursed(address,address,uint256)': EventFragment - 'LiquidityDeposited(address,address,uint256,uint256)': EventFragment + 'LenderAdded(address,bool)': EventFragment + 'LenderFundDisbursed(address,uint256)': EventFragment + 'LenderFundWithdrawn(address,uint256,uint256)': EventFragment + 'LenderRemoved(address)': EventFragment + 'LiquidityDeposited(address,uint256,uint256)': EventFragment 'PoolConfigCacheUpdated(address)': EventFragment 'PoolConfigChanged(address,address)': EventFragment 'RedemptionRequestAdded(address,uint256,uint256)': EventFragment @@ -550,7 +563,8 @@ export interface TrancheVaultInterface extends utils.Interface { 'RoleRevoked(bytes32,address,address)': EventFragment 'Transfer(address,address,uint256)': EventFragment 'Upgraded(address)': EventFragment - 'YieldPaidout(address,uint256,uint256)': EventFragment + 'YieldPaidOut(address,uint256,uint256)': EventFragment + 'YieldPayoutFailed(address,uint256,uint256,string)': EventFragment 'YieldReinvested(address,uint256)': EventFragment } @@ -559,7 +573,10 @@ export interface TrancheVaultInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment getEvent(nameOrSignatureOrTopic: 'EpochProcessed'): EventFragment getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment + getEvent(nameOrSignatureOrTopic: 'LenderAdded'): EventFragment getEvent(nameOrSignatureOrTopic: 'LenderFundDisbursed'): EventFragment + getEvent(nameOrSignatureOrTopic: 'LenderFundWithdrawn'): EventFragment + getEvent(nameOrSignatureOrTopic: 'LenderRemoved'): EventFragment getEvent(nameOrSignatureOrTopic: 'LiquidityDeposited'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolConfigCacheUpdated'): EventFragment getEvent(nameOrSignatureOrTopic: 'PoolConfigChanged'): EventFragment @@ -571,7 +588,8 @@ export interface TrancheVaultInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment getEvent(nameOrSignatureOrTopic: 'Upgraded'): EventFragment - getEvent(nameOrSignatureOrTopic: 'YieldPaidout'): EventFragment + getEvent(nameOrSignatureOrTopic: 'YieldPaidOut'): EventFragment + getEvent(nameOrSignatureOrTopic: 'YieldPayoutFailed'): EventFragment getEvent(nameOrSignatureOrTopic: 'YieldReinvested'): EventFragment } @@ -628,27 +646,56 @@ export type InitializedEvent = TypedEvent<[number], InitializedEventObject> export type InitializedEventFilter = TypedEventFilter +export interface LenderAddedEventObject { + account: string + reinvestYield: boolean +} +export type LenderAddedEvent = TypedEvent< + [string, boolean], + LenderAddedEventObject +> + +export type LenderAddedEventFilter = TypedEventFilter + export interface LenderFundDisbursedEventObject { account: string - receiver: string - withdrawnAmount: BigNumber + amountDisbursed: BigNumber } export type LenderFundDisbursedEvent = TypedEvent< - [string, string, BigNumber], + [string, BigNumber], LenderFundDisbursedEventObject > export type LenderFundDisbursedEventFilter = TypedEventFilter +export interface LenderFundWithdrawnEventObject { + account: string + numShares: BigNumber + assets: BigNumber +} +export type LenderFundWithdrawnEvent = TypedEvent< + [string, BigNumber, BigNumber], + LenderFundWithdrawnEventObject +> + +export type LenderFundWithdrawnEventFilter = + TypedEventFilter + +export interface LenderRemovedEventObject { + account: string +} +export type LenderRemovedEvent = TypedEvent<[string], LenderRemovedEventObject> + +export type LenderRemovedEventFilter = TypedEventFilter + export interface LiquidityDepositedEventObject { sender: string - receiver: string - assetAmount: BigNumber - shareAmount: BigNumber + assets: BigNumber + shares: BigNumber } export type LiquidityDepositedEvent = TypedEvent< - [string, string, BigNumber, BigNumber], + [string, BigNumber, BigNumber], LiquidityDepositedEventObject > @@ -680,7 +727,7 @@ export type PoolConfigChangedEventFilter = export interface RedemptionRequestAddedEventObject { account: string - shareAmount: BigNumber + shares: BigNumber epochId: BigNumber } export type RedemptionRequestAddedEvent = TypedEvent< @@ -693,7 +740,7 @@ export type RedemptionRequestAddedEventFilter = export interface RedemptionRequestRemovedEventObject { account: string - shareAmount: BigNumber + shares: BigNumber epochId: BigNumber } export type RedemptionRequestRemovedEvent = TypedEvent< @@ -773,17 +820,31 @@ export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject> export type UpgradedEventFilter = TypedEventFilter -export interface YieldPaidoutEventObject { +export interface YieldPaidOutEventObject { account: string yields: BigNumber shares: BigNumber } -export type YieldPaidoutEvent = TypedEvent< +export type YieldPaidOutEvent = TypedEvent< [string, BigNumber, BigNumber], - YieldPaidoutEventObject + YieldPaidOutEventObject +> + +export type YieldPaidOutEventFilter = TypedEventFilter + +export interface YieldPayoutFailedEventObject { + account: string + yields: BigNumber + shares: BigNumber + reason: string +} +export type YieldPayoutFailedEvent = TypedEvent< + [string, BigNumber, BigNumber, string], + YieldPayoutFailedEventObject > -export type YieldPaidoutEventFilter = TypedEventFilter +export type YieldPayoutFailedEventFilter = + TypedEventFilter export interface YieldReinvestedEventObject { account: string @@ -877,12 +938,6 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise<[BigNumber] & { shares: BigNumber }> - currentRedemptionSummary(overrides?: CallOverrides): Promise< - [EpochRedemptionSummaryStructOutput] & { - redemptionSummary: EpochRedemptionSummaryStructOutput - } - > - decimals(overrides?: CallOverrides): Promise<[number]> decreaseAllowance( @@ -893,7 +948,6 @@ export interface TrancheVault extends BaseContract { deposit( assets: PromiseOrValue, - receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -926,6 +980,15 @@ export interface TrancheVault extends BaseContract { } > + epochRedemptionSummary( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [EpochRedemptionSummaryStructOutput] & { + redemptionSummary: EpochRedemptionSummaryStructOutput + } + > + executeRedemptionSummary( summaryProcessed: EpochRedemptionSummaryStruct, overrides?: Overrides & { from?: PromiseOrValue }, @@ -961,13 +1024,13 @@ export interface TrancheVault extends BaseContract { 'initialize(string,string,address,uint8)'( name: PromiseOrValue, symbol: PromiseOrValue, - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, seniorTrancheOrJuniorTranche: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise 'initialize(address)'( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1026,7 +1089,7 @@ export interface TrancheVault extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1084,6 +1147,10 @@ export interface TrancheVault extends BaseContract { overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise + withdrawAfterPoolClosure( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + withdrawableAssets( account: PromiseOrValue, overrides?: CallOverrides, @@ -1144,10 +1211,6 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise - currentRedemptionSummary( - overrides?: CallOverrides, - ): Promise - decimals(overrides?: CallOverrides): Promise decreaseAllowance( @@ -1158,7 +1221,6 @@ export interface TrancheVault extends BaseContract { deposit( assets: PromiseOrValue, - receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1191,6 +1253,11 @@ export interface TrancheVault extends BaseContract { } > + epochRedemptionSummary( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + executeRedemptionSummary( summaryProcessed: EpochRedemptionSummaryStruct, overrides?: Overrides & { from?: PromiseOrValue }, @@ -1224,13 +1291,13 @@ export interface TrancheVault extends BaseContract { 'initialize(string,string,address,uint8)'( name: PromiseOrValue, symbol: PromiseOrValue, - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, seniorTrancheOrJuniorTranche: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise 'initialize(address)'( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1289,7 +1356,7 @@ export interface TrancheVault extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1347,6 +1414,10 @@ export interface TrancheVault extends BaseContract { overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise + withdrawAfterPoolClosure( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + withdrawableAssets( account: PromiseOrValue, overrides?: CallOverrides, @@ -1407,10 +1478,6 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise - currentRedemptionSummary( - overrides?: CallOverrides, - ): Promise - decimals(overrides?: CallOverrides): Promise decreaseAllowance( @@ -1421,7 +1488,6 @@ export interface TrancheVault extends BaseContract { deposit( assets: PromiseOrValue, - receiver: PromiseOrValue, overrides?: CallOverrides, ): Promise @@ -1452,6 +1518,11 @@ export interface TrancheVault extends BaseContract { } > + epochRedemptionSummary( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + executeRedemptionSummary( summaryProcessed: EpochRedemptionSummaryStruct, overrides?: CallOverrides, @@ -1487,13 +1558,13 @@ export interface TrancheVault extends BaseContract { 'initialize(string,string,address,uint8)'( name: PromiseOrValue, symbol: PromiseOrValue, - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, seniorTrancheOrJuniorTranche: PromiseOrValue, overrides?: CallOverrides, ): Promise 'initialize(address)'( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise @@ -1550,7 +1621,7 @@ export interface TrancheVault extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: CallOverrides, ): Promise @@ -1606,6 +1677,8 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise + withdrawAfterPoolClosure(overrides?: CallOverrides): Promise + withdrawableAssets( account: PromiseOrValue, overrides?: CallOverrides, @@ -1653,28 +1726,51 @@ export interface TrancheVault extends BaseContract { 'Initialized(uint8)'(version?: null): InitializedEventFilter Initialized(version?: null): InitializedEventFilter - 'LenderFundDisbursed(address,address,uint256)'( + 'LenderAdded(address,bool)'( account?: PromiseOrValue | null, - receiver?: null, - withdrawnAmount?: null, + reinvestYield?: null, + ): LenderAddedEventFilter + LenderAdded( + account?: PromiseOrValue | null, + reinvestYield?: null, + ): LenderAddedEventFilter + + 'LenderFundDisbursed(address,uint256)'( + account?: PromiseOrValue | null, + amountDisbursed?: null, ): LenderFundDisbursedEventFilter LenderFundDisbursed( account?: PromiseOrValue | null, - receiver?: null, - withdrawnAmount?: null, + amountDisbursed?: null, ): LenderFundDisbursedEventFilter - 'LiquidityDeposited(address,address,uint256,uint256)'( + 'LenderFundWithdrawn(address,uint256,uint256)'( + account?: PromiseOrValue | null, + numShares?: null, + assets?: null, + ): LenderFundWithdrawnEventFilter + LenderFundWithdrawn( + account?: PromiseOrValue | null, + numShares?: null, + assets?: null, + ): LenderFundWithdrawnEventFilter + + 'LenderRemoved(address)'( + account?: PromiseOrValue | null, + ): LenderRemovedEventFilter + LenderRemoved( + account?: PromiseOrValue | null, + ): LenderRemovedEventFilter + + 'LiquidityDeposited(address,uint256,uint256)'( sender?: PromiseOrValue | null, - receiver?: PromiseOrValue | null, - assetAmount?: null, - shareAmount?: null, + assets?: null, + shares?: null, ): LiquidityDepositedEventFilter LiquidityDeposited( sender?: PromiseOrValue | null, - receiver?: PromiseOrValue | null, - assetAmount?: null, - shareAmount?: null, + assets?: null, + shares?: null, ): LiquidityDepositedEventFilter 'PoolConfigCacheUpdated(address)'( @@ -1695,23 +1791,23 @@ export interface TrancheVault extends BaseContract { 'RedemptionRequestAdded(address,uint256,uint256)'( account?: PromiseOrValue | null, - shareAmount?: null, + shares?: null, epochId?: null, ): RedemptionRequestAddedEventFilter RedemptionRequestAdded( account?: PromiseOrValue | null, - shareAmount?: null, + shares?: null, epochId?: null, ): RedemptionRequestAddedEventFilter 'RedemptionRequestRemoved(address,uint256,uint256)'( account?: PromiseOrValue | null, - shareAmount?: null, + shares?: null, epochId?: null, ): RedemptionRequestRemovedEventFilter RedemptionRequestRemoved( account?: PromiseOrValue | null, - shareAmount?: null, + shares?: null, epochId?: null, ): RedemptionRequestRemovedEventFilter @@ -1777,16 +1873,29 @@ export interface TrancheVault extends BaseContract { implementation?: PromiseOrValue | null, ): UpgradedEventFilter - 'YieldPaidout(address,uint256,uint256)'( + 'YieldPaidOut(address,uint256,uint256)'( account?: PromiseOrValue | null, yields?: null, shares?: null, - ): YieldPaidoutEventFilter - YieldPaidout( + ): YieldPaidOutEventFilter + YieldPaidOut( account?: PromiseOrValue | null, yields?: null, shares?: null, - ): YieldPaidoutEventFilter + ): YieldPaidOutEventFilter + + 'YieldPayoutFailed(address,uint256,uint256,string)'( + account?: PromiseOrValue | null, + yields?: null, + shares?: null, + reason?: null, + ): YieldPayoutFailedEventFilter + YieldPayoutFailed( + account?: PromiseOrValue | null, + yields?: null, + shares?: null, + reason?: null, + ): YieldPayoutFailedEventFilter 'YieldReinvested(address,uint256)'( account?: PromiseOrValue | null, @@ -1853,8 +1962,6 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise - currentRedemptionSummary(overrides?: CallOverrides): Promise - decimals(overrides?: CallOverrides): Promise decreaseAllowance( @@ -1865,7 +1972,6 @@ export interface TrancheVault extends BaseContract { deposit( assets: PromiseOrValue, - receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1885,6 +1991,11 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise + epochRedemptionSummary( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + executeRedemptionSummary( summaryProcessed: EpochRedemptionSummaryStruct, overrides?: Overrides & { from?: PromiseOrValue }, @@ -1920,13 +2031,13 @@ export interface TrancheVault extends BaseContract { 'initialize(string,string,address,uint8)'( name: PromiseOrValue, symbol: PromiseOrValue, - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, seniorTrancheOrJuniorTranche: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise 'initialize(address)'( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -1977,7 +2088,7 @@ export interface TrancheVault extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -2035,6 +2146,10 @@ export interface TrancheVault extends BaseContract { overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise + withdrawAfterPoolClosure( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + withdrawableAssets( account: PromiseOrValue, overrides?: CallOverrides, @@ -2096,10 +2211,6 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise - currentRedemptionSummary( - overrides?: CallOverrides, - ): Promise - decimals(overrides?: CallOverrides): Promise decreaseAllowance( @@ -2110,7 +2221,6 @@ export interface TrancheVault extends BaseContract { deposit( assets: PromiseOrValue, - receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -2130,6 +2240,11 @@ export interface TrancheVault extends BaseContract { overrides?: CallOverrides, ): Promise + epochRedemptionSummary( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise + executeRedemptionSummary( summaryProcessed: EpochRedemptionSummaryStruct, overrides?: Overrides & { from?: PromiseOrValue }, @@ -2165,13 +2280,13 @@ export interface TrancheVault extends BaseContract { 'initialize(string,string,address,uint8)'( name: PromiseOrValue, symbol: PromiseOrValue, - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, seniorTrancheOrJuniorTranche: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise 'initialize(address)'( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -2222,7 +2337,7 @@ export interface TrancheVault extends BaseContract { ): Promise setPoolConfig( - _poolConfig: PromiseOrValue, + poolConfig_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue }, ): Promise @@ -2280,6 +2395,10 @@ export interface TrancheVault extends BaseContract { overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise + withdrawAfterPoolClosure( + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise + withdrawableAssets( account: PromiseOrValue, overrides?: CallOverrides, diff --git a/packages/huma-shared/src/v2/abis/types/factories/CreditLine__factory.ts b/packages/huma-shared/src/v2/abis/types/factories/CreditLine__factory.ts new file mode 100644 index 0000000..9f3fcc3 --- /dev/null +++ b/packages/huma-shared/src/v2/abis/types/factories/CreditLine__factory.ts @@ -0,0 +1,1046 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers' +import type { Provider } from '@ethersproject/providers' +import type { CreditLine, CreditLineInterface } from '../CreditLine' + +const _abi = [ + { + inputs: [], + name: 'AttemptedDrawdownOnNonRevolvingLine', + type: 'error', + }, + { + inputs: [], + name: 'AuthorizedContractCallerRequired', + type: 'error', + }, + { + inputs: [], + name: 'CreditLimitExceeded', + type: 'error', + }, + { + inputs: [], + name: 'CreditNotInStateForDrawdown', + type: 'error', + }, + { + inputs: [], + name: 'CreditNotInStateForMakingPayment', + type: 'error', + }, + { + inputs: [], + name: 'CreditNotInStateForMakingPrincipalPayment', + type: 'error', + }, + { + inputs: [], + name: 'DrawdownNotAllowedAfterDueDateWithUnpaidDue', + type: 'error', + }, + { + inputs: [], + name: 'DrawdownNotAllowedInFinalPeriodAndBeyond', + type: 'error', + }, + { + inputs: [], + name: 'FirstDrawdownTooEarly', + type: 'error', + }, + { + inputs: [], + name: 'InsufficientFirstLossCover', + type: 'error', + }, + { + inputs: [], + name: 'InsufficientPoolBalanceForDrawdown', + type: 'error', + }, + { + inputs: [], + name: 'SentinelServiceAccountRequired', + type: 'error', + }, + { + inputs: [], + name: 'ZeroAddressProvided', + type: 'error', + }, + { + inputs: [], + name: 'ZeroAmountProvided', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'previousAdmin', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + ], + name: 'AdminChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'beacon', + type: 'address', + }, + ], + name: 'BeaconUpgraded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + { + indexed: false, + internalType: 'uint256', + name: 'newDueDate', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nextDue', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalPastDue', + type: 'uint256', + }, + ], + name: 'BillRefreshed', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + { + indexed: false, + internalType: 'address', + name: 'by', + type: 'address', + }, + ], + name: 'CreditClosedAfterPayOff', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'borrower', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'borrowAmount', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'netAmountToBorrower', + type: 'uint256', + }, + ], + name: 'DrawdownMade', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint8', + name: 'version', + type: 'uint8', + }, + ], + name: 'Initialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'borrower', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'payer', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'yieldDuePaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'principalDuePaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'unbilledPrincipalPaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'yieldPastDuePaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'lateFeePaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'principalPastDuePaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'by', + type: 'address', + }, + ], + name: 'PaymentMade', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'poolConfig', + type: 'address', + }, + ], + name: 'PoolConfigCacheUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'newPoolConfig', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'oldPoolConfig', + type: 'address', + }, + ], + name: 'PoolConfigChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'borrower', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'payer', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nextDueDate', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'principalDue', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'unbilledPrincipal', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'principalDuePaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'unbilledPrincipalPaid', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'by', + type: 'address', + }, + ], + name: 'PrincipalPaymentMade', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + inputs: [], + name: 'creditManager', + outputs: [ + { + internalType: 'contract ICreditManager', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'borrowAmount', + type: 'uint256', + }, + ], + name: 'drawdown', + outputs: [ + { + internalType: 'uint256', + name: 'netAmountToBorrower', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'dueManager', + outputs: [ + { + internalType: 'contract ICreditDueManager', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'firstLossCover', + outputs: [ + { + internalType: 'contract IFirstLossCover', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'borrower', + type: 'address', + }, + ], + name: 'getCreditHash', + outputs: [ + { + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + ], + name: 'getCreditRecord', + outputs: [ + { + components: [ + { + internalType: 'uint96', + name: 'unbilledPrincipal', + type: 'uint96', + }, + { + internalType: 'uint64', + name: 'nextDueDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'nextDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'totalPastDue', + type: 'uint96', + }, + { + internalType: 'uint16', + name: 'missedPeriods', + type: 'uint16', + }, + { + internalType: 'uint16', + name: 'remainingPeriods', + type: 'uint16', + }, + { + internalType: 'enum CreditState', + name: 'state', + type: 'uint8', + }, + ], + internalType: 'struct CreditRecord', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + ], + name: 'getDueDetail', + outputs: [ + { + components: [ + { + internalType: 'uint64', + name: 'lateFeeUpdatedDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'lateFee', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'principalPastDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldPastDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'committed', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'accrued', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'paid', + type: 'uint96', + }, + ], + internalType: 'struct DueDetail', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'borrower', + type: 'address', + }, + ], + name: 'getDueInfo', + outputs: [ + { + components: [ + { + internalType: 'uint96', + name: 'unbilledPrincipal', + type: 'uint96', + }, + { + internalType: 'uint64', + name: 'nextDueDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'nextDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'totalPastDue', + type: 'uint96', + }, + { + internalType: 'uint16', + name: 'missedPeriods', + type: 'uint16', + }, + { + internalType: 'uint16', + name: 'remainingPeriods', + type: 'uint16', + }, + { + internalType: 'enum CreditState', + name: 'state', + type: 'uint8', + }, + ], + internalType: 'struct CreditRecord', + name: 'cr', + type: 'tuple', + }, + { + components: [ + { + internalType: 'uint64', + name: 'lateFeeUpdatedDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'lateFee', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'principalPastDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldPastDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'committed', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'accrued', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'paid', + type: 'uint96', + }, + ], + internalType: 'struct DueDetail', + name: 'dd', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'borrower', + type: 'address', + }, + ], + name: 'getNextBillRefreshDate', + outputs: [ + { + internalType: 'uint256', + name: 'refreshDate', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'humaConfig', + outputs: [ + { + internalType: 'contract HumaConfig', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'contract PoolConfig', + name: 'poolConfig_', + type: 'address', + }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'borrower', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'makePayment', + outputs: [ + { + internalType: 'uint256', + name: 'amountPaid', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'paidoff', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'makePrincipalPayment', + outputs: [ + { + internalType: 'uint256', + name: 'amountPaid', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'paidoff', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'pool', + outputs: [ + { + internalType: 'contract IPool', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'poolConfig', + outputs: [ + { + internalType: 'contract PoolConfig', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'poolSafe', + outputs: [ + { + internalType: 'contract IPoolSafe', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'proxiableUUID', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + { + components: [ + { + internalType: 'uint96', + name: 'unbilledPrincipal', + type: 'uint96', + }, + { + internalType: 'uint64', + name: 'nextDueDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'nextDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'totalPastDue', + type: 'uint96', + }, + { + internalType: 'uint16', + name: 'missedPeriods', + type: 'uint16', + }, + { + internalType: 'uint16', + name: 'remainingPeriods', + type: 'uint16', + }, + { + internalType: 'enum CreditState', + name: 'state', + type: 'uint8', + }, + ], + internalType: 'struct CreditRecord', + name: 'cr', + type: 'tuple', + }, + ], + name: 'setCreditRecord', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'contract PoolConfig', + name: 'poolConfig_', + type: 'address', + }, + ], + name: 'setPoolConfig', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + { + components: [ + { + internalType: 'uint96', + name: 'unbilledPrincipal', + type: 'uint96', + }, + { + internalType: 'uint64', + name: 'nextDueDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'nextDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'totalPastDue', + type: 'uint96', + }, + { + internalType: 'uint16', + name: 'missedPeriods', + type: 'uint16', + }, + { + internalType: 'uint16', + name: 'remainingPeriods', + type: 'uint16', + }, + { + internalType: 'enum CreditState', + name: 'state', + type: 'uint8', + }, + ], + internalType: 'struct CreditRecord', + name: 'cr', + type: 'tuple', + }, + { + components: [ + { + internalType: 'uint64', + name: 'lateFeeUpdatedDate', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'lateFee', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'principalPastDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'yieldPastDue', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'committed', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'accrued', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'paid', + type: 'uint96', + }, + ], + internalType: 'struct DueDetail', + name: 'dd', + type: 'tuple', + }, + ], + name: 'updateDueInfo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'updatePoolConfigData', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newImplementation', + type: 'address', + }, + ], + name: 'upgradeTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newImplementation', + type: 'address', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'upgradeToAndCall', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, +] as const + +export class CreditLine__factory { + static readonly abi = _abi + static createInterface(): CreditLineInterface { + return new utils.Interface(_abi) as CreditLineInterface + } + static connect( + address: string, + signerOrProvider: Signer | Provider, + ): CreditLine { + return new Contract(address, _abi, signerOrProvider) as CreditLine + } +} diff --git a/packages/huma-shared/src/v2/abis/types/factories/Credit__factory.ts b/packages/huma-shared/src/v2/abis/types/factories/Credit__factory.ts index 6847557..2c0a1bc 100644 --- a/packages/huma-shared/src/v2/abis/types/factories/Credit__factory.ts +++ b/packages/huma-shared/src/v2/abis/types/factories/Credit__factory.ts @@ -9,97 +9,31 @@ import type { Credit, CreditInterface } from '../Credit' const _abi = [ { inputs: [], - name: 'attemptedDrawdownForNonrevolvingLine', + name: 'AuthorizedContractCallerRequired', type: 'error', }, { inputs: [], - name: 'creditLineExceeded', - type: 'error', - }, - { - inputs: [], - name: 'creditLineNotInGoodStandingState', - type: 'error', - }, - { - inputs: [], - name: 'creditLineNotInStateForMakingPayment', - type: 'error', - }, - { - inputs: [], - name: 'creditLineNotInStateForMakingPrincipalPayment', - type: 'error', - }, - { - inputs: [], - name: 'creditNotInStateForDrawdown', - type: 'error', - }, - { - inputs: [], - name: 'drawdownNotAllowedInLatePaymentGracePeriod', - type: 'error', - }, - { - inputs: [], - name: 'firstDrawdownTooSoon', - type: 'error', - }, - { - inputs: [], - name: 'insufficientBorrowerFirstLossCover', - type: 'error', - }, - { - inputs: [], - name: 'notBorrower', - type: 'error', - }, - { - inputs: [], - name: 'paymentDetectionServiceAccountRequired', - type: 'error', - }, - { - inputs: [], - name: 'todo', - type: 'error', - }, - { - inputs: [], - name: 'zeroAddressProvided', - type: 'error', - }, - { - inputs: [], - name: 'zeroAmountProvided', + name: 'ZeroAddressProvided', type: 'error', }, { anonymous: false, inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'creditHash', - type: 'bytes32', - }, { indexed: false, - internalType: 'uint256', - name: 'newDueDate', - type: 'uint256', + internalType: 'address', + name: 'previousAdmin', + type: 'address', }, { indexed: false, - internalType: 'uint256', - name: 'amountDue', - type: 'uint256', + internalType: 'address', + name: 'newAdmin', + type: 'address', }, ], - name: 'BillRefreshed', + name: 'AdminChanged', type: 'event', }, { @@ -108,41 +42,11 @@ const _abi = [ { indexed: true, internalType: 'address', - name: 'borrower', + name: 'beacon', type: 'address', }, - { - indexed: false, - internalType: 'uint256', - name: 'creditLimit', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'aprInBps', - type: 'uint256', - }, - { - indexed: false, - internalType: 'enum PayPeriodDuration', - name: 'periodDuration', - type: 'uint8', - }, - { - indexed: false, - internalType: 'uint256', - name: 'remainingPeriods', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bool', - name: 'approved', - type: 'bool', - }, ], - name: 'CreditInitiated', + name: 'BeaconUpgraded', type: 'event', }, { @@ -150,24 +54,30 @@ const _abi = [ inputs: [ { indexed: true, - internalType: 'address', - name: 'borrower', - type: 'address', + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', }, { indexed: false, internalType: 'uint256', - name: 'oldCreditLimit', + name: 'newDueDate', type: 'uint256', }, { indexed: false, internalType: 'uint256', - name: 'newCreditLimit', + name: 'nextDue', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalPastDue', type: 'uint256', }, ], - name: 'CreditLineChanged', + name: 'BillRefreshed', type: 'event', }, { @@ -175,9 +85,9 @@ const _abi = [ inputs: [ { indexed: true, - internalType: 'address', - name: 'borrower', - type: 'address', + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', }, { indexed: false, @@ -185,14 +95,8 @@ const _abi = [ name: 'by', type: 'address', }, - { - indexed: false, - internalType: 'enum CreditLineClosureReason', - name: 'reasonCode', - type: 'uint8', - }, ], - name: 'CreditLineClosed', + name: 'CreditClosedAfterPayOff', type: 'event', }, { @@ -242,6 +146,12 @@ const _abi = [ name: 'borrower', type: 'address', }, + { + indexed: true, + internalType: 'address', + name: 'payer', + type: 'address', + }, { indexed: false, internalType: 'uint256', @@ -335,6 +245,12 @@ const _abi = [ name: 'borrower', type: 'address', }, + { + indexed: true, + internalType: 'address', + name: 'payer', + type: 'address', + }, { indexed: false, internalType: 'uint256', @@ -382,17 +298,17 @@ const _abi = [ type: 'event', }, { - inputs: [], - name: 'calendar', - outputs: [ + anonymous: false, + inputs: [ { - internalType: 'contract ICalendar', - name: '', + indexed: true, + internalType: 'address', + name: 'implementation', type: 'address', }, ], - stateMutability: 'view', - type: 'function', + name: 'Upgraded', + type: 'event', }, { inputs: [], @@ -407,27 +323,9 @@ const _abi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, - { - internalType: 'uint256', - name: 'borrowAmount', - type: 'uint256', - }, - ], - name: 'drawdown', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [], - name: 'feeManager', + name: 'dueManager', outputs: [ { internalType: 'contract ICreditDueManager', @@ -451,57 +349,6 @@ const _abi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'creditHash', - type: 'bytes32', - }, - ], - name: 'getCreditLoss', - outputs: [ - { - components: [ - { - internalType: 'uint96', - name: 'principalLoss', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'yieldLoss', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'feesLoss', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'principalRecovered', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'yieldRecovered', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'feesRecovered', - type: 'uint96', - }, - ], - internalType: 'struct CreditLoss', - name: '', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, { inputs: [ { @@ -619,25 +466,6 @@ const _abi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'creditHash', - type: 'bytes32', - }, - ], - name: 'getMaturityDate', - outputs: [ - { - internalType: 'uint256', - name: 'maturitydate', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, { inputs: [], name: 'humaConfig', @@ -655,7 +483,7 @@ const _abi = [ inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], @@ -665,80 +493,16 @@ const _abi = [ type: 'function', }, { - inputs: [ - { - internalType: 'bytes32', - name: 'creditHash', - type: 'bytes32', - }, - ], - name: 'isLate', - outputs: [ - { - internalType: 'bool', - name: 'lateFlag', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'makePayment', + inputs: [], + name: 'pool', outputs: [ { - internalType: 'uint256', - name: 'amountPaid', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'paidoff', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'borrower', + internalType: 'contract IPool', + name: '', type: 'address', }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, ], - name: 'makePrincipalPayment', - outputs: [ - { - internalType: 'uint256', - name: 'amountPaid', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'paidoff', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { @@ -768,53 +532,16 @@ const _abi = [ type: 'function', }, { - inputs: [ + inputs: [], + name: 'proxiableUUID', + outputs: [ { internalType: 'bytes32', - name: 'creditHash', + name: '', type: 'bytes32', }, - { - components: [ - { - internalType: 'uint96', - name: 'principalLoss', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'yieldLoss', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'feesLoss', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'principalRecovered', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'yieldRecovered', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'feesRecovered', - type: 'uint96', - }, - ], - internalType: 'struct CreditLoss', - name: 'cl', - type: 'tuple', - }, ], - name: 'setCreditLoss', - outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { @@ -877,84 +604,11 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'creditHash', - type: 'bytes32', - }, - { - components: [ - { - internalType: 'uint64', - name: 'lateFeeUpdatedDate', - type: 'uint64', - }, - { - internalType: 'uint96', - name: 'lateFee', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'principalPastDue', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'yieldPastDue', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'committed', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'accrued', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'paid', - type: 'uint96', - }, - ], - internalType: 'struct DueDetail', - name: 'dd', - type: 'tuple', - }, - ], - name: 'setDueDetail', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'creditHash', - type: 'bytes32', - }, - { - internalType: 'uint256', - name: 'maturityDate', - type: 'uint256', - }, - ], - name: 'setMaturityDate', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], @@ -970,9 +624,6 @@ const _abi = [ name: 'creditHash', type: 'bytes32', }, - ], - name: 'updateDueInfo', - outputs: [ { components: [ { @@ -1063,6 +714,8 @@ const _abi = [ type: 'tuple', }, ], + name: 'updateDueInfo', + outputs: [], stateMutability: 'nonpayable', type: 'function', }, @@ -1077,111 +730,12 @@ const _abi = [ inputs: [ { internalType: 'address', - name: 'borrower', + name: 'newImplementation', type: 'address', }, - { - internalType: 'uint256', - name: 'receivableId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'drawdownWithReceivable', - outputs: [ - { - internalType: 'uint256', - name: 'netAmountToBorrower', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, - { - internalType: 'uint256', - name: 'receivableId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'makePaymentWithReceivable', - outputs: [ - { - internalType: 'uint256', - name: 'amountPaid', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'paidoff', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, - { - internalType: 'uint256', - name: 'paymentReceivableId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'paymentAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'drawdownReceivableId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'drawdownAmount', - type: 'uint256', - }, - ], - name: 'makePrincipalPaymentAndDrawdownWithReceivable', - outputs: [ - { - internalType: 'uint256', - name: 'amountPaid', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'netAmountToBorrower', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'paidoff', - type: 'bool', - }, ], + name: 'upgradeTo', + outputs: [], stateMutability: 'nonpayable', type: 'function', }, @@ -1189,19 +743,18 @@ const _abi = [ inputs: [ { internalType: 'address', - name: 'borrower', + name: 'newImplementation', type: 'address', }, - ], - name: 'getNextBillRefreshDate', - outputs: [ { - internalType: 'uint256', - name: 'refreshDate', - type: 'uint256', + internalType: 'bytes', + name: 'data', + type: 'bytes', }, ], - stateMutability: 'view', + name: 'upgradeToAndCall', + outputs: [], + stateMutability: 'payable', type: 'function', }, ] as const diff --git a/packages/huma-shared/src/v2/abis/types/factories/Pool__factory.ts b/packages/huma-shared/src/v2/abis/types/factories/Pool__factory.ts index ede25ea..12db4c6 100644 --- a/packages/huma-shared/src/v2/abis/types/factories/Pool__factory.ts +++ b/packages/huma-shared/src/v2/abis/types/factories/Pool__factory.ts @@ -9,18 +9,64 @@ import type { Pool, PoolInterface } from '../Pool' const _abi = [ { inputs: [], - name: 'notAuthorizedCaller', + name: 'AuthorizedContractCallerRequired', type: 'error', }, { inputs: [], - name: 'todo', + name: 'ZeroAddressProvided', type: 'error', }, { - inputs: [], - name: 'zeroAddressProvided', - type: 'error', + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'previousAdmin', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + ], + name: 'AdminChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'beacon', + type: 'address', + }, + ], + name: 'BeaconUpgraded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'by', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'ready', + type: 'bool', + }, + ], + name: 'FirstLossCoverWithdrawalReadinessChanged', + type: 'event', }, { anonymous: false, @@ -113,55 +159,13 @@ const _abi = [ anonymous: false, inputs: [ { - indexed: false, - internalType: 'uint256', - name: 'refreshedTimestamp', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'profit', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'loss', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'lossRecovery', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'seniorTotalAssets', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'juniorTotalAssets', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'seniorTotalLoss', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'juniorTotalLoss', - type: 'uint256', + indexed: true, + internalType: 'address', + name: 'by', + type: 'address', }, ], - name: 'PoolAssetsRefreshed', + name: 'PoolClosed', type: 'event', }, { @@ -222,25 +226,6 @@ const _abi = [ name: 'PoolEnabled', type: 'event', }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'by', - type: 'address', - }, - { - indexed: false, - internalType: 'bool', - name: 'ready', - type: 'bool', - }, - ], - name: 'PoolReadyForFirstLossCoverWithdrawal', - type: 'event', - }, { anonymous: false, inputs: [ @@ -266,6 +251,52 @@ const _abi = [ name: 'ProfitDistributed', type: 'event', }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + inputs: [], + name: 'closePool', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'credit', + outputs: [ + { + internalType: 'contract ICredit', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'creditManager', + outputs: [ + { + internalType: 'contract ICreditManager', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [], name: 'currentTranchesAssets', @@ -359,19 +390,27 @@ const _abi = [ type: 'function', }, { - inputs: [ + inputs: [], + name: 'getFirstLossCovers', + outputs: [ { - internalType: 'address', - name: 'coverAddress', - type: 'address', + internalType: 'contract IFirstLossCover[]', + name: '', + type: 'address[]', }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ { internalType: 'uint256', - name: 'poolAssets', + name: 'index', type: 'uint256', }, ], - name: 'getFirstLossCoverAvailableCap', + name: 'getTrancheAvailableCap', outputs: [ { internalType: 'uint256', @@ -383,52 +422,52 @@ const _abi = [ type: 'function', }, { - inputs: [], - name: 'getFirstLossCovers', - outputs: [ + inputs: [ { - internalType: 'contract IFirstLossCover[]', - name: '', - type: 'address[]', + internalType: 'contract PoolConfig', + name: 'poolConfig_', + type: 'address', }, ], - stateMutability: 'view', + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', type: 'function', }, { inputs: [], - name: 'getReservedAssetsForFirstLossCovers', + name: 'isPoolClosed', outputs: [ { - internalType: 'uint256', - name: 'reservedAssets', - type: 'uint256', + internalType: 'bool', + name: 'isClosed', + type: 'bool', }, ], stateMutability: 'view', type: 'function', }, { - inputs: [ + inputs: [], + name: 'isPoolOn', + outputs: [ { - internalType: 'contract PoolConfig', - name: '_poolConfig', - type: 'address', + internalType: 'bool', + name: 'isOn', + type: 'bool', }, ], - name: 'initialize', - outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { inputs: [], - name: 'isPoolOn', + name: 'juniorTranche', outputs: [ { - internalType: 'bool', - name: 'status', - type: 'bool', + internalType: 'address', + name: '', + type: 'address', }, ], stateMutability: 'view', @@ -460,6 +499,19 @@ const _abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [], + name: 'proxiableUUID', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [], name: 'readyForFirstLossCoverWithdrawal', @@ -473,11 +525,24 @@ const _abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [], + name: 'seniorTranche', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], @@ -490,7 +555,7 @@ const _abi = [ inputs: [ { internalType: 'bool', - name: 'ready', + name: 'isReady', type: 'bool', }, ], @@ -499,13 +564,6 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [], - name: 'syncFirstLossCovers', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [], name: 'totalAssets', @@ -552,11 +610,6 @@ const _abi = [ name: 'juniorTotalAssets', type: 'uint96', }, - { - internalType: 'uint64', - name: 'lastProfitDistributedTime', - type: 'uint64', - }, ], stateMutability: 'view', type: 'function', @@ -612,6 +665,37 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [ + { + internalType: 'address', + name: 'newImplementation', + type: 'address', + }, + ], + name: 'upgradeTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newImplementation', + type: 'address', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'upgradeToAndCall', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, ] as const export class Pool__factory { diff --git a/packages/huma-shared/src/v2/abis/types/factories/ReceivableBackedCreditLine__factory.ts b/packages/huma-shared/src/v2/abis/types/factories/ReceivableBackedCreditLine__factory.ts index 0b96cea..d133fbe 100644 --- a/packages/huma-shared/src/v2/abis/types/factories/ReceivableBackedCreditLine__factory.ts +++ b/packages/huma-shared/src/v2/abis/types/factories/ReceivableBackedCreditLine__factory.ts @@ -12,92 +12,87 @@ import type { const _abi = [ { inputs: [], - name: 'attemptedDrawdownForNonrevolvingLine', + name: 'AttemptedDrawdownOnNonRevolvingLine', type: 'error', }, { inputs: [], - name: 'creditLineExceeded', + name: 'AuthorizedContractCallerRequired', type: 'error', }, { inputs: [], - name: 'creditLineNotInGoodStandingState', + name: 'CreditLimitExceeded', type: 'error', }, { inputs: [], - name: 'creditLineNotInStateForMakingPayment', + name: 'CreditNotInStateForDrawdown', type: 'error', }, { inputs: [], - name: 'creditLineNotInStateForMakingPrincipalPayment', + name: 'CreditNotInStateForMakingPayment', type: 'error', }, { inputs: [], - name: 'creditNotInStateForDrawdown', + name: 'CreditNotInStateForMakingPrincipalPayment', type: 'error', }, { inputs: [], - name: 'drawdownNotAllowedInLatePaymentGracePeriod', + name: 'DrawdownNotAllowedAfterDueDateWithUnpaidDue', type: 'error', }, { inputs: [], - name: 'firstDrawdownTooSoon', + name: 'DrawdownNotAllowedInFinalPeriodAndBeyond', type: 'error', }, { inputs: [], - name: 'insufficientBorrowerFirstLossCover', + name: 'FirstDrawdownTooEarly', type: 'error', }, { inputs: [], - name: 'insufficientReceivableAmount', + name: 'InsufficientFirstLossCover', type: 'error', }, { inputs: [], - name: 'notAuthorizedCaller', + name: 'InsufficientPoolBalanceForDrawdown', type: 'error', }, { inputs: [], - name: 'notBorrower', + name: 'InsufficientReceivableAmount', type: 'error', }, { inputs: [], - name: 'notReceivableOwner', + name: 'ReceivableOwnerRequired', type: 'error', }, { inputs: [], - name: 'sentinelServiceAccountRequired', + name: 'SentinelServiceAccountRequired', type: 'error', }, { inputs: [], - name: 'todo', + name: 'ZeroAddressProvided', type: 'error', }, { inputs: [], - name: 'zeroAddressProvided', + name: 'ZeroAmountProvided', type: 'error', }, { inputs: [], - name: 'zeroAmountProvided', - type: 'error', - }, - { - inputs: [], - name: 'zeroReceivableIdProvided', + name: 'ZeroReceivableIdProvided', type: 'error', }, { @@ -150,7 +145,13 @@ const _abi = [ { indexed: false, internalType: 'uint256', - name: 'amountDue', + name: 'nextDue', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalPastDue', type: 'uint256', }, ], @@ -176,74 +177,6 @@ const _abi = [ name: 'CreditClosedAfterPayOff', type: 'event', }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'borrower', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'creditLimit', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'aprInBps', - type: 'uint256', - }, - { - indexed: false, - internalType: 'enum PayPeriodDuration', - name: 'periodDuration', - type: 'uint8', - }, - { - indexed: false, - internalType: 'uint256', - name: 'remainingPeriods', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bool', - name: 'approved', - type: 'bool', - }, - ], - name: 'CreditInitiated', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'borrower', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'oldCreditLimit', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'newCreditLimit', - type: 'uint256', - }, - ], - name: 'CreditLineChanged', - type: 'event', - }, { anonymous: false, inputs: [ @@ -563,11 +496,6 @@ const _abi = [ }, { inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, { internalType: 'uint256', name: 'receivableId', @@ -616,6 +544,25 @@ const _abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [ + { + internalType: 'address', + name: 'borrower', + type: 'address', + }, + ], + name: 'getCreditHash', + outputs: [ + { + internalType: 'bytes32', + name: 'creditHash', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [ { @@ -872,7 +819,7 @@ const _abi = [ inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], @@ -917,11 +864,6 @@ const _abi = [ }, { inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, { internalType: 'uint256', name: 'paymentReceivableId', @@ -966,11 +908,6 @@ const _abi = [ }, { inputs: [ - { - internalType: 'address', - name: 'borrower', - type: 'address', - }, { internalType: 'uint256', name: 'receivableId', @@ -1032,6 +969,19 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [], + name: 'pool', + outputs: [ + { + internalType: 'contract IPool', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [], name: 'poolConfig', @@ -1135,7 +1085,7 @@ const _abi = [ inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], diff --git a/packages/huma-shared/src/v2/abis/types/factories/TrancheVault__factory.ts b/packages/huma-shared/src/v2/abis/types/factories/TrancheVault__factory.ts index 16d59ee..5932f67 100644 --- a/packages/huma-shared/src/v2/abis/types/factories/TrancheVault__factory.ts +++ b/packages/huma-shared/src/v2/abis/types/factories/TrancheVault__factory.ts @@ -9,67 +9,77 @@ import type { TrancheVault, TrancheVaultInterface } from '../TrancheVault' const _abi = [ { inputs: [], - name: 'alreadyLender', + name: 'AlreadyALender', type: 'error', }, { inputs: [], - name: 'insufficientSharesForRequest', + name: 'AuthorizedContractCallerRequired', type: 'error', }, { inputs: [], - name: 'invalidTrancheIndex', + name: 'DepositAmountTooLow', type: 'error', }, { inputs: [], - name: 'nonReinvestYieldLenderCapacityReached', + name: 'InsufficientSharesForRequest', type: 'error', }, { inputs: [], - name: 'notAuthorizedCaller', + name: 'InvalidTrancheIndex', type: 'error', }, { inputs: [], - name: 'notLender', + name: 'LenderRequired', type: 'error', }, { inputs: [], - name: 'permissionDeniedNotLender', + name: 'NonReinvestYieldLenderCapacityReached', type: 'error', }, { inputs: [], - name: 'todo', + name: 'PoolIsNotClosed', type: 'error', }, { inputs: [], - name: 'trancheLiquidityCapExceeded', + name: 'ReinvestYieldOptionAlreadySet', type: 'error', }, { inputs: [], - name: 'unsupportedFunction', + name: 'TrancheLiquidityCapExceeded', type: 'error', }, { inputs: [], - name: 'withdrawTooSoon', + name: 'UnsupportedFunction', type: 'error', }, { inputs: [], - name: 'zeroAddressProvided', + name: 'WithdrawTooEarly', type: 'error', }, { inputs: [], - name: 'zeroAmountProvided', + name: 'ZeroAddressProvided', + type: 'error', + }, + { + inputs: [], + name: 'ZeroAmountProvided', + type: 'error', + }, + { + inputs: [], + name: 'ZeroSharesMinted', type: 'error', }, { @@ -184,14 +194,27 @@ const _abi = [ }, { indexed: false, + internalType: 'bool', + name: 'reinvestYield', + type: 'bool', + }, + ], + name: 'LenderAdded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, internalType: 'address', - name: 'receiver', + name: 'account', type: 'address', }, { indexed: false, internalType: 'uint256', - name: 'withdrawnAmount', + name: 'amountDisbursed', type: 'uint256', }, ], @@ -204,25 +227,57 @@ const _abi = [ { indexed: true, internalType: 'address', - name: 'sender', + name: 'account', type: 'address', }, + { + indexed: false, + internalType: 'uint256', + name: 'numShares', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'LenderFundWithdrawn', + type: 'event', + }, + { + anonymous: false, + inputs: [ { indexed: true, internalType: 'address', - name: 'receiver', + name: 'account', + type: 'address', + }, + ], + name: 'LenderRemoved', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'sender', type: 'address', }, { indexed: false, internalType: 'uint256', - name: 'assetAmount', + name: 'assets', type: 'uint256', }, { indexed: false, internalType: 'uint256', - name: 'shareAmount', + name: 'shares', type: 'uint256', }, ], @@ -273,7 +328,7 @@ const _abi = [ { indexed: false, internalType: 'uint256', - name: 'shareAmount', + name: 'shares', type: 'uint256', }, { @@ -298,7 +353,7 @@ const _abi = [ { indexed: false, internalType: 'uint256', - name: 'shareAmount', + name: 'shares', type: 'uint256', }, { @@ -471,7 +526,38 @@ const _abi = [ type: 'uint256', }, ], - name: 'YieldPaidout', + name: 'YieldPaidOut', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'yields', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + indexed: false, + internalType: 'string', + name: 'reason', + type: 'string', + }, + ], + name: 'YieldPayoutFailed', type: 'event', }, { @@ -700,41 +786,6 @@ const _abi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [], - name: 'currentRedemptionSummary', - outputs: [ - { - components: [ - { - internalType: 'uint64', - name: 'epochId', - type: 'uint64', - }, - { - internalType: 'uint96', - name: 'totalSharesRequested', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'totalSharesProcessed', - type: 'uint96', - }, - { - internalType: 'uint96', - name: 'totalAmountProcessed', - type: 'uint96', - }, - ], - internalType: 'struct EpochRedemptionSummary', - name: 'redemptionSummary', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, { inputs: [], name: 'decimals', @@ -779,11 +830,6 @@ const _abi = [ name: 'assets', type: 'uint256', }, - { - internalType: 'address', - name: 'receiver', - type: 'address', - }, ], name: 'deposit', outputs: [ @@ -879,6 +925,47 @@ const _abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [ + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + name: 'epochRedemptionSummary', + outputs: [ + { + components: [ + { + internalType: 'uint64', + name: 'epochId', + type: 'uint64', + }, + { + internalType: 'uint96', + name: 'totalSharesRequested', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'totalSharesProcessed', + type: 'uint96', + }, + { + internalType: 'uint96', + name: 'totalAmountProcessed', + type: 'uint96', + }, + ], + internalType: 'struct EpochRedemptionSummary', + name: 'redemptionSummary', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [ { @@ -1026,7 +1113,7 @@ const _abi = [ }, { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, { @@ -1044,7 +1131,7 @@ const _abi = [ inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], @@ -1255,7 +1342,7 @@ const _abi = [ inputs: [ { internalType: 'contract PoolConfig', - name: '_poolConfig', + name: 'poolConfig_', type: 'address', }, ], @@ -1476,6 +1563,13 @@ const _abi = [ stateMutability: 'payable', type: 'function', }, + { + inputs: [], + name: 'withdrawAfterPoolClosure', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { diff --git a/packages/huma-shared/src/v2/abis/types/factories/index.ts b/packages/huma-shared/src/v2/abis/types/factories/index.ts index 78284f5..1d44581 100644 --- a/packages/huma-shared/src/v2/abis/types/factories/index.ts +++ b/packages/huma-shared/src/v2/abis/types/factories/index.ts @@ -3,6 +3,7 @@ /* eslint-disable */ export { Calendar__factory } from './Calendar__factory' export { Credit__factory } from './Credit__factory' +export { CreditLine__factory } from './CreditLine__factory' export { CreditManager__factory } from './CreditManager__factory' export { EpochManager__factory } from './EpochManager__factory' export { FirstLossCover__factory } from './FirstLossCover__factory' diff --git a/packages/huma-shared/src/v2/abis/types/index.ts b/packages/huma-shared/src/v2/abis/types/index.ts index 37f9638..2ab8d9c 100644 --- a/packages/huma-shared/src/v2/abis/types/index.ts +++ b/packages/huma-shared/src/v2/abis/types/index.ts @@ -3,6 +3,7 @@ /* eslint-disable */ export type { Calendar } from './Calendar' export type { Credit } from './Credit' +export type { CreditLine } from './CreditLine' export type { CreditManager } from './CreditManager' export type { EpochManager } from './EpochManager' export type { FirstLossCover } from './FirstLossCover' @@ -16,6 +17,7 @@ export type { TrancheVault } from './TrancheVault' export * as factories from './factories' export { Calendar__factory } from './factories/Calendar__factory' export { Credit__factory } from './factories/Credit__factory' +export { CreditLine__factory } from './factories/CreditLine__factory' export { CreditManager__factory } from './factories/CreditManager__factory' export { EpochManager__factory } from './factories/EpochManager__factory' export { FirstLossCover__factory } from './factories/FirstLossCover__factory' diff --git a/packages/huma-shared/src/v2/hooks/usePool.ts b/packages/huma-shared/src/v2/hooks/usePool.ts index 224457f..277c048 100644 --- a/packages/huma-shared/src/v2/hooks/usePool.ts +++ b/packages/huma-shared/src/v2/hooks/usePool.ts @@ -17,7 +17,7 @@ import POOL_CONFIG_V2_ABI from '../abis/PoolConfig.json' import RECEIVABLE_V2_ABI from '../abis/Receivable.json' import { Calendar, - Credit, + CreditLine, FirstLossCover, Pool, PoolConfig, @@ -37,6 +37,7 @@ import { import { FirstLossCoverIndex } from '../types' import { CHAIN_POOLS_INFO_V2, + POOL_ABI_V2, PoolInfoV2, TrancheType, UnderlyingTokenInfo, @@ -74,7 +75,7 @@ export function usePoolContractV2( ) { const chainId = provider?.network?.chainId const poolInfo = usePoolInfoV2(poolName, chainId) - return useContract(poolInfo?.pool, poolInfo?.poolAbi, provider) + return useContract(poolInfo?.pool, POOL_ABI_V2.poolAbi, provider) } function usePoolSafeContractV2( @@ -85,7 +86,7 @@ function usePoolSafeContractV2( const poolInfo = usePoolInfoV2(poolName, chainId) return useContract( poolInfo?.poolSafe, - poolInfo?.poolSafeAbi, + POOL_ABI_V2.poolSafeAbi, provider, ) } @@ -99,7 +100,7 @@ export function usePoolConfigContractV2( const poolInfo = usePoolInfoV2(poolName, chainId) const poolContract = useContract( poolInfo?.pool, - poolInfo?.poolAbi, + POOL_ABI_V2.poolAbi, provider, ) @@ -129,7 +130,7 @@ export function useTrancheVaultContractV2( const contractAddr = poolInfo?.[`${trancheType}TrancheVault`] return useContract( contractAddr, - poolInfo?.trancheVaultAbi, + POOL_ABI_V2.trancheVaultAbi, provider, account, ) @@ -160,9 +161,9 @@ export function useCreditContractV2( ) { const chainId = provider?.network?.chainId const poolInfo = usePoolInfoV2(poolName, chainId) - return useContract( + return useContract( poolInfo?.poolCredit, - poolInfo?.poolCreditAbi, + POOL_ABI_V2.poolCreditLineAbi, provider, account, ) @@ -177,7 +178,7 @@ export function useCreditManagerContractV2( const poolInfo = usePoolInfoV2(poolName, chainId) return useContract( poolInfo?.poolCreditManager, - poolInfo?.poolCreditManagerAbi, + POOL_ABI_V2.poolCreditManagerAbi, provider, account, ) @@ -532,7 +533,7 @@ export const useFirstLossCoverAssetsV2 = ( .map((item) => getContract( item, - poolInfo.firstLossCoverAbi, + POOL_ABI_V2.firstLossCoverAbi, provider, ), ) diff --git a/packages/huma-shared/src/v2/metadata/humaTestnet.ts b/packages/huma-shared/src/v2/metadata/humaTestnet.ts index 11ccf25..41a2238 100644 --- a/packages/huma-shared/src/v2/metadata/humaTestnet.ts +++ b/packages/huma-shared/src/v2/metadata/humaTestnet.ts @@ -9,18 +9,18 @@ export const HUMA_TESTNET_METADATA: PoolsInfoV2 = { poolVersion: 'v2', poolName: POOL_NAME.JiaV2, poolType: POOL_TYPE.CreditLine, - pool: '0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44', - poolConfig: '0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e', - poolCredit: '0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB', - poolCreditManager: '0x851356ae760d987E095750cCeb3bC6014560891C', - poolSafe: '0x0B306BF915C4d645ff596e518fAf3F9669b97016', - seniorTrancheVault: '0x09635F643e140090A9A8Dcd712eD6285858ceBef', - juniorTrancheVault: '0x67d269191c92Caf3cD7723F116c85e6E9bf55933', - epochManager: '0x4A679253410272dd5232B3Ff7cF5dbB88f295319', + pool: '0x3d38068977323BD88F5e8F853536f19a096EB29F', + poolConfig: '0xf1f0bE0Ba6b279d3Ee5198A949A17c01BF0B79Af', + poolCredit: '0x1982f6c096A58ADef57F43e6c18aC4aF6D6e5d33', + poolCreditManager: '0xa64b13dEfBba5EfE149B16FfCbD0a8138A172C1e', + poolSafe: '0x3b507540C6f7FaA32FB52C93ae9989DC5eDDC13f', + seniorTrancheVault: '0x64B2a42C1f69F35bCB4abAbadfAC8b681D15Cd70', + juniorTrancheVault: '0x848C97580F8C5f9E194CBf5E70463417c5c70CcF', + epochManager: '0x3Abf059E221d82c290aCa12B6DE3fdF4d64b5f5E', firstLossCovers: { [FirstLossCoverIndex.borrower]: - '0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE', - [FirstLossCoverIndex.admin]: '0x3Aa5ebB10DC797CAC828524e59A333d0A371443c', + '0x64e605642C1343f5d9D7151fC7a54dED81145741', + [FirstLossCoverIndex.admin]: '0xAb5d17DEa5D7CE84aEcCa3Db8feBFdb3786c188f', }, seniorAPY: '10-20%', juniorAPY: '10-20%', @@ -61,18 +61,18 @@ export const HUMA_TESTNET_METADATA: PoolsInfoV2 = { poolVersion: 'v2', poolName: POOL_NAME.ArfCreditPoolV2, poolType: POOL_TYPE.ReceivableBackedCreditLine, - pool: '0x1c85638e118b37167e9298c2268758e058DdfDA0', - poolConfig: '0x8198f5d8F8CfFE8f9C413d98a0A55aEB8ab9FbB7', - poolCredit: '0xAA292E8611aDF267e563f334Ee42320aC96D0463', - poolCreditManager: '0x5067457698Fd6Fa1C6964e416b3f42713513B3dD', - poolSafe: '0x172076E0166D1F9Cc711C77Adf8488051744980C', - seniorTrancheVault: '0x49fd2BE640DB2910c2fAb69bB8531Ab6E76127ff', - juniorTrancheVault: '0x86A2EE8FAf9A840F7a2c64CA3d51209F9A02081D', - epochManager: '0x4C2F7092C2aE51D986bEFEe378e50BD4dB99C901', + pool: '0xa3275668ebDad74bC1eCEd227410BF3d62414Ccc', + poolConfig: '0xE98558FE861880631a30Aa54A9EDc2e0f26d980F', + poolCredit: '0x6F7F2b9f69992572a67847b9a489d534A5C64681', + poolCreditManager: '0x0BD888937c8965CcC18AD9a9bB6A8433315FE56D', + poolSafe: '0x25FF0E3c04834B51442E38E349B11DC5902d28C0', + seniorTrancheVault: '0xBBd6abFb659974300BEe318C3c2C69c268d3788b', + juniorTrancheVault: '0xa53Fd5659Fb9Ef172CAd7301459656b0eadb8ff7', + epochManager: '0x3c2e19A2AdEc4344dD91425cc91288336F0DD961', firstLossCovers: { [FirstLossCoverIndex.borrower]: - '0xBEc49fA140aCaA83533fB00A2BB19bDdd0290f25', - [FirstLossCoverIndex.admin]: '0x2B0d36FACD61B71CC05ab8F3D2355ec3631C0dd5', + '0x3011866c9feC8476622c7aeDb55a0fEB60955356', + [FirstLossCoverIndex.admin]: '0x3Be5057A36a04710dE059e3407f9b7F10a3E17Cc', }, seniorAPY: '10-20%', juniorAPY: '10-20%', diff --git a/packages/huma-shared/src/v2/metadata/localhost.ts b/packages/huma-shared/src/v2/metadata/localhost.ts index 3ecb8e1..987dde6 100644 --- a/packages/huma-shared/src/v2/metadata/localhost.ts +++ b/packages/huma-shared/src/v2/metadata/localhost.ts @@ -9,18 +9,18 @@ export const LOCALHOST_METADATA: PoolsInfoV2 = { poolVersion: 'v2', poolName: POOL_NAME.JiaV2, poolType: POOL_TYPE.CreditLine, - pool: '0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44', - poolConfig: '0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e', - poolCredit: '0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB', - poolCreditManager: '0x851356ae760d987E095750cCeb3bC6014560891C', - poolSafe: '0x0B306BF915C4d645ff596e518fAf3F9669b97016', - seniorTrancheVault: '0x09635F643e140090A9A8Dcd712eD6285858ceBef', - juniorTrancheVault: '0x67d269191c92Caf3cD7723F116c85e6E9bf55933', - epochManager: '0x4A679253410272dd5232B3Ff7cF5dbB88f295319', + pool: '0x3d38068977323BD88F5e8F853536f19a096EB29F', + poolConfig: '0xf1f0bE0Ba6b279d3Ee5198A949A17c01BF0B79Af', + poolCredit: '0x1982f6c096A58ADef57F43e6c18aC4aF6D6e5d33', + poolCreditManager: '0xa64b13dEfBba5EfE149B16FfCbD0a8138A172C1e', + poolSafe: '0x3b507540C6f7FaA32FB52C93ae9989DC5eDDC13f', + seniorTrancheVault: '0x64B2a42C1f69F35bCB4abAbadfAC8b681D15Cd70', + juniorTrancheVault: '0x848C97580F8C5f9E194CBf5E70463417c5c70CcF', + epochManager: '0x3Abf059E221d82c290aCa12B6DE3fdF4d64b5f5E', firstLossCovers: { [FirstLossCoverIndex.borrower]: - '0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE', - [FirstLossCoverIndex.admin]: '0x3Aa5ebB10DC797CAC828524e59A333d0A371443c', + '0x64e605642C1343f5d9D7151fC7a54dED81145741', + [FirstLossCoverIndex.admin]: '0xAb5d17DEa5D7CE84aEcCa3Db8feBFdb3786c188f', }, seniorAPY: '10-20%', juniorAPY: '10-20%', @@ -61,18 +61,18 @@ export const LOCALHOST_METADATA: PoolsInfoV2 = { poolVersion: 'v2', poolName: POOL_NAME.ArfCreditPoolV2, poolType: POOL_TYPE.ReceivableBackedCreditLine, - pool: '0x1c85638e118b37167e9298c2268758e058DdfDA0', - poolConfig: '0x8198f5d8F8CfFE8f9C413d98a0A55aEB8ab9FbB7', - poolCredit: '0xAA292E8611aDF267e563f334Ee42320aC96D0463', - poolCreditManager: '0x5067457698Fd6Fa1C6964e416b3f42713513B3dD', - poolSafe: '0x172076E0166D1F9Cc711C77Adf8488051744980C', - seniorTrancheVault: '0x49fd2BE640DB2910c2fAb69bB8531Ab6E76127ff', - juniorTrancheVault: '0x86A2EE8FAf9A840F7a2c64CA3d51209F9A02081D', - epochManager: '0x4C2F7092C2aE51D986bEFEe378e50BD4dB99C901', + pool: '0xa3275668ebDad74bC1eCEd227410BF3d62414Ccc', + poolConfig: '0xE98558FE861880631a30Aa54A9EDc2e0f26d980F', + poolCredit: '0x6F7F2b9f69992572a67847b9a489d534A5C64681', + poolCreditManager: '0x0BD888937c8965CcC18AD9a9bB6A8433315FE56D', + poolSafe: '0x25FF0E3c04834B51442E38E349B11DC5902d28C0', + seniorTrancheVault: '0xBBd6abFb659974300BEe318C3c2C69c268d3788b', + juniorTrancheVault: '0xa53Fd5659Fb9Ef172CAd7301459656b0eadb8ff7', + epochManager: '0x3c2e19A2AdEc4344dD91425cc91288336F0DD961', firstLossCovers: { [FirstLossCoverIndex.borrower]: - '0xBEc49fA140aCaA83533fB00A2BB19bDdd0290f25', - [FirstLossCoverIndex.admin]: '0x2B0d36FACD61B71CC05ab8F3D2355ec3631C0dd5', + '0x3011866c9feC8476622c7aeDb55a0fEB60955356', + [FirstLossCoverIndex.admin]: '0x3Be5057A36a04710dE059e3407f9b7F10a3E17Cc', }, seniorAPY: '10-20%', juniorAPY: '10-20%', diff --git a/packages/huma-shared/src/v2/utils/const.ts b/packages/huma-shared/src/v2/utils/const.ts index d2c67f1..86b3d14 100644 --- a/packages/huma-shared/src/v2/utils/const.ts +++ b/packages/huma-shared/src/v2/utils/const.ts @@ -10,9 +10,14 @@ export enum KYC_PROVIDER { export enum CreditStateV2 { Deleted, - Paused, Approved, GoodStanding, Delayed, Defaulted, } + +export enum PoolStatusV2 { + Off, // The pool is temporarily turned off. + On, // The pool is active. + Closed, // The pool is permanently closed after maturity. +} diff --git a/packages/huma-shared/src/v2/utils/firstLossCoverContract.ts b/packages/huma-shared/src/v2/utils/firstLossCoverContract.ts index cb276c8..6be5bfd 100644 --- a/packages/huma-shared/src/v2/utils/firstLossCoverContract.ts +++ b/packages/huma-shared/src/v2/utils/firstLossCoverContract.ts @@ -9,6 +9,7 @@ import { import { FirstLossCover } from '../abis/types' import { FirstLossCoverIndex } from '../types' import { getPoolConfigContractV2, getPoolInfoV2 } from './poolContract' +import { POOL_ABI_V2 } from './pool' export const getFirstLossCoverTotalAssetsV2 = async ( poolName: POOL_NAME, @@ -26,7 +27,11 @@ export const getFirstLossCoverTotalAssetsV2 = async ( const firstLossCovers = Object.values(poolInfo.firstLossCovers) const firstLossCoverContracts = firstLossCovers .map((item) => - getContract(item, poolInfo.firstLossCoverAbi, provider), + getContract( + item, + POOL_ABI_V2.firstLossCoverAbi, + provider, + ), ) .flatMap((item) => (item ? [item] : [])) diff --git a/packages/huma-shared/src/v2/utils/pool.ts b/packages/huma-shared/src/v2/utils/pool.ts index c2c7af6..61df7f9 100644 --- a/packages/huma-shared/src/v2/utils/pool.ts +++ b/packages/huma-shared/src/v2/utils/pool.ts @@ -13,6 +13,7 @@ import { LOCALHOST_METADATA } from '../metadata/localhost' import { MUMBAI_METADATA } from '../metadata/mumbai' import { FirstLossCoverIndex } from '../types' import POOL_CREDIT_ABI from '../abis/Credit.json' +import POOL_CREDIT_LINE_ABI from '../abis/CreditLine.json' import POOL_CREDIT_MANAGER_ABI from '../abis/CreditManager.json' import EPOCH_MANAGER_ABI from '../abis/EpochManager.json' import FIRST_LOSS_COVER_ABI from '../abis/FirstLossCover.json' @@ -30,6 +31,19 @@ export type KYCCopy = { buttonText?: string } +export type PoolAbis = { + poolAbi: unknown + poolCreditAbi: unknown + poolCreditLineAbi: unknown + poolCreditManagerAbi: unknown + poolSafeAbi: unknown + poolConfigAbi: unknown + trancheVaultAbi: unknown + firstLossCoverAbi: unknown + epochManagerAbi: unknown + calendarAbi: unknown +} + export type PoolInfoV2 = { chainId: ChainEnum poolVersion: PoolVersion @@ -47,15 +61,6 @@ export type PoolInfoV2 = { [FirstLossCoverIndex.borrower]: string [FirstLossCoverIndex.admin]: string } - poolAbi?: unknown - poolCreditAbi?: unknown - poolCreditManagerAbi?: unknown - poolSafeAbi?: unknown - poolConfigAbi?: unknown - trancheVaultAbi?: unknown - firstLossCoverAbi?: unknown - epochManagerAbi?: unknown - calendarAbi?: unknown seniorAPY: string juniorAPY: string title: string @@ -91,28 +96,23 @@ export type ChainPoolsInfoV2 = { [chainId in ChainEnum]: PoolsInfoV2 } -const getMetadataWithAbis = (metadata: PoolsInfoV2) => { - Object.keys(metadata).forEach((poolName) => { - const pool = metadata[poolName as POOL_NAME] - if (pool) { - pool.poolAbi = POOL_ABI - pool.poolCreditAbi = POOL_CREDIT_ABI - pool.poolCreditManagerAbi = POOL_CREDIT_MANAGER_ABI - pool.poolSafeAbi = POOL_SAFE_ABI - pool.poolConfigAbi = POOL_CONFIG_ABI - pool.trancheVaultAbi = TRANCHE_VAULT_ABI - pool.firstLossCoverAbi = FIRST_LOSS_COVER_ABI - pool.epochManagerAbi = EPOCH_MANAGER_ABI - pool.calendarAbi = CALENDAR_ABI - } - }) - return metadata +export const POOL_ABI_V2: PoolAbis = { + poolAbi: POOL_ABI, + poolCreditAbi: POOL_CREDIT_ABI, + poolCreditLineAbi: POOL_CREDIT_LINE_ABI, + poolCreditManagerAbi: POOL_CREDIT_MANAGER_ABI, + poolSafeAbi: POOL_SAFE_ABI, + poolConfigAbi: POOL_CONFIG_ABI, + trancheVaultAbi: TRANCHE_VAULT_ABI, + firstLossCoverAbi: FIRST_LOSS_COVER_ABI, + epochManagerAbi: EPOCH_MANAGER_ABI, + calendarAbi: CALENDAR_ABI, } export const CHAIN_POOLS_INFO_V2 = { - [ChainEnum.Mumbai]: getMetadataWithAbis(MUMBAI_METADATA), - [ChainEnum.HumaTestnet]: getMetadataWithAbis(HUMA_TESTNET_METADATA), - [ChainEnum.Localhost]: getMetadataWithAbis(LOCALHOST_METADATA), + [ChainEnum.Mumbai]: MUMBAI_METADATA, + [ChainEnum.HumaTestnet]: HUMA_TESTNET_METADATA, + [ChainEnum.Localhost]: LOCALHOST_METADATA, } as ChainPoolsInfoV2 export const getChainPoolNamesV2 = ( diff --git a/packages/huma-shared/src/v2/utils/poolContract.ts b/packages/huma-shared/src/v2/utils/poolContract.ts index ff7e31b..f27caa2 100644 --- a/packages/huma-shared/src/v2/utils/poolContract.ts +++ b/packages/huma-shared/src/v2/utils/poolContract.ts @@ -4,6 +4,7 @@ import { BigNumber, ethers } from 'ethers' import { BP_FACTOR, CHAIN_POOLS_INFO_V2, + POOL_ABI_V2, PoolInfoV2, TrancheType, UnderlyingTokenInfo, @@ -55,7 +56,7 @@ export const getPoolContractV2 = async ( if (!poolInfo) { return null } - return getContract(poolInfo.pool, poolInfo.poolAbi, provider) + return getContract(poolInfo.pool, POOL_ABI_V2.poolAbi, provider) } export const getPoolConfigContractV2 = async ( @@ -69,7 +70,7 @@ export const getPoolConfigContractV2 = async ( } return getContract( poolInfo.poolConfig, - poolInfo.poolConfigAbi, + POOL_ABI_V2.poolConfigAbi, provider, ) } @@ -140,7 +141,7 @@ export const getEpochManagerContractV2 = async ( } return getContract( poolInfo.epochManager, - poolInfo.epochManagerAbi, + POOL_ABI_V2.epochManagerAbi, provider, ) } @@ -157,7 +158,7 @@ export const getFirstLossCoverContractV2 = async ( } return getContract( poolInfo.firstLossCovers[firstLossCoverType], - poolInfo.firstLossCoverAbi, + POOL_ABI_V2.firstLossCoverAbi, provider, ) } @@ -173,7 +174,7 @@ export const getPoolSafeContractV2 = async ( } return getContract( poolInfo.poolSafe, - poolInfo.poolSafeAbi, + POOL_ABI_V2.poolSafeAbi, provider, ) } @@ -218,7 +219,11 @@ export const getFirstLossCoverAssetsV2 = async ( const firstLossCoverContracts = firstLossCovers .filter((item) => !!item) .map((item) => - getContract(item, poolInfo.firstLossCoverAbi, provider), + getContract( + item, + POOL_ABI_V2.firstLossCoverAbi, + provider, + ), ) .flatMap((item) => (item ? [item] : [])) diff --git a/packages/huma-shared/src/v2/utils/trancheVaultContract.ts b/packages/huma-shared/src/v2/utils/trancheVaultContract.ts index d8378d6..2d7f5ca 100644 --- a/packages/huma-shared/src/v2/utils/trancheVaultContract.ts +++ b/packages/huma-shared/src/v2/utils/trancheVaultContract.ts @@ -7,7 +7,7 @@ import { POOL_NAME, } from '../../utils' import { TrancheVault } from '../abis/types' -import { TrancheType } from './pool' +import { POOL_ABI_V2, TrancheType } from './pool' import { getPoolInfoV2 } from './poolContract' export const getTrancheVaultContractV2 = async ( @@ -26,7 +26,7 @@ export const getTrancheVaultContractV2 = async ( | 'juniorTrancheVault' return getContract( poolInfo[trancheVault], - poolInfo.trancheVaultAbi, + POOL_ABI_V2.trancheVaultAbi, provider, ) } diff --git a/packages/huma-widget/src/components/CreditLine/borrowV2/3-Transfer.tsx b/packages/huma-widget/src/components/CreditLine/borrowV2/3-Transfer.tsx index bc84802..f6e33fa 100644 --- a/packages/huma-widget/src/components/CreditLine/borrowV2/3-Transfer.tsx +++ b/packages/huma-widget/src/components/CreditLine/borrowV2/3-Transfer.tsx @@ -43,7 +43,7 @@ export function Transfer({ poolInfo }: Props): React.ReactElement { title='Borrow' contract={creditContract} method='drawdown' - params={[account, borrowAmountBN]} + params={[borrowAmountBN]} handleSuccess={handleSuccess} /> ) diff --git a/packages/huma-widget/src/components/InputAmountModal.tsx b/packages/huma-widget/src/components/InputAmountModal.tsx index d03715b..aa835f3 100644 --- a/packages/huma-widget/src/components/InputAmountModal.tsx +++ b/packages/huma-widget/src/components/InputAmountModal.tsx @@ -14,6 +14,7 @@ type Props = { currentAmount: number | string maxAmount: number | string maxAmountText?: string + maxAmountTitle?: string info?: string handleChangeAmount: (amount: number) => void handleAction: () => void @@ -28,6 +29,7 @@ export function InputAmountModal({ currentAmount, maxAmount, maxAmountText = 'MAX', + maxAmountTitle, info, handleChangeAmount, handleAction, @@ -53,23 +55,39 @@ export function InputAmountModal({ line-height: 133.4%; } `, + maxWrapper: css` + position: relative; + display: flex; + justify-content: flex-end; + `, + maxTitle: css` + position: absolute; + color: ${theme.palette.text.primary}; + font-family: 'Uni-Neue-Regular'; + font-size: 12px; + line-height: 166%; + letter-spacing: 0.4px; + top: ${theme.spacing(-3)}; + width: 200px; + text-align: right; + `, max: css` display: flex; min-width: fit-content; justify-content: center; align-items: center; border-radius: 32px; - background: var(--Purple-3, #f7f1ff); + background: #f7f1ff; padding: 4px 10px; gap: 8px; - color: var(--Purple-1, #b246ff); + color: #b246ff; font-family: 'Uni-Neue-Bold'; font-size: 13px; line-height: 22px; letter-spacing: 0.46px; `, info: css` - color: var(--Black-5, #6b6572); + color: ${theme.palette.text.primary}; font-family: 'Uni-Neue-Bold'; font-size: 20px; line-height: 160%; @@ -107,7 +125,14 @@ export function InputAmountModal({ placeholder={`0${suffix}`} variant='standard' InputProps={{ - endAdornment: ( + endAdornment: maxAmountTitle ? ( + + {maxAmountTitle} + + + ) : ( diff --git a/packages/huma-widget/src/components/Lend/addRedemptionV2/2-ChooseAmount.tsx b/packages/huma-widget/src/components/Lend/addRedemptionV2/2-ChooseAmount.tsx index 1bfd43a..e8e2d55 100644 --- a/packages/huma-widget/src/components/Lend/addRedemptionV2/2-ChooseAmount.tsx +++ b/packages/huma-widget/src/components/Lend/addRedemptionV2/2-ChooseAmount.tsx @@ -53,6 +53,7 @@ export function ChooseAmount({ handleChangeAmount={handleChangeShares} maxAmount={maxSharesFormatted} info={`${String(formatNumber(currentAmount))} ${symbol}`} + maxAmountTitle={`${formatNumber(maxSharesFormatted)} Shares`} suffix='Shares' handleAction={handleAction} actionText='REQUEST' diff --git a/packages/huma-widget/src/components/Lend/supplyV2/5-Transfer.tsx b/packages/huma-widget/src/components/Lend/supplyV2/5-Transfer.tsx index 301806d..c0ec815 100644 --- a/packages/huma-widget/src/components/Lend/supplyV2/5-Transfer.tsx +++ b/packages/huma-widget/src/components/Lend/supplyV2/5-Transfer.tsx @@ -52,7 +52,7 @@ export function Transfer({ ) diff --git a/packages/huma-widget/src/components/Lend/withdrawV2/1-ConfirmTransfer.tsx b/packages/huma-widget/src/components/Lend/withdrawV2/1-ConfirmTransfer.tsx index 9f8b401..049574d 100644 --- a/packages/huma-widget/src/components/Lend/withdrawV2/1-ConfirmTransfer.tsx +++ b/packages/huma-widget/src/components/Lend/withdrawV2/1-ConfirmTransfer.tsx @@ -21,6 +21,7 @@ type Props = { tranche: TrancheType poolUnderlyingToken: UnderlyingTokenInfo redemptionStatus: TrancheRedemptionStatus + poolIsClosed: boolean } export function ConfirmTransfer({ @@ -28,6 +29,7 @@ export function ConfirmTransfer({ tranche, poolUnderlyingToken, redemptionStatus, + poolIsClosed, }: Props): React.ReactElement { const theme = useTheme() const dispatch = useDispatch() @@ -105,10 +107,12 @@ export function ConfirmTransfer({ subTitle='Withdraw all the available amount' > - - Shares processed - {sharesProcessed} - + {!poolIsClosed && ( + + Shares processed + {sharesProcessed} + + )} Price Per Share diff --git a/packages/huma-widget/src/components/Lend/withdrawV2/2-Transfer.tsx b/packages/huma-widget/src/components/Lend/withdrawV2/2-Transfer.tsx index 67971de..669fcac 100644 --- a/packages/huma-widget/src/components/Lend/withdrawV2/2-Transfer.tsx +++ b/packages/huma-widget/src/components/Lend/withdrawV2/2-Transfer.tsx @@ -14,11 +14,13 @@ import { TxSendModalV2 } from '../../TxSendModalV2' type Props = { poolInfo: PoolInfoV2 tranche: TrancheType + poolIsClosed: boolean } export function Transfer({ poolInfo, tranche, + poolIsClosed, }: Props): React.ReactElement | null { const dispatch = useAppDispatch() const { account, provider } = useWeb3React() @@ -40,7 +42,7 @@ export function Transfer({ return ( diff --git a/packages/huma-widget/src/components/Lend/withdrawV2/index.tsx b/packages/huma-widget/src/components/Lend/withdrawV2/index.tsx index 1e6befd..095bb00 100644 --- a/packages/huma-widget/src/components/Lend/withdrawV2/index.tsx +++ b/packages/huma-widget/src/components/Lend/withdrawV2/index.tsx @@ -1,4 +1,5 @@ import { + getPoolContractV2, getTrancheRedemptionStatusV2, POOL_NAME, TrancheRedemptionStatus, @@ -7,7 +8,7 @@ import { usePoolUnderlyingTokenInfoV2, } from '@huma-finance/shared' import { useWeb3React } from '@web3-react/core' -import React, { useCallback, useEffect } from 'react' +import React, { useCallback, useEffect, useState } from 'react' import { useDispatch } from 'react-redux' import { useAppSelector } from '../../../hooks/useRedux' @@ -54,6 +55,24 @@ export function LendWithdrawV2({ const [redemptionStatus, setRedemptionStatus] = React.useState< TrancheRedemptionStatus | undefined >() + const [poolIsClosed, setPoolIsClosed] = useState( + undefined, + ) + + useEffect(() => { + const fetchData = async () => { + if (account && provider) { + const result = await getTrancheRedemptionStatusV2( + poolName, + trancheType, + account, + provider, + ) + setRedemptionStatus(result) + } + } + fetchData() + }, [account, poolName, provider, trancheType]) useEffect(() => { const fetchData = async () => { @@ -70,6 +89,19 @@ export function LendWithdrawV2({ fetchData() }, [account, poolName, provider, trancheType]) + useEffect(() => { + const fetchData = async () => { + if (account && provider) { + const poolContract = await getPoolContractV2(poolName, provider) + if (poolContract) { + const poolIsClosed = await poolContract.isPoolClosed() + setPoolIsClosed(poolIsClosed) + } + } + } + fetchData() + }, [account, poolName, provider]) + useEffect(() => { if (!step) { dispatch(setStep(WIDGET_STEP.ConfirmTransfer)) @@ -85,7 +117,12 @@ export function LendWithdrawV2({ [handleSuccess], ) - if (!poolInfo || !poolUnderlyingToken || !redemptionStatus) { + if ( + !poolInfo || + !poolUnderlyingToken || + !redemptionStatus || + poolIsClosed === undefined + ) { return ( )} {step === WIDGET_STEP.Transfer && ( - + )} {step === WIDGET_STEP.Done && (