Releases: cyberway/golos.contracts
Golos dApp v2.0.3
Golos dApp v2.0.2
Golos dApp v2.0.2 Release Notes
Version v2.0.1 contains next changes:
#928 Forbid delpermlink for posts in cashout window
Bug fixed
Fixed a situation where delpermlink
and delpermlinks
methods from gls.publish
contract could remove the permlink in use. Now these methods throws an error if the permlink to the post that is currently in the cashout window is deleted.
#918 Implement witn.one permission for leaders
New feature
The gls.ctrl
contract creates witn.one
authority (along with the rest) when changing the list of leaders. To use this authority, only one signature is required from the Golos dApp leaders.
Additional changes
New feature
Authority granted to contracts, so that the site golos.io
will be able to fill in the missing information in the contract tables independently, without the need to approve each transaction by application leaders.
The golos.io
website now given the opportunity to invoke the following actions:
- in the contract
golos.publication
:addpermlink
,addpermlinks
,delpermlink
,delpermlinks
- in the contract
golos.social
:addpin
addblock
Golos dApp v2.0.1 Release Notes
Golos dApp v2.0.1 Release Notes
Version v2.0.1 contains changes to eliminate the problem appearing after changing a rewards curve when paying funds to authors and curators for posts.
Problem description
There is a special pool in the golos.publication
smart contract for payment of rewards to authors and curators. Rewards for posts are paid in accordance with the specified function — the rewards curve. After a recent change of this curve, golos.publication
contract began to use all the funds that were on its balance sheet for the new rewards pool.
As a result, there was a discrepancy between amount of funds on the contract balance and amount of funds that were distributed between the old and new pools of rewards with the specified function.
Solution to the problem
The reason for such behavior of the contract was incorrectly specified accuracy of rewards calculation in formed transactions. The @golosio team fixed transaction formation to change the curve for calculating rewards. In addition, this team added a check for accuracy to the setrules
action. However, these fixes did not resolve the problem completely. It was also required to balance the pools within the contract.
To finally fix the problem the new action syncpool
was added to the golos.publication
contract. This action redistributes the funds available on the golos.publication
balance sheet between existing reward pools. Redistribution is performed taking into account the total rshares
of all posts located in these pools.
Note: the syncpool
action can be performed only by application leaders.
The bugs fixed in version v2.0.1
#917 Implemented action to sync funds with balance**
The syncpool()
method has been added to the golos.publication
contract for redistributing the funds between existing reward pools. This method includes two actions: the first one is removes pool with empty shares, if there are more than one pool and the second one is synchronize pool balance
#919 Fixed calculation of the number of messages in the rewardpool on delete a post/comment
Bug description
The number of messages to a post was incorrect in the reward pool in case a post or comment were deleted.
Bug fixed
The calculation of messages in the rewards pool has been modified taking into account deleting a post or comment.
#907 Implementation of addpin/addblock actions in golos.social contract
New feature
New methods addpin
and addblock
have been added to golos.social
contract. The blacklist and subscription were stored inside the contracts at request of the application leaders. These new methods will be used to fill in the missing blacklist entries and user subscriptions.
#893 Implementation of addpermlink/delpermlink actions
Bug description
The contract golos.publication
did not have access to information about posts closed before transit and, accordingly, commenting on such posts was impossible.
Bug fixed
New methods addpermlink
and delpermlink
have been implemented in golos.publication
for adding information about closed posts.
#902 The action golos.vesting:create checks the notify_acc
New feature
Authority granted to contracts, so that the site golos.io
will be able to fill in the missing information in the contract tables independently, without the need to approve each transaction by application leaders.
The golos.io
website now given the opportunity to invoke the following actions:
- in the contract
golos.publication
:addpermlink
,addpermlinks
,delpermlink
,delpermlinks
- in the contract
golos.social
:addpin
addblock
Golos dApp v2.0.0 Release Notes
Golos•Core Team introduces a kit of contracts implementing the dApp Golos Core. This kit includes the smart contracts: golos.ctrl
, golos.emit
, golos.config
, golos.vesting
, golos.publication
, golos.charge
, golos.social
, golos.referral
and golos.memo
.
golos.charge
golos.charge
smart contract performs an applied function — it allows to limit user activity in creating posts, comments, and also in voting for posts. There is no direct user interaction with the golos.charge
smart contact, recourse to actions occurs through golos.publication
smart contract.
golos.ctrl
golos.ctrl
smart contract implements logic for election of witnesses, including the following:
- a registering procedure for an account as a candidate for a witness;
- a voting procedure for election of a witness;
- determining a list of the most rated witnesses.
The golos.ctrl
smart contract contains settings that apply to the Golos application as a whole. These settings can be used to the change parameters of any subsystems (for example, emission distribution between pools). Other Golos application smart contracts can access the golos.ctrl
smart contract and get these settings, percentage ratios of the funds distributed by pools, limits on battery resources. Also, the smart contracts can obtain a list of the most rated witnesses with corresponding authority values. This makes it possible to verify the authenticity of actions certified by witnesses.
golos.emit
Tokens in the smart contract golos.emit
are emitted according to the algorithm specified in the parameter settings. New tokens are distributed between smart contract reward pools, such as golos.vesting
, golos.publication
, golos.ctrl
in accordance with the settings of the golos.emit
smart contract parameters. Funds from the vesting pool are accrued to the owners of vesting, from the publication pool — to the authors and curators of posts.
golos.referral
The golos.referral
smart contract contains the logic of referral program rewarding users who invite their friends or third parties to register in the Golos application via social networks (for example, by viewing third-party publications or posting their own posts about the blockchain). The logic of the referral program defines one user as a referrer with respect to another (referral). The smart contract contains algorithm for calculating the reward for a post, as well as algorithm for the completion of the referral program, including the completion at the initiative of the referral user through the redemption of his account.
golos.publication
The golos.publication
smart contract provides users to perform actions on posts, including:
- publishing posts;
- leaving comments to posts;
- voting for posts;
- closing posts.
In addition, this contract contains logic for determining the payments to authors, curators and beneficiaries of posts.
golos.social
The golos.social
smart contract provides users the following operations:
- creating and editing user profiles (metadata).
- pin-list establishment that allows its owner to receive information about the publications of users that he/she is interested in.
- the establishment of a so-called «black» list allowing to block communication between the owner of this list and any unwanted users.
golos.vesting
golos.vesting
smart contract provides binding of the vesting to a token created by cyber.token
smart contract.
The golos.vesting smart contract supports the following operations:
- creation/«burning» of the vesting by a user;
- delegation of funds in the form of the vesting to another user;
- accrual of the vesting to authors and curators from the reward pool;
- replenishment of the pool with funds received from the golos.emit smart contract.
golos.memo
The golos.memo smart contract provides storage of user`s memo keys. These keys can be used to encrypt transfers in the application. Currently, this contract does not allow a user to add or remove memo keys. It just provides storage of memo keys imported from the genesis, in case, they can be used in future.
Golos dApp v2.0.0-rc2 Release Notes
Description is coming soon...
Golos dApp v2.0.0-rc1 Release Notes
Description is coming soon ...