hive-keychain/hive-keychain-extension

When purchasing NFT card, the price is not shown!

remirafun opened this issue · 2 comments

When purchasing NFT card/s, the price of purchase is not shown. In other words, users are blindly signing transaction without knowing how much it will cost them.

Keychain doesn't know you are buying a card, it is merely helping you signing a JSON object.
Although if you look at the content of the object you will see the price.

Here's an example :

[
  [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "stoodmonsters"
      ],
      "id": "sm_market_purchase",
      "json": "{\"items\":[\"46a700b35fa40a174845e120574f52f20ba5c94f-0\"],\"price\":0.2,\"currency\":\"DEC\",\"app\":\"steemmonsters/0.7.130\",\"n\":\"qxxLFscDEv\"}"
    }
  ]
]

The point being, as far as the blockchain is concerned this is not a monetary transaction, this is just a broadcast of an object. It is then Splinterlands backend that does interpret it as such.

I was referring to a transaction such as this one https://hiveblocks.com/tx/c50abb8d69677617fa928038563d6afd677da65e

id: ssc-mainnet-hive
json: {"contractName":"nftmarket","contractAction":"buy","contractPayload":
{"symbol":"DCROPS","nfts":["90231"],"marketAccount":"scriptkittie"}}

It seems I made a mistake and thought the problem was with keychain as I thought the price would have been in the transaction... But it seems there is no price inside the transaction itself. This makes me question the Hive Engine. How can a transaction without a price be used to buy NFTs?
Also, the price of a NFT can be changed at any time, thus you can never be certain how much it is going to cost you.