relevant tag icon
Royalty Splitter
copy icon
OpenZeppelin
• version 0.0.5
Utility
Finance
Deployable
Audited

Royalty Splitter

Audited

This contract allows payments to be split among a group of accounts. The split can be in equal parts or set in percentages. The way this is specified is by assigning each account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim an amount proportional to the percentage of total shares they were assigned. The distribution of shares is set when you deploy the contract and can't be updated afterwards. Payments must be claimed from the contract by each user. NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you to run tests before sending real value to this contract.

*Visit desktop site to download or deploy

Version

0.0.5

Recent Use

🍞 0x77CA downloaded
🥐 0xb2A3 downloaded
🥖 0x77eA downloaded
🥨 0x9492 deployed
🥯 0x9492 deployed
🥞 0x9492 deployed
🧀 0x9492 deployed

Last Publish

9/6/2022
Any contract you deploy is yours.
Fully owned and controlled by your wallet.
Documentation
Source Code
payee(uint256) :
Getter for the address of the payee number `index`.
releasable(address) :
Getter for the amount of payee's releasable Ether.
releasable(address,address) :
Getter for the amount of payee's releasable `token` tokens. `token` should be the address of an IERC20 contract.
release(address) :
Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the total shares and their previous withdrawals.
release(address,address) :
Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20 contract.
released(address) :
Getter for the amount of Ether already released to a payee.
released(address,address) :
Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an IERC20 contract.
shares(address) :
Getter for the amount of shares held by an account.
totalReleased() :
Getter for the total amount of Ether already released.
totalReleased(address) :
Getter for the total amount of `token` already released. `token` should be the address of an IERC20 contract.
totalShares() :
Getter for the total shares held by payees.

Get Cookin'
share iconShare

copy iconNo-Code Deploy
copy iconDownload Source
copy iconnpx cookbookdev i royalty-splitter
copy icon

Bytecode

Download

Verification

Download

Recent Use

🍞 0x77CA downloaded
🥐 0xb2A3 downloaded
🥖 0x77eA downloaded
🥨 0x9492 deployed
🥯 0x9492 deployed
🥞 0x9492 deployed
🧀 0x9492 deployed

Last Publish

9/6/2022

Solidity Compiler

0.8.12+commit.f00d7308

Version

0.0.5

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