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";
}] = ...