项目作者: pironmind

项目描述 :
EIP, ethereum protocol, token action ethereum implimentation, token action protocol, action on solidity
高级语言: JavaScript
项目地址: git://github.com/pironmind/TokenActionProtocol.git
创建时间: 2019-03-25T21:59:17Z
项目社区:https://github.com/pironmind/TokenActionProtocol

开源协议:

下载


TokenActionProtocol

EIP, ethereum protocol, token action ethereum implimentation, token action protocol, action on solidity

EIP

  1. ---
  2. eip: <to be assigned>
  3. title: <EIP title>
  4. author: <a list of the author's or authors' name(s) and/or username(s), or name(s) and email(s), e.g. (use with the parentheses or triangular brackets): FirstName LastName (@GitHubUsername), FirstName LastName <foo@bar.com>, FirstName (@GitHubUsername) and GitHubUsername (@GitHubUsername)>
  5. discussions-to: <URL>
  6. status: Draft
  7. type: <Standards Track (Core, Networking, Interface, ERC) | Informational | Meta>
  8. category (*only required for Standard Track): <Core | Networking | Interface | ERC>
  9. created: <date created on, in ISO 8601 (yyyy-mm-dd) format>
  10. requires (*optional): <EIP number(s)>
  11. replaces (*optional): <EIP number(s)>
  12. ---

Simple Summary

Health alternative for crypto ecosystem. Transition from utility tokens to action tokens.

Abstract

Not ready

Motivation

Almost anything ethereum tokens is utility and you as investor do not have any rights on company profits,
it is profitable for business, but not profitable for us.
But if we could be possible to change it now, in cryptocurrency technologies age.
I see no reason for us to make the crowdsalers pay us a legitimate income.

Specification

Consensus

1) At the first stage, we determine the owner of the token, and only the true owner, can create a contract wrapper TAP.
For this purpose, the contract is ConfrimOwnership.

2) Second, the owner receives all shares in the amount of totalsupply from EPC 20 token.

3) Third, the distribution of shares occurs at the will of the creator.

4) Fourth, the restriction on the transfer of rights, requires that the recipient on the account have more or equivalent balance in relation to the ERC20 balance. Those. the recipient must have an equivalent balance in order to prove that he, at least at the moment of receipt, is the real holder of the asset.

5) The fifth. The recalculation of the David takes place at a predetermined time limit, and when the legal balance is changed, the recalculation and accrual of the Devian occurs, under the conditions specified in the contract.

6) The sixth. The outputs are output through the withdraw pattern, the withdraw function.

TAP interface
  1. /**
  2. * @dev Return current rightholders balance, this balance show your real action balance
  3. * @param rightholder <address>
  4. */
  5. function rightsOf(address rightholder) external view returns (uint256);
  6. /**
  7. * @dev Transfer rights. Use when need to sell your active.
  8. * @param to
  9. * @param amount
  10. */
  11. function transferOfRights(address to, uint256 amount) external returns(bool);
  12. /**
  13. * @dev Allow another balance spend the current balance.
  14. * @param to
  15. * @param amount
  16. */
  17. function rightToTransfer(address from, address to, uint256 amount) external returns(bool);
  18. /**
  19. * @dev Using for transfer tokens with rights.
  20. * Economical function make double send if you need.
  21. * Do not use for transfer to exchanges.
  22. * @param to
  23. * @param amount
  24. */
  25. function transferWithRights(address to, uint256 amount) external returns(bool);
  26. /**
  27. * @dev Call to get your devidents. You need execute func.withdrawalRequest() before.
  28. */
  29. function getDividends() external returns (bool);
  30. /**
  31. * @dev Emits when rights transfer to new rightholder.
  32. * @param rightholder tx sender
  33. * @param newRightholder tx spender
  34. * @param amount tx value
  35. */
  36. event RightsTransfer(address indexed rightholder, address indexed newRightholder, uint256 indexed amount);
  37. /**
  38. * @dev Emits when rights transfer to new rightholder.
  39. * @param rightholder tx sender
  40. * @param newRightholder tx allowed address
  41. * @param amount tx value
  42. */
  43. event RightsApproval(address indexed rightholder, address indexed newRightholder, uint amount);
  44. /**
  45. * @dev Emits when calculating dividends and crediting to balance.
  46. * @param rightholder
  47. * @param amount
  48. */
  49. event AccrualDividends(address indexed rightholder, uint amount);

Rationale

Not ready

Backwards Compatibility

Not ready

Test Cases

Could be found here https://github.com/pironmind/TokenActionProtocol/test

Implementation

Could be found here https://github.com/pironmind/TokenActionProtocol/contracts

Copyright

Copyright by pironmind - link https://github.com/pironmind | paul.bolhar@gmail.com