Request form
Royalty Splitter
  • Utility
  • Finance
  • Audited
  • No-Code Deploy
  • Docs
    Source
    ChefGPT

    Royalty Splitter

    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.

    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.
    royalty-splitter.sol
    SafeERC20.sol
    Address.sol
    Context.sol
    IERC20.sol
    draft-IERC20Permit.sol
    ABI:
    Bytecode:

    135 downloads

    Solidity Version

    0.8.12
    OpenZeppelin / Royalty Splitter
  • Utility
  • Finance
  • Audited
  • No-Code Deploy
  • Docs
    Source
    ChefGPT
    Expand
    Share

    Royalty Splitter

    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.

    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.
    royalty-splitter.sol
    SafeERC20.sol
    Address.sol
    Context.sol
    IERC20.sol
    draft-IERC20Permit.sol
    ABI:
    Bytecode:

    Get Cookin'
    star icon135

    135 downloads

    Solidity Version

    0.8.12