This PR builds on top of #336 and addreses the DeepDao's Gitcoin bounty related to supporting vote rewards.
It adds a new functionality to the Vote model that allows you to get all the actions inside the vote script which is a set of codified DAO's app contract calls that are executed once the vote is enacted.
An action has the following fields:
to: The target contract address.
fnData: Data related to the function being called.
-- abi: the ABI function fragment.
-- roles: The ACL roles needed to execute the function.
-- sig: The function signature (e.g. transfer(address,address,uint256)).
-- params: The function parameter values.
-- notice: The function radspec description.
rewards: An array containing all the action rewards. A reward has the following fields:
-- amount: The reward's token amount.
-- receiver: The account that receives the reward.
-- token: The reward's token contract address.
If an action involves a token transfer from the DAO to an account then the rewards field is filled.
Right now, the following are considered to be token transfer actions:
Calls to the Vault/Agent's contract function transfer(address _token, address _to, uint256 _value).
Calls to the Finance's contract function newImmediatePayment(address _token, address _receiver, uint256 _amount, string _reference).
This PR builds on top of #336 and addreses the DeepDao's Gitcoin bounty related to supporting vote rewards.
It adds a new functionality to the
Vote
model that allows you to get all the actions inside the votescript
which is a set of codified DAO's app contract calls that are executed once the vote is enacted.An action has the following fields:
transfer(address,address,uint256)
). -- params: The function parameter values. -- notice: The function radspec description.If an action involves a token transfer from the DAO to an account then the
rewards
field is filled.Right now, the following are considered to be token transfer actions:
transfer(address _token, address _to, uint256 _value)
.newImmediatePayment(address _token, address _receiver, uint256 _amount, string _reference)
.If you want to quickly test the connector with these changes you can use a private subgraph that I deployed just for testing: https://thegraph.com/hosted-service/subgraph/pjcolombo/connect-voting-status
You only need to change the
VOTING_SUBGRAPH_URL
variable value here.