MetaFam / TheGame

The platform that MetaGame will be played on aka MetaOS - an open source framework for running decentralized societies. Currently featuring MyMeta Profiles, Dashboard & Quests
https://metagame.wtf
Other
131 stars 78 forks source link

[MyMeta] Add contracting capability to the profiles #547

Open peth-yursick opened 3 years ago

peth-yursick commented 3 years ago

Make it possible for people to contract each other directly from their MyMeta profiles using Smart Invoice by Raid Guild. Somewhere on person's MyMeta profile, there should be a "collab" button. You can check the original designs to see how the button should look.

Clicking the button should open a small prompt with options "contact" & "contract" with the latter opening a window that allows you to set up a Smart Invoice between yourself & the player profile you're interacting with. image

This task needs a designer so that Dan can continue with implementing.

dan13ram commented 3 years ago

This will require some designing before implementation. I'm looking to leverage the smart-contracts behind smartinvoice.xyz for this. Ref: https://github.com/raid-guild/smart-invoice/tree/main/packages/contracts/contracts

The following are important inputs that we would require when two members enter into a "contract", aka smart-invoice:

  1. Client Address - easily available as the first player's address
  2. Service Provider Address - easily available as the other player's address
  3. Arbitation Provider Address - can be any individual or dao - 5% of remaining funds go to this address in case of disputes. also only this address can resolve any disputes. so key points are that this address must be a neutral party and must be always available.
  4. Payment Token - easily fixed as SEED (or xSEED)
  5. Milestone Amounts - first player can define number of milestones as well as how many tokens must be released in each of these milestones
  6. Termination Time - very important. specifies the (block) timestamp after which the tokens deposited in smart-invoice to be available for withdrawal back to the client in case the service provider did not do any work. also signals the last timestamp until which any disputes can be raised by either parties.
  7. Details - IPFS Hash - Currently we are storing the following details w.r.t to each smart-invoice on IPFS and linking them to the smart contract: project name, description, link, end-date and start-date. This is simply for reference. We can add any other metadata here as necessary. (example, we could also store description for each payment milestone)

We also have a subgraph that tracks all of this data, which we can leverage into our hasura: https://thegraph.com/explorer/subgraph/dan13ram/xdai-smart-invoices

Here, Some open questions are:

firattale commented 2 years ago

hi @peth-yursick and @dan13ram , is there any progress here, maybe I could help?

dan13ram commented 2 years ago

Hey @firattale please join the discussions on discord and we can see where you can help. Currently though I'm working on the contracfs :)

Seroxdesign commented 9 months ago

Big issue seems like a MOS task

peth-yursick commented 8 months ago

Big issue seems like a MOS task

The smart contract for this was actually written & wireframes made, just never finished.. Probably won't make sense to prioritize any time soon, I think the MVP should just be linking to https://smartinvoice.xyz/