Variable purchaseBundlerAbiConst

purchaseBundlerAbi: readonly [{
    type: "constructor";
    inputs: readonly [{
        name: "_multiSourceLoanAddress";
        type: "address";
        internalType: "address";
    }, {
        name: "_marketplaceContracts";
        type: "address";
        internalType: "address";
    }, {
        name: "_wethAddress";
        type: "address";
        internalType: "address payable";
    }, {
        name: "_punkMarketAddress";
        type: "address";
        internalType: "address payable";
    }, {
        name: "_wrappedPunkAddress";
        type: "address";
        internalType: "address payable";
    }, {
        name: "__taxes";
        type: "tuple";
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }, {
        name: "_minWaitTime";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "__protocolFee";
        type: "tuple";
        internalType: "struct WithProtocolFee.ProtocolFee";
        components: readonly [{
            name: "recipient";
            type: "address";
            internalType: "address";
        }, {
            name: "fraction";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    stateMutability: "nonpayable";
}, {
    type: "fallback";
    stateMutability: "payable";
}, {
    type: "receive";
    stateMutability: "payable";
}, {
    type: "function";
    name: "FEE_UPDATE_NOTICE";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "MIN_WAIT_TIME";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "TAX_UPDATE_NOTICE";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "afterNFTTransfer";
    inputs: readonly [{
        name: "_loan";
        type: "tuple";
        internalType: "struct IMultiSourceLoan.Loan";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }];
    }, {
        name: "_executionData";
        type: "bytes";
        internalType: "bytes";
    }];
    outputs: readonly [{
        name: "";
        type: "bytes4";
        internalType: "bytes4";
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "afterPrincipalTransfer";
    inputs: readonly [{
        name: "_loan";
        type: "tuple";
        internalType: "struct IMultiSourceLoan.Loan";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }];
    }, {
        name: "_fee";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "_executionData";
        type: "bytes";
        internalType: "bytes";
    }];
    outputs: readonly [{
        name: "";
        type: "bytes4";
        internalType: "bytes4";
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "buy";
    inputs: readonly [{
        name: "_executionData";
        type: "bytes[]";
        internalType: "bytes[]";
    }];
    outputs: readonly [{
        name: "";
        type: "uint256[]";
        internalType: "uint256[]";
    }, {
        name: "";
        type: "tuple[]";
        internalType: "struct IMultiSourceLoan.Loan[]";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    stateMutability: "payable";
}, {
    type: "function";
    name: "executeSell";
    inputs: readonly [{
        name: "_currencies";
        type: "address[]";
        internalType: "contract ERC20[]";
    }, {
        name: "_currencyAmounts";
        type: "uint256[]";
        internalType: "uint256[]";
    }, {
        name: "_collections";
        type: "address[]";
        internalType: "contract ERC721[]";
    }, {
        name: "_tokenIds";
        type: "uint256[]";
        internalType: "uint256[]";
    }, {
        name: "_marketPlace";
        type: "address";
        internalType: "address";
    }, {
        name: "_executionData";
        type: "bytes[]";
        internalType: "bytes[]";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "finalUpdateMultiSourceLoanAddress";
    inputs: readonly [{
        name: "_newAddress";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "getMultiSourceLoanAddress";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getPendingProtocolFee";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "tuple";
        internalType: "struct WithProtocolFee.ProtocolFee";
        components: readonly [{
            name: "recipient";
            type: "address";
            internalType: "address";
        }, {
            name: "fraction";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getPendingProtocolFeeSetTime";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getPendingTaxes";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "tuple";
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getPendingTaxesSetTime";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getProtocolFee";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "tuple";
        internalType: "struct WithProtocolFee.ProtocolFee";
        components: readonly [{
            name: "recipient";
            type: "address";
            internalType: "address";
        }, {
            name: "fraction";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getTaxes";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "tuple";
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "onERC721Received";
    inputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }, {
        name: "";
        type: "address";
        internalType: "address";
    }, {
        name: "";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "";
        type: "bytes";
        internalType: "bytes";
    }];
    outputs: readonly [{
        name: "";
        type: "bytes4";
        internalType: "bytes4";
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "owner";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "pendingOwner";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "pendingOwnerTime";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "requestTransferOwner";
    inputs: readonly [{
        name: "_newOwner";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "sell";
    inputs: readonly [{
        name: "_executionData";
        type: "bytes[]";
        internalType: "bytes[]";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "setProtocolFee";
    inputs: readonly [];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "setTaxes";
    inputs: readonly [];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "transferOwnership";
    inputs: readonly [];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "transferOwnership";
    inputs: readonly [{
        name: "newOwner";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "updateMultiSourceLoanAddressFirst";
    inputs: readonly [{
        name: "_newAddress";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "updateProtocolFee";
    inputs: readonly [{
        name: "_newProtocolFee";
        type: "tuple";
        internalType: "struct WithProtocolFee.ProtocolFee";
        components: readonly [{
            name: "recipient";
            type: "address";
            internalType: "address";
        }, {
            name: "fraction";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "updateTaxes";
    inputs: readonly [{
        name: "_newTaxes";
        type: "tuple";
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "event";
    name: "BNPLLoansStarted";
    inputs: readonly [{
        name: "loanIds";
        type: "uint256[]";
        indexed: false;
        internalType: "uint256[]";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "MultiSourceLoanPendingUpdate";
    inputs: readonly [{
        name: "newAddress";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "MultiSourceLoanUpdated";
    inputs: readonly [{
        name: "newAddress";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "OwnershipTransferred";
    inputs: readonly [{
        name: "user";
        type: "address";
        indexed: true;
        internalType: "address";
    }, {
        name: "newOwner";
        type: "address";
        indexed: true;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "ProtocolFeePendingUpdate";
    inputs: readonly [{
        name: "fee";
        type: "tuple";
        indexed: false;
        internalType: "struct WithProtocolFee.ProtocolFee";
        components: readonly [{
            name: "recipient";
            type: "address";
            internalType: "address";
        }, {
            name: "fraction";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    anonymous: false;
}, {
    type: "event";
    name: "ProtocolFeeUpdated";
    inputs: readonly [{
        name: "fee";
        type: "tuple";
        indexed: false;
        internalType: "struct WithProtocolFee.ProtocolFee";
        components: readonly [{
            name: "recipient";
            type: "address";
            internalType: "address";
        }, {
            name: "fraction";
            type: "uint256";
            internalType: "uint256";
        }];
    }];
    anonymous: false;
}, {
    type: "event";
    name: "SellAndRepayExecuted";
    inputs: readonly [{
        name: "loanIds";
        type: "uint256[]";
        indexed: false;
        internalType: "uint256[]";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "TaxesPendingUpdate";
    inputs: readonly [{
        name: "newTaxes";
        type: "tuple";
        indexed: false;
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }];
    anonymous: false;
}, {
    type: "event";
    name: "TaxesUpdated";
    inputs: readonly [{
        name: "taxes";
        type: "tuple";
        indexed: false;
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }];
    anonymous: false;
}, {
    type: "event";
    name: "TransferOwnerRequested";
    inputs: readonly [{
        name: "newOwner";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "error";
    name: "AddressZeroError";
    inputs: readonly [];
}, {
    type: "error";
    name: "CouldNotReturnEthError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidAddressUpdateError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidCallbackError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidInputError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidTaxesError";
    inputs: readonly [{
        name: "newTaxes";
        type: "tuple";
        internalType: "struct IPurchaseBundler.Taxes";
        components: readonly [{
            name: "buyTax";
            type: "uint128";
            internalType: "uint128";
        }, {
            name: "sellTax";
            type: "uint128";
            internalType: "uint128";
        }];
    }];
}, {
    type: "error";
    name: "MarketplaceAddressNotWhitelisted";
    inputs: readonly [];
}, {
    type: "error";
    name: "OnlyLoanCallableError";
    inputs: readonly [];
}, {
    type: "error";
    name: "OnlyWethSupportedError";
    inputs: readonly [];
}, {
    type: "error";
    name: "TooEarlyError";
    inputs: readonly [{
        name: "_pendingProtocolFeeSetTime";
        type: "uint256";
        internalType: "uint256";
    }];
}, {
    type: "error";
    name: "TooSoonError";
    inputs: readonly [];
}] = ...