oceanprotocol / aquarius

🐋 Off-chain database store for data assets metadata.
Apache License 2.0
102 stars 45 forks source link

Aquarius is returning outdated information about STRDOL-44 #419

Closed TimDaub closed 3 years ago

TimDaub commented 3 years ago

Consider the URL: https://aquarius.mainnet.oceanprotocol.com/api/v1/aquarius/assets/ddo/did:op:FcB258F7084d2E075270C0D4B1E79a3113E11837 that returns meta data for STRDOL-44 or https://market.oceanprotocol.com/asset/did:op:FcB258F7084d2E075270C0D4B1E79a3113E11837.

Here's the full response:

{
   "@context":"https://w3id.org/did/v1",
   "id":"did:op:FcB258F7084d2E075270C0D4B1E79a3113E11837",
   "publicKey":[
      {
         "id":"did:op:FcB258F7084d2E075270C0D4B1E79a3113E11837",
         "type":"EthereumECDSAKey",
         "owner":"0x6fECa64a95D29D0a07355F1D30DDDa475DEE8828"
      }
   ],
   "authentication":[
      {
         "type":"RsaSignatureAuthentication2018",
         "publicKey":"did:op:FcB258F7084d2E075270C0D4B1E79a3113E11837"
      }
   ],
   "service":[
      {
         "type":"metadata",
         "attributes":{
            "curation":{
               "rating":0.0,
               "numVotes":0,
               "isListed":true
            },
            "main":{
               "type":"dataset",
               "name":"Trump tweets and analytics",
               "dateCreated":"2021-01-10T01:09:59Z",
               "author":"Massimo Verati",
               "license":"GNU",
               "files":[
                  {
                     "contentLength":"3447822",
                     "contentType":"application/zip",
                     "index":0
                  }
               ],
               "datePublished":"2021-01-10T01:42:08Z"
            },
            "additionalInformation":{
               "description":"Trump has made unprecedented use of Twitter from the Oval Office and regularly used it to share thoughts and announcements on politics and diplomacy. For many experts, his penchant for deletion is cause for concern: Under the 1978 Presidential Records Act, Trump's electronic communications are considered public property, and living history.\n\nTrump tweets are an important window into his communications with other politicians, his supporters and the public.\n\nThis asset has three files:\n\n#### 1. All Trump tweets and deletes\n\n#### 2. Trump tweets analytics\n - Over 50k tweets of Donald Trump since 2009\n -  Latest Trump's tweets sentiment\n -  Monthly Trump's tweets frequency \n -  Important topics of Trump's last month tweets\n -  Occurrence-Sentiment Matrix for Trump's latest tweets \n -  Related topics of Trump's latest tweets \n -  Topics and sentiments for Trump's latest tweets\n\n#### 3. Trump tweets sentiment analytics report",
               "tags":[
                  "Dataset",
                  "Trump",
                  "Tweets",
                  "Sentiment",
                  "Analytics"
               ],
               "termsAndConditions":true,
               "links":[
                  {
                     "contentLength":"858",
                     "contentType":"text/html",
                     "url":"http://dataset.freecluster.eu/samples/sample-tweets.csv"
                  }
               ]
            },
            "encryptedFiles":"0x04246b7f6e5d36bf6c93c69d2bcdf2fbd976779c8b38e1f49d2a851bd48664f6bb47261cd9b42306dbe466feaa833764a5dc9435c534aee633c80a79b4486d0efcb5a71a7844256ce3954f28e6b6bccc5af476db3393a77b710cc6b3b8c5fd27e532acfd935d778ca09f50b3db6062a36347bcf86a24cbe69ba56b2eec7621c8d914717c93f579151e45b721249289f1d0188c2232cf517b4537f6aeb0f4aa7382cdbb9d5866693aac44f9dc90c21eacceac80b768432cd2da976ddc7f9eb6b869399ccc0640b73471f17f0faddfa691f4e9e2c102e6ba74a2d15a606c5db7592611da0706239daa9075d5842c6b5bf8a1857df8"
         },
         "index":0
      },
      {
         "type":"access",
         "index":1,
         "serviceEndpoint":"https://provider.mainnet.oceanprotocol.com",
         "attributes":{
            "main":{
               "creator":"0x6fECa64a95D29D0a07355F1D30DDDa475DEE8828",
               "datePublished":"2021-01-10T01:11:10Z",
               "cost":"1",
               "timeout":0,
               "name":"dataAssetAccess"
            }
         }
      }
   ],
   "dataToken":"0xFcB258F7084d2E075270C0D4B1E79a3113E11837",
   "created":"2021-01-10T01:42:00Z",
   "proof":{
      "created":"2021-01-10T01:12:14Z",
      "creator":"0x6fECa64a95D29D0a07355F1D30DDDa475DEE8828",
      "type":"AddressHash",
      "signatureValue":"0xb6716379b568881aa670ba89dfe8d8429bac25f66a7cf0bfc1c67dc1e555977d"
   },
   "dataTokenInfo":{
      "address":"0xFcB258F7084d2E075270C0D4B1E79a3113E11837",
      "name":"Strident Dolphin Token",
      "symbol":"STRDOL-44",
      "decimals":18,
      "totalSupply":300.0,
      "cap":1000.0,
      "minter":"0x6fECa64a95D29D0a07355F1D30DDDa475DEE8828",
      "minterBalance":0.0
   },
   "updated":"2021-01-10T01:42:00Z",
   "accessWhiteList":[

   ],
   "price":{
      "datatoken":222.34037759357432,
      "ocean":796.466725184337,
      "value":1.5417184711833896,
      "type":"pool",
      "address":"0xe13ecbE18440aD471c3C0b095d87a212D5C7EdCb",
      "pools":[
         "0xe13ecbE18440aD471c3C0b095d87a212D5C7EdCb"
      ],
      "isConsumable":"true"
   },
   "isInPurgatory":"false"
}

