Request form
Cookbook may introduce a token in the future. Share and contribute to be eligible for future airdrops.
close icon
relevant tag icon
Juicebox ERC20 Project Payer
copy icon
Juicebox
• version 1.0.0
Payer
Funding
ERC20
Audited

Juicebox ERC20 Project Payer

Audited

Sends ETH or ERC20's to a project treasury as it receives direct payments or has it's functions called.

*Visit desktop site to download or deploy

Version

1.0.0

Creator

Juicebox

Recent Use

🍞 0x77CA saved

Last Publish

11/23/2022
Any contract you deploy is yours.
Fully owned and controlled by your wallet.
Documentation
Source Code
supportsInterface(bytes4) :
This function checks whether a given interface is supported by the contract. It does this by comparing the given interface ID to the interface ID of the IJBProjectPayer interface. If the two match, the function returns true, otherwise it calls the super.supportsInterface() function to check if the interface is supported by any of the parent contracts. (autogenerated documentation)
setDefaultValues(uint256,address,bool,string,bool) :
This function allows the owner of the contract to set the default values for the projectId, beneficiary, preferClaimedTokens, memo, metadata, and defaultPreferAddToBalance variables. It takes in the new values as parameters and checks if they are different from the current values. If they are, the new values are set and an event is emitted to log the change. (autogenerated documentation)
pay(uint256,address,uint256,uint256,address,uint256,bool,string) :
This function allows a user to pay for a project using either ETH or an ERC20 token. If the user is paying with an ERC20 token, the function will transfer the amount from the user's account to the contract's account. If the user is paying with ETH, the function will use the msg.value to determine the amount of ETH to be paid. The function then calls the _pay() function to complete the payment. (autogenerated documentation)
addToBalanceOf(uint256,address,uint256,uint256,string) :
This function adds a specified amount of a given token to the balance of a project with a given ID. It first checks if the token is ETH, and if it is, it sets the amount to the value of the message and the decimals to 18. If the token is not ETH, it checks if the message value is greater than 0, and if it is, it reverts the transaction. Otherwise, it transfers the specified amount of the token from the sender to the contract address. Finally, it calls the _addToBalanceOf function to add the specified amount of the token to the balance of the project with the given ID. (autogenerated documentation)
_pay(uint256,address,uint256,uint256,address,uint256,bool,string) :
This function is used to pay for a project using a specified token. It first checks to make sure that the payment terminal for the project and token is valid. It then checks to make sure that the amount of decimals for the token is correct. If the token is not ETH, it approves the payment terminal to spend the specified amount of tokens. Finally, it calls the pay function on the payment terminal with the specified parameters. (autogenerated documentation)
_addToBalanceOf(uint256,address,uint256,uint256,string) :
This function adds a specified amount of a given token to the balance of a project with a given ID. It first checks that the primary payment terminal for the project is valid, and that the decimals for the token are correct. If the token is not ETH, it approves the payment terminal to transfer the amount. Finally, it calls the addToBalanceOf function on the payment terminal, passing in the project ID, amount, token, memo, and metadata. (autogenerated documentation)

Get Cookin'
share iconShare

copy iconDownload Source
copy iconnpx cookbookdev i JBETHERC20ProjectPayer
copy icon

Recent Use

🍞 0x77CA saved

Last Publish

11/23/2022

Version

1.0.0

Creator

Juicebox

Cookbook is free.
Any contract you deploy is yours.
Your contract is owned and controlled by you.