Rewards Tracking & Payout Contracts

The calculation and disbursement of rewards is managed through 2 contract:

  1. Rewards Tracking Contract - This contract is responsible for keeping a record of earned tokens and updating it every time a job is completed.

  2. Governance Action Tracker Contract - This contract keeps track of all governance functions done by all users across various contracts

  3. Rewards Payout Contract - This contract is on Ethereum and is responsible for paying out the tokens once all conditions are met.

Feature
Description

Rewards(Earned Tokens) are given at the completion of each job to the Job Giver & Referrers based on the ratios related to the total job value on OpenWork.

Struct : Earned Tokens { [address:tokens,...]

} Every time someone releases a payment in the job contracts: updateRewards(jobID){ getJobGiver(jobID) getReferrer(jobGiver_address) getJobTaker(jobID) getReferrer(jobTaker_address) updateEarnedToken(jobGiver_address, jobTaker_adress) }

Tokens are issued upon job completion based on cumulative platform value & bands listed on the Rewards Table

The total job value can be fetched from the Native OpenWork Contract to determine the right amount of rewards to be distributed. The token price in relation to USD will be fetched from a uniswap pool. To create this pool, we just need to go to the uniswap and create a pool, get the link to the pool and link it on our contract so that it can fetch the price of the token.

If a referrer exists, 10% of tokens go to the referrer and 90% to the job giver; otherwise, the job giver receives 100%.

A job taker’s referrer also earns 10% of the fee

People with earned tokens can redeem tokens by performing governance actions, like submitting a proposal or voting of any kind(proposal voting, dispute voting, skill verification voting, skill question voting) based on the Rewards Table

Tokens are claimable once the necessary governance actions are done, or can be re-staked. Tokens can only be claimed within 1 year of earning them. This value should be updatable.

An earner can call the claimRewards function after they have completed the necessary number of Governance actions for the amount of tokens they are trying to claim. The tokens will be transferred to their wallet after 1 month of safety period.

Further, job givers can allocate a percentage of some tokens to the job takers based on their agreements with them [of the pool given to them]

Last updated