Note that for the only pool https://etherscan.io/address/0xe13ecbE18440aD471c3C0b095d87a212D5C7EdCb, it shows

"ocean":796.466725184337,

where as, when checking etherscan, the pool contains

Screen Shot 2021-03-19 at 12 19 48

Maybe it's me that has been doing this wrong all along, but I thought that "ocean" represented the total liquidity of Ocean in a pool. I'm now confused for two reasons:

As a sanity check, I also downloaded QUIRCA-0 from aquarius and double-checked its pool: https://aquarius.mainnet.oceanprotocol.com/api/v1/aquarius/assets/ddo/did:op:7Bce67697eD2858d0683c631DdE7Af823b7eea38

{
   "@context":"https://w3id.org/did/v1",
   "id":"did:op:7Bce67697eD2858d0683c631DdE7Af823b7eea38",
   "publicKey":[
      {
         "id":"did:op:7Bce67697eD2858d0683c631DdE7Af823b7eea38",
         "type":"EthereumECDSAKey",
         "owner":"0x655eFe6Eb2021b8CEfE22794d90293aeC37bb325"
      }
   ],
   "authentication":[
      {
         "type":"RsaSignatureAuthentication2018",
         "publicKey":"did:op:7Bce67697eD2858d0683c631DdE7Af823b7eea38"
      }
   ],
   "service":[
      {
         "type":"metadata",
         "attributes":{
            "curation":{
               "rating":0.0,
               "numVotes":0,
               "isListed":true
            },
            "main":{
               "type":"dataset",
               "name":"\ud83d\uddbc  DataUnion.app - Image & Annotation Vault  \ud83d\udcf8",
               "dateCreated":"2020-11-15T12:27:05Z",
               "author":"DataUnion.app",
               "license":"https://market.oceanprotocol.com/terms",
               "files":[
                  {
                     "contentLength":"61",
                     "contentType":"text/plain",
                     "index":0
                  }
               ],
               "datePublished":"2020-11-15T12:27:54Z"
            },
            "additionalInformation":{
               "description":"# Notice\n\nThis dataset and the software stack behind it are under constant development.\n[Check our website for updates.](https://dataunion.app)\nThis dataset will also be migrated to compute-to-data when that will be available in the marketplace.\nThis version is pre alpha so staking is possible but contributions are still not possible. This is due to the time restrictions during Odyssey Momentum where this step will be shown as part of the competition.\nThe initial data contained in the dataset is open source data.\n\n# Description\n\nThis dataset represents a collection of images and annotations. The data is uploaded, annotated and verified by the dataset shareholders in exchange for datatoken rewards.\nParticipants invest their time to gain shares in the dataset and improve its quality.\nThe goal of this dataset is to be used for AI training.\n\nDataUnion.app will run Data Bounties that are looking for specific data and give extra rewards. The reward distributions will be in intervals and not directly for now but these distributions will be announced on our webpage.\n\nThe long term goal of this dataset is to contain millions of crowdsource verified and annotated images. DataUnion.app will also facilitate the training of algorithms. DataUnion.app algorithms will be available via the Ocean Marketplace and we will do an airdrop of 10-20% of the datatokens to the holders of the corresponding vault. We are aiming to create the option of Universal Data Income. Especially for countries with low average salaries compared to e.g. Europe.\n\nAs an example we are working on a trash detection algorithm with [Project.BB](https://project.bb) right now and collecting data for that use case. When the algorithm will be published the contributors of these images will get datatokens in the initial pool of the algorithm.\n\n# Tokenomics\n\nWe will mint more tokens to reward contributors but all of these events as well as the sale of pool equity and the spendings will be documented on our website. We want to be as transparent as possible as we want to strengthen the trust of the community into the project. In the long term we want to migrate to a DAO in the style of the OceanDAO to facilitate longest term growth.\nThere will be Data Bounties that are looking for specific data and will give extra rewards that are sponsored by the the bounty creators.\n\n# Vision\n\nToday large corporations dominate the AI algorithm market. We want to change that by giving everyone the option to participate and become a part of this evergrowing market. The aim is to create the most diverse and comprehensive datasets to create the most acurate and versatile algorithms. We believe a global community of participants will be able to outpace companies without a problem. At the moment we are the product in their data generation machineries but now it is time to take action and use our data for our own profit.\n\n# How will it work\n\n* Login with your Metamask Ethereum wallet - this is your ID, we don't care who you are but that you contribute\n* Upload images via our website - of course don't upload any problematic data and we use mechanisms to stop fraud\n* Annotate images via our website - there will be examples and tutorials\n* Verify images via our website - not your own and verification will be provided from multiple parties before acceptance\n* Claim your rewards when you gathered enough to justify the Gas costs to send out the tokens\n\n# Roadmap\n\nWe are planning our roadmap in many differnt directions:\n* Upload, verification and annotation mechanisms\n* Create a mobile application that includes these mechanisms\n* Add other data vaults e.g. text, sound, and 3D objects\n* Increase decentralisation of our solution by moving the control to smart contracts\n* Allow addition of data while it resides on different storage\n* Algorithm training and sales via Ocean Marketplace - have the data providers become shareholders of that as well\n* Recruit more people and facilitate development via grants\n\n# Community\n\nPlease join our community on [Telegram](https://t.me/dataunionapp) and follow us on [Twitter](https://twitter.com/DataunionA).",
               "tags":[
                  "machine-learning",
                  "ai",
                  "computer-vision",
                  "image",
                  "object-recognition",
                  "crowdsourcing",
                  "growing-dataset",
                  "continuous",
                  "universal-data-income",
                  "social",
                  "worldwide",
                  "user-driven"
               ],
               "links":[
                  {
                     "contentLength":"69",
                     "contentType":"text/plain",
                     "url":"https://dataunion.app/sample_data.txt"
                  }
               ],
               "termsAndConditions":true
            },
            "encryptedFiles":"0x0456fb2b0190ccd575361c7092c4a1ec9ff0194f8bd466519293529b7ffb9047020d585e1c32178318d224a0bf79fbd2d418bae6a9c42ee0efe03f9bc3c6e5993dc74f6ae70f59eb9f74c51a39401044ff0dd4d8f1d951c490e236398811b5834d41de7d1b659997afc1edbef8a4e5f3d348c78fc08b7d10e36cbb835078e45b5df7d9cb2b04c8ac378a1ec39b713cfbf29073265fdfe7c192192f6ac9379da0136faba25a9f69dbe8f61c4aabd7a09e42be63e6c1e16cffb8a6f62c8d82"
         },
         "index":0
      },
      {
         "type":"access",
         "index":1,
         "serviceEndpoint":"https://provider.mainnet.oceanprotocol.com",
         "attributes":{
            "main":{
               "creator":"0x655eFe6Eb2021b8CEfE22794d90293aeC37bb325",
               "datePublished":"2020-11-15T12:27:05Z",
               "cost":"1",
               "timeout":0,
               "name":"dataAssetAccess"
            }
         }
      }
   ],
   "dataToken":"0x7Bce67697eD2858d0683c631DdE7Af823b7eea38",
   "created":"2020-11-15T12:27:38Z",
   "proof":{
      "created":"2020-11-15T12:27:38Z",
      "creator":"0x655eFe6Eb2021b8CEfE22794d90293aeC37bb325",
      "type":"AddressHash",
      "signatureValue":"0xe3484e8e5201c97ae747423b55f078fa31e7a5f955c85e91496bdc62f4992263"
   },
   "dataTokenInfo":{
      "address":"0x7Bce67697eD2858d0683c631DdE7Af823b7eea38",
      "name":"Quiescent Crab Token",
      "symbol":"QUICRA-0",
      "decimals":18,
      "totalSupply":1000.0,
      "cap":1000.0,
      "minter":"0x655eFe6Eb2021b8CEfE22794d90293aeC37bb325",
      "minterBalance":61.010285721798496
   },
   "updated":"2020-11-15T12:27:38Z",
   "accessWhiteList":[

   ],
   "price":{
      "datatoken":476.3928617746251,
      "ocean":489990.8204809585,
      "value":452.7860954742229,
      "type":"pool",
      "address":"0xAAB9EaBa1AA2653c1Dda9846334700b9F5e14E44",
      "pools":[
         "0xAAB9EaBa1AA2653c1Dda9846334700b9F5e14E44",
         "0xa81798FEc662C1A131029B28546Cc80ECd11CB61"
      ],
      "isConsumable":"true"
   },
   "isInPurgatory":"false"
}
Screen Shot 2021-03-19 at 12 24 47

