Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MyMeta] Add contracting capability to the profiles #547

Open
peth-yursick opened this issue May 11, 2021 · 5 comments
Open

[MyMeta] Add contracting capability to the profiles #547

peth-yursick opened this issue May 11, 2021 · 5 comments
Assignees
Labels
backend Backend related issues design needed UI Design related work dework frontend Front end related issues / features help wanted Extra attention is needed

Comments

@peth-yursick
Copy link
Member

peth-yursick commented May 11, 2021

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
Copy link
Member

dan13ram commented May 12, 2021

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:

  • How do we decide the "3. Arbitration Provider Address" for any contract between two parties?
  • Currently the contracts are deployed only on xDai. So we can support only xSEED or WXDAI for "4. Payment Token". Is that alright?
  • Is there any additional metadata we need to store in "7. Details" ?
  • Do we need any other data stored in our hasura to track these smart-invoices between MetaGame players.
  • Do we need a UI where players can view existing smart-invoices they are contracted to?
  • How much of this do we need to implement on MyMeta and how much we want to leverage from smartinvoice.xyz ?

@dan13ram dan13ram added design needed UI Design related work backend Backend related issues frontend Front end related issues / features clarification needed needs discussion/clarification help wanted Extra attention is needed and removed clarification needed needs discussion/clarification labels May 19, 2021
@peth-yursick peth-yursick mentioned this issue Nov 11, 2021
71 tasks
@firattale
Copy link
Contributor

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

@dan13ram
Copy link
Member

dan13ram commented Jan 5, 2022

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
Copy link
Contributor

Big issue seems like a MOS task

@peth-yursick
Copy link
Member Author

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend related issues design needed UI Design related work dework frontend Front end related issues / features help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants