Skip to content
This repository has been archived by the owner on May 14, 2021. It is now read-only.

thxprotocol/assetpool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assetpool

The THX assetpool is based on the Diamond standard.

Diamond edits

The Diamond has been edited to allow meta transactions. The _msgSender() is replacing msg.sender, this will retrieve the user that is signing the function in case of a meta transaction, and the sender in case of a 'normal' transaction.

inspiration

Facets

  • AssetPoolFacet
  • GasStationFacet
  • PollFacet
    • RewardPoll
    • RewardPollBypass
    • WithdrawPoll
    • WithdrawPollBypass
  • RolesFacet, (based on openzeppeling standards)

AssetPoolFacet

The core of the solution, this facet creates rewardpolls and withdrawpolls, and enables parameter setters for the polls, like setProposeWithdrawPollDuration

GasStationFacet

The point of entry for the meta/signed transaction.

PollFacet

The different polls, a proxy is being used to generate a storage pointer in the actual implementation. Functions like function vote(bool _agree) can be used without needing to use an id as the first parameter.

RolesFacet

This implemenation is based on the open zeppelin one. Edited to work with external storage and created a ..View so these can be included in other Facets.

TODO: consider upgrading to libraries for this view implementation.

Factory

A factory contract is being to deploy the solution. The factory initialises every facet independently and keeps track of deployed asset pools.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published