Giter VIP home page Giter VIP logo

cryptocanvas's People

Contributors

k-misztal avatar krisu-pl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cryptocanvas's Issues

As a user, I want to see canvas' transaction history

As a user, I want to see all canvas' transaction history. History should be placed in the details page of canvas and include:

  • History of initial bidding: who won the initial bidding, and all bids placed for canvas.
  • History of all finalized transactions, so when the canvas has changed the owner. Technically, it means whenever function acceptBuyOffer or acceptSellOffer is called.
  • History of all made sell/buy offers. To be discussed if we want that.

Adjust design for mobile

Simple layout, just make it look good on mobile. Hide all controls relating to interacting with the blockchain

Account and Transaction doesn't change for different MetaMask accounts

Account & Transactions doesn't change when I change MetaMask account. It actually seems that it shares all the information across all the MetaMask's accounts. It may be related to #2.

Example: I set all the canvas' pixels using Account 1. Then I switch to Account 2, and I still see transactions called Set pixel to.... It remains the same even if I reload the page.

Fix a Metamask bug

When Metamask account is changed, transactions are still sent from the old one.

Suggestion: what if we reload the page each time MetaMask changes account? It should fix most of the problems of that kind.

Make Transaction List more consistent

Transaction list is not 100% consistent with its texts. There is text: Set pixel to #215 on Canvas 1, and then Buy Offer on Canvas # 1. Let's always prefix canvas' number with # character.

As a user, I want to see even more details about an account

As a user, I want to see even more details about an account. This issue is kind of extension of #14.
Extra details to be included:

  • Information about all made buy offers
  • Information about all made sell offers
  • List of all ever sold items
  • List of all ever bought items
  • All spent ethers
  • All earned ethers

As a user, I want to clearly see in the UI if my transaction is pending.

As a user, I want to clearly see in the website's UI if my transaction is pending. It would be good to add some more loaders, like in the setting pixel transaction. That includes:

  • Add a loader to my account balance when there is pending withdrawal transaction.
  • Add a loader when to canvas details window when there is a get reward transaction pending.
  • Add a loader to initial bidding view, when there is post a bid transaction pending.

Note: if that issue is time-consuming let's move it out of the Release 1.0 milestone.

As a user, I want to see more details about an account

As a user, I want to see more details about an account in account details view. It includes:

  • Add a list of owned canvases.
  • Add a list of initial biddings in which given user participates. It's enough to just show a list of biddings where given user has the highest bid.
  • Account balance section should additionally contain a number of owned canvases.
  • Pixels Painted section should be more detailed and list all the canvases that user placed a pixel on. For instance: _Canvas # 1: 10 pixels, Canvas # 13: 1 pixel.

Add analytics system

Add some analytics system. It doesn't have to be anything fancy. It's totally fine if it only tracks where are our users coming from - if it's a direct link, Facebook campaign, or Reddit post.

Improve the Transaction List modal

Transaction List modal looks a bit messy for me. What I'd do is:

  • Redesign it a bit. Make all the text justified, or something. We can talk about it. Nothing fancy nor time-consuming. I don't want you to spend too much time on this.
  • For completed and failed transaction it'd be awesome to have information how much gas has been used. I think that this is a very important point.

As a user I want to easily find canvases that are put on sale

As a user, I want to easily find canvases that are put for sale. Let's do it in a fairly simple way: let's add a cart icon next to the canvases that are available for sale.

You can use new function for that: getCanvasesWithSellOffer(bool includePrivateOffers).

Investigate events emitted when selling canvas

There seems to be something wrong with emitted events.
When accepting Sell offer, from and to addresses are the same.
When accepting Buy offer by the owner, the amount is 0 and to address is 0x0
image

As a user I want to see if my transaction is completed or failed.

As a user, each time I send a transaction to the Ethereum blockchain, I want to be informed if it completed or failed.

Edit: I created that issue because it was in your ToDoist, but actually it looks like it's done. I think the box in the bottom right corner is just what we need. Please close it if you agree with that.

A pixel loader is barely visible

When I set a pixel loader shows up. The problem is that it's barely visible. Let's change its color. You can see the screenshot below.

screen_shot_2018-04-20_at_13_35_18

Should we display "Paint Pixel Transaction sent" modal?

I've been wondering if we should display Paint Pixel Transaction sent modal. Setting pixel is an operation that will be probably done a lot of times. Now, to do that, a user has to click 5 times.

Wouldn't it be better, if we display some kind of Toast/BottomBar notification that doesn't block a user from further interactions?

Let's discuss it here, and if needed create an appropriate issue.

As a user I want to see more scaled gas limit.

As a user, I want to see a well-scaled gas limit. Right now it's as high as 3.000.000 which suggests our transactions are way more expensive than they really are. According to my gas calculator, it should be enough to set a limit to 150.000. Below I paste functions' gas cost.

Gas costs for a canvas of 4096 pixels:

Function Gas cost
createCanvas() 91852
setPixel() (new one) 96671
setPixel() (update) 51946
setPixel() (last one) 63765
makeBid() (first one) 114453
makeBid() (outbidding someone) 78442
addRewardToPendingWithdrawals() 63942
addCommissionToPendingWithdrawals() 57424
setMinimumBidAmount() 27502
offerCanvasForSaleToAddress() 95385
offerCanvasForSale() 33153
cancelSellOffer() 32752
acceptSellOffer() 87970
acceptSellOffer() (when having buy offer posted) 66278
makeBuyOffer() 73882
makeBuyOffer() (outbidding someone) 51805
cancelBuyOffer() 35522
acceptBuyOffer() 57065
withdraw() 22677

As a user, I want to see who offered canvas for sale or cancelled the offer

And as a developer I want transaction history table to be consistent :P Therefore I need to add a canvas owner address to the "from" field of the CanvasOfferedForSale (Sell Offer) and CanvasNoLongerForSale (Sell Offer Cancelled) events.

Please add an indexed field from to those events, a field to in case a sell offer was for a specified address, and a field amount

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.