Comparing it to the value on Etherscan, I can confirm that they match my expectations. So I'm guessing that's a bug?

MantisClone commented 3 years ago

I spent some time today trying to debug this issue. Unfortunately, I wasn't able to successfully breakpoint it.

TimDaub commented 3 years ago

FYI to inform priority here: STRDOL-44 has been showing wrong information through Aquarius on rugpullindex.com since the opening of this issue. I'm tempted to manually remove it from my crawl but I'd prefer if Aquarius fixed it.

It also shows bogus stats on the market website that may lead investors to lose money

Screen Shot 2021-04-09 at 17 18 54

Clearly, there's not $5M of liquidity. A short-term workaround could be to temporarily add it to the purgatory list until the bug is resolved. Anyways, pls fix.

TimDaub commented 3 years ago

I proposed a temporary removal in list-purgatory: https://github.com/oceanprotocol/list-purgatory/pull/42

MantisClone commented 3 years ago

I am currently blocked on this issue but am seeking help from other team members.

alexcos20 commented 3 years ago

looks like aquarius was not processing the last EXIT event (https://etherscan.io/tx/0x8077b81c002d729623ac1e66286495f6a8212a48ce19db4aa43fc8baca9a8a0a) and kept the old values

kremalicious commented 3 years ago

so multiple things were leading to the STRDOL-44 pool screenshot showing wrong values:

If Aquarius can be easily made into showing correct numbers, we might release a new version, but in general we are moving away from having price info in the DDO completely. It was always a workaround, never standardized, and will not fit our multi-pool future anyway, so it was decided to scale back Aquarius to what it was supposed to be, a cache for the metadata standardized in our DDO schema. Which is why in last months we slowly replaced pretty much all numbers displayed in market with numbers retrieved from our subgraph query, since the subgraph should be the only source of truth for all financial data

TimDaub commented 3 years ago

It was always a workaround, never standardized, and will not fit our multi-pool future anyway, so it was decided to scale back Aquarius to what it was supposed to be, a cache for the metadata standardized in our DDO schema

OK fair, then I'll start using the subgraph too.

MantisClone commented 3 years ago

... but in general we are moving away from having price info in the DDO completely ... so it was decided to scale back Aquarius to what it was supposed to be, a cache for the metadata standardized in our DDO schema.

Since I'm new to the team, I would require hands-on help from other team members to further debug this issue. However, in light of the quote above, I think our time could be better spent on other tasks. I propose that this issue be marked "won't fix" or whatever the team convention is.

TimDaub commented 3 years ago

thanks 👍🏼