Variable leverageABIConst

leverageABI: readonly [{
    stateMutability: "nonpayable";
    type: "constructor";
    inputs: readonly [{
        name: "_multiSourceLoanAddress";
        internalType: "address";
        type: "address";
    }, {
        name: "_marketplaceContracts";
        internalType: "address";
        type: "address";
    }, {
        name: "_wethAddress";
        internalType: "address payable";
        type: "address";
    }, {
        name: "_punkMarketAddress";
        internalType: "address payable";
        type: "address";
    }, {
        name: "_wrappedPunkAddress";
        internalType: "address payable";
        type: "address";
    }, {
        name: "_seaportAddress";
        internalType: "address payable";
        type: "address";
    }];
}, {
    type: "error";
    inputs: readonly [];
    name: "AddressZeroError";
}, {
    type: "error";
    inputs: readonly [];
    name: "CouldNotReturnEthError";
}, {
    type: "error";
    inputs: readonly [];
    name: "InvalidAddressUpdateError";
}, {
    type: "error";
    inputs: readonly [];
    name: "InvalidCallbackError";
}, {
    type: "error";
    inputs: readonly [];
    name: "MarketplaceAddressNotWhitelisted";
}, {
    type: "error";
    inputs: readonly [];
    name: "OnlyMultiSourceLoanError";
}, {
    type: "error";
    inputs: readonly [];
    name: "OnlyWethSupportedError";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "_loanIds";
        internalType: "uint256[]";
        type: "uint256[]";
        indexed: false;
    }];
    name: "BNPLLoansStarted";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
        indexed: false;
    }];
    name: "MultiSourceLoanPendingUpdate";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
        indexed: false;
    }];
    name: "MultiSourceLoanUpdated";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "user";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "newOwner";
        internalType: "address";
        type: "address";
        indexed: true;
    }];
    name: "OwnershipTransferred";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
        indexed: false;
    }];
    name: "SeaportPendingUpdate";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
        indexed: false;
    }];
    name: "SeaportUpdated";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "_loanIds";
        internalType: "uint256[]";
        type: "uint256[]";
        indexed: false;
    }];
    name: "SellAndRepayExecuted";
}, {
    stateMutability: "payable";
    type: "fallback";
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_loan";
        internalType: "struct IMultiSourceLoan.Loan";
        type: "tuple";
        components: readonly [{
            name: "borrower";
            internalType: "address";
            type: "address";
        }, {
            name: "nftCollateralTokenId";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "nftCollateralAddress";
            internalType: "address";
            type: "address";
        }, {
            name: "principalAddress";
            internalType: "address";
            type: "address";
        }, {
            name: "principalAmount";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "startTime";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "duration";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "source";
            internalType: "struct IMultiSourceLoan.Source[]";
            type: "tuple[]";
            components: readonly [{
                name: "loanId";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "lender";
                internalType: "address";
                type: "address";
            }, {
                name: "principalAmount";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "accruedInterest";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "startTime";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "aprBps";
                internalType: "uint256";
                type: "uint256";
            }];
        }];
    }, {
        name: "_executionData";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "afterNFTTransfer";
    outputs: readonly [{
        name: "";
        internalType: "bytes4";
        type: "bytes4";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_loan";
        internalType: "struct IMultiSourceLoan.Loan";
        type: "tuple";
        components: readonly [{
            name: "borrower";
            internalType: "address";
            type: "address";
        }, {
            name: "nftCollateralTokenId";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "nftCollateralAddress";
            internalType: "address";
            type: "address";
        }, {
            name: "principalAddress";
            internalType: "address";
            type: "address";
        }, {
            name: "principalAmount";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "startTime";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "duration";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "source";
            internalType: "struct IMultiSourceLoan.Source[]";
            type: "tuple[]";
            components: readonly [{
                name: "loanId";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "lender";
                internalType: "address";
                type: "address";
            }, {
                name: "principalAmount";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "accruedInterest";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "startTime";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "aprBps";
                internalType: "uint256";
                type: "uint256";
            }];
        }];
    }, {
        name: "_fee";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "_executionData";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "afterPrincipalTransfer";
    outputs: readonly [{
        name: "";
        internalType: "bytes4";
        type: "bytes4";
    }];
}, {
    stateMutability: "payable";
    type: "function";
    inputs: readonly [{
        name: "_executionData";
        internalType: "bytes[]";
        type: "bytes[]";
    }];
    name: "buy";
    outputs: readonly [{
        name: "";
        internalType: "uint256[]";
        type: "uint256[]";
    }, {
        name: "";
        internalType: "struct IMultiSourceLoan.Loan[]";
        type: "tuple[]";
        components: readonly [{
            name: "borrower";
            internalType: "address";
            type: "address";
        }, {
            name: "nftCollateralTokenId";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "nftCollateralAddress";
            internalType: "address";
            type: "address";
        }, {
            name: "principalAddress";
            internalType: "address";
            type: "address";
        }, {
            name: "principalAmount";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "startTime";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "duration";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "source";
            internalType: "struct IMultiSourceLoan.Source[]";
            type: "tuple[]";
            components: readonly [{
                name: "loanId";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "lender";
                internalType: "address";
                type: "address";
            }, {
                name: "principalAmount";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "accruedInterest";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "startTime";
                internalType: "uint256";
                type: "uint256";
            }, {
                name: "aprBps";
                internalType: "uint256";
                type: "uint256";
            }];
        }];
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
    }];
    name: "finalUpdateMultiSourceLoanAddress";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
    }];
    name: "finalUpdateSeaportAddress";
    outputs: readonly [];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "getMultiSourceLoanAddress";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "getSeaportAddress";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }, {
        name: "";
        internalType: "address";
        type: "address";
    }, {
        name: "";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "onERC721Received";
    outputs: readonly [{
        name: "";
        internalType: "bytes4";
        type: "bytes4";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "owner";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_executionData";
        internalType: "bytes[]";
        type: "bytes[]";
    }];
    name: "sell";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "newOwner";
        internalType: "address";
        type: "address";
    }];
    name: "transferOwnership";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
    }];
    name: "updateMultiSourceLoanAddressFirst";
    outputs: readonly [];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "_newAddress";
        internalType: "address";
        type: "address";
    }];
    name: "updateSeaportAddressFirst";
    outputs: readonly [];
}, {
    stateMutability: "payable";
    type: "receive";
}] = ...