ubiquity / ubiquibot

Putting the 'A' in 'DAO'
https://github.com/marketplace/ubiquibot
MIT License
17 stars 60 forks source link

Comment Metadata #775

Open 0x4007 opened 12 months ago

0x4007 commented 12 months ago

The bot needs to begin relying on standardized comment metadata to understand the intent behind its comments across all comments it leaves.

Let's collaboratively figure out a standardized schema. To start, I'm combining some details that could be useful:


{
  "payments": [
    {
      // https://github.com/ubiquity/ubiquibot/issues/752
      "rewards": {
        "issueIssuer": 50, // Not sure if we should use BigNumber in the context of GitHub rewards, but it seems sensible to stick with a single number format; referring to the permit amounts at the bottom of this object. 
        "issueAssignee": 0,
        "issueCollaborator": 15,
        "issueDefault": 0,
        "reviewIssuer": 0,
        "reviewAssignee": 0,
        "reviewCollaborator": 35,
        "reviewDefault": 0
      },
      // Combined GitHub & DevPool user details 
      "user": {
        // GitHub user API details
        "github": {
          "login": "pavlovcik",
          "id": 4975670,
          "node_id": "MDQ6VXNlcjQ5NzU2NzA="
        },
        // User query details
        "devpool": {
          "wallet": "0x4007CE2083c7F3E18097aeB3A39bb8eC149a341d",
          "debt": 0,
          "multiplier": 1,
          "multiplier_reason": null,
          "xp_repo": 100,
          "xp_org": 125,
          "xp_global": 150
        }
      },
      // Taken from a generated permit in pay.ubq.fi
      "permit": {
        "permitted": {
          "token": "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",
          "amount": "100000000000000000000"
        },
        "nonce": "13542947074111652719901668005035019681223431334697979444189644619207253239819",
        "deadline": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
      },
      "transferDetails": {
        "to": "0x4007CE2083c7F3E18097aeB3A39bb8eC149a341d",
        "requestedAmount": "100000000000000000000"
      },
      "owner": "0xf87ca4583C792212e52720d127E7E0A38B818aD1",
      "signature": "0xf1967e05c37895f9bcd258bd830027994016d0666d6413f2d5ed7dc4aa26d2ae5d72f0fdc4d8a3c4d3569039c2c5cb705b4f0a3fe50fd00263641ad524005e141b"
    }
  ]
}

It seems penalties were implemented back when there was only the assignee reward and no creator/conversation rewards so it just looks for a first claim URL. We should fix this and try to switch to comment metadata as soon as possible

Originally posted by @whilefoo in https://github.com/ubiquity/ubiquibot/issues/768#issuecomment-1719116182