Giter Club home page Giter Club logo

omnibridge-nft-ui's People

Contributors

akolotov avatar dan13ram avatar sunguru98 avatar ulyanas avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omnibridge-nft-ui's Issues

Vertical scroll for multiple token chosen

Currently if several EIP1155 tokens are chosen to be transferred the table view is used to display them in the "Confirm Transfer" window:

image

Consider to change the size of the preview area as so if several tokens are chosen, the top part of tokens' thumbnails is displayed and the vertical scroll could be used to look through all of them:

image

The same could be applicable for the history tab:
image

[Beta Feedback]: The Hash Avatars

Satisfied:
Very satisfied

Bugs/Issues:

Additional comments:
It is possible to bridge from rinkeby to xdai mainet and the other way. Maybe it will be better to allow bridge between testnets instead of testnet to mainet. Thank you very much!!

Attachment:

[Beta Feedback]: SNAFU

Satisfied:
Somewhat satisfied

Bugs/Issues:
Hi, I bridged an erc1155 nft from xdai to rinkeby and it worked successfully.
I went to https://rinkeby.rarible.com/ and I can see my NFT there, nut when I try to put it on sell rarible fails with this error: this.contract.methods.approve is not a function and this message on console: Create fixed price error TypeError: this.contract.methods.approve is not a function. I don't know if it's a Rarible bug on rinkeby or maybe that function of the contract wasn't included on the mainnet. Could you please give it a check?

This is the contract on xDai: https://blockscout.com/xdai/mainnet/tokens/0xED1eFC6EFCEAAB9F6d609feC89c9E675Bf1efB0a/token-transfers

This is the token I bridged: https://testnets.opensea.io/assets/0x7f52120d9dc822f4b28726c8b4e57f33bcbc71db/17

I also tried this with an ERC721 with a different contract and it worked fine on rarible.

Additional comments:

Attachment:

Allows to disable the claim functionality per direction and per token basis

The issue is to port the functionality of the fungible tokens OB.

In some specific scenarios the bridge oracles can be configured to automatically execute transfers for some specific direction (e.g. Rinkeby-xDai) or for some specific token so there is no need for users to use the claim functionality in this case. Moreover the request to claim tokens confuses users since they could receive the error for the claim operation since it already performed by the oracles.

Consider to provide a configuration parameter available on the app deployment phase as so the claim window will not appear for some specific direction or for the tokens specified in the parameter.

In general the claim functionality could be switched off in several ways:

  • per direction basis, e.g. the claim is required for ETH-xDai but it is not necessary for Rinkeby-xDai
  • per token basis, e.g. the claim is not disabled for entire direction but it is switched off for transfers of some specific token

Discover a transaction replacing the transaction initiated by NFT OB UI

MetaMask allows to replace a transaction by increasing the gas price so the transaction generated by NFT OB UI will be never mined. Consider to improve the transaction tracking process as so it will discover if the transaction was replaced as so the status of the transaction in the modal window is displayed adequately - a new transaction is used to continue tracking.

Minimum quantity by default for EIP1155 tokens

Currently if EIP1155 is being chosen for transfer a modal window to choose amount of tokens appears.

image

Consider to improve the UI behavior by

  1. suggesting a minimum default value 1 if a user owns more than one of such tokens.
  2. skipping the window appearance at all if the user owns just one token.

URL on hover must lead to the token instance

Currently the link on the hover leads to the token contract, so, it is hard to discover the token itself in the block explorer especially for the tokens with very long token id.

Consider to format URL as so it points to the corresponding token page on BlockScout (e.g. https://blockscout.com/xdai/mainnet/tokens/0xe0d25a9eaccc946a016cd046ec1e5cdf413aa110/instance/551/token-transfers) or Etherscan (e.g. https://etherscan.io/token/0x60f80121c31a0d46b5279700f9df786054aa5ee5?a=1000).

[Beta Feedback]:

Satisfied:
Very satisfied

Bugs/Issues:
I didn't find any bugs or problems, the omnibridge website all went well

Additional comments:
my opinion about the nft omnibridge is very good, there are no problems at all i tried to use the rinkbey network to xdai very fast and vice versa xdai to the rinkbey network is also the same "fast for now i can only try on the testnet network due to my very high ethereum network fee can't provide input for testing the nft omnibridge

Attachment:
https://dl.airtable.com/.attachments/2026bd4b8eb0e2a74e7a722435d5d04e/9fd4c645/Screenshot_7.png,https://dl.airtable.com/.attachments/955726ff49e2bfad5b4fde49ff535a8e/ca936b4e/Screenshot_8.png

[Beta Feedback]: OpenSea Rinkeby

Satisfied:
Somewhat dissatisfied

Bugs/Issues:
One more thing.

I tried minting a new NFT on OpenSea (Rinkeby)
It's minted, but doesn't show up on Etherscan Rinkeby bc it's an ERC1155. i can see the txn.
I am expecting to see this 1155 in the Bridge UI, which i think supports 1155s, but do not see it.

Thanks!

Additional comments:

Attachment:

Develop Bridge UI

UI for /bridge

  • skeleton ui with dummy data ( can ignore displaying all user nfts for now, just have input )
  • setup network config with correct data
  • make unlock work for specific token id
  • make unlock work for all
  • make transfers work for foreign to home - erc721
  • make transfers work for foreign to home - erc1155
  • make transfers work for home to foreign
  • make claim work for a home to foreign transfer
  • integrate subgraph to show all user nfts
  • enable select eip721 nft from images
  • enable select eip1155 nft from images (involves modal component)
  • search functionality
  • integrate all of the above for erc1155 if not already done

Don't output the error message "transaction was replaced"

If the claiming transaction was pushed by replacing with a new one with higher gas price, the following message appears in the red tile for few seconds and disappears after that.

Error: transaction was replaced (cancelled=false, reason="repriced", replacement={"hash":"0xa34d80728a381d7fd679b1cb2b629a3f9d7323c433172337f05a05b4326a1274","type":0,"accessList":null,"blockHash":"0xf0964e4b1811b25c965f36d4d3658fcea46078dc3f89402d847c9a57177f45da","blockNumber":12718369,"transactionIndex":61,"confirmations":3,"from":"0xBF3d6f830CE263CAE987193982192Cd990442B53","gasPrice":{"type":"BigNumber","hex":"0x0306dc4200"},"gasLimit":{"type":"BigNumber","hex":"0x12b30c"},"to":"0x4C36d2919e407f0Cc2Ee3c993ccF8ac26d9CE64e","value":{"type":"BigNumber","hex":"0x00"},"nonce":361,"data":"0x3f7658fd0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000001f500050000a7823d6f1e31569f51861e345b30c6bebf70ebe7000000000000528880199c8d04af4c5ceb532adf4463b18bb4b59ffc6c8d0afddbd29a0954feeb73904923fc8f73c480000f42400101806401b701e094000000000000000000000000cf964c89f509a8c0ac36391c5460df94b91daba5000000000000000000000000bf3d6f830ce263cae987193982192cd990442b5300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000018d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a697066733a2f2f697066732f516d514d6a757943535a54617a746e753965366e746d51737866687a373259597035733876736a5a45526144427100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105041c1b1b1b2bc2fd75cfa1a067d885ee629eedcb79ed7350c39817a05d8bcf23298b906fc8fa3b88dd0e0b8f91b7ccc12e1ebfa0e607fcb4543e2aef621a9338d37b78b8a659b7d2cd727608fa596d424cf265a8733fa348f1711e58ec7222a20a3043e93e4451b478cc753ee77a996f55acdd3517604777815e5ca9de94405ef699722e5f7cf36f824bd756c688616c0efb23b1d00be7ed26cc1f6ab7b77ee48ac503b0692256d3fd71922c5e7cbde7ee56ecb67b7fec086e3311ef8879053fbf8f9aad94350963d8c9ee559233dd63130f1d8068952a78f4d7b2ce48e89835df57c450d83818a5a854cd56d9f2f4b0e07d8430d60c0ddd6203beb363e3f68b9f5cf66b33000000000000000000000000000000000000000000000000000000","r":"0xadcfbf480913e9c26219a3b47f4246029d0bf32fb2730ab44159ae2a6a2db177","s":"0x53d4e70ca9699f783373c8fc595ef80750d86aaa5209ad9f6652ed7fb6a266a4","v":37,"creates":null,"chainId":1}, hash="0xea44c1e5732f55e7e051a8746b499f738951d073643571c5e6dfd942dfbb704c", receipt={"to":"0x4C36d2919e407f0Cc2Ee3c993ccF8ac26d9CE64e","from":"0xBF3d6f830CE263CAE987193982192Cd990442B53","contractAddress":null,"transactionIndex":61,"gasUsed":{"type":"BigNumber","hex":"0x063e68"},"logsBloom":"0x00004000000000000000000000000800000010000000000000008000000000000000000010000000000000000400000000040000000000000000000040002000000000000000000000000008000004000000040000000000000000000000000000000000020000000080000000000800000001000000000000000010000000400080000000010001000000000000000000010000000000000000000000000000000001000800000000000800000000000040000000000000008000000000000000000002000000000000000000000000000000000030200100000000000020002000000400008000800000800000000000400000000000000000000000000000","blockHash":"0xf0964e4b1811b25c965f36d4d3658fcea46078dc3f89402d847c9a57177f45da","transactionHash":"0xa34d80728a381d7fd679b1cb2b629a3f9d7323c433172337f05a05b4326a1274","logs":[{"transactionIndex":61,"blockNumber":12718369,"transactionHash":"0xa34d80728a381d7fd679b1cb2b629a3f9d7323c433172337f05a05b4326a1274","address":"0x7a2A993DfFC1bb153e525ba1b597193b6a51BA38","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000bf3d6f830ce263cae987193982192cd990442b53","0x00000000000000000000000000000000000000000000000000000000000018d3"],"data":"0x","logIndex":98,"blockHash":"0xf0964e4b1811b25c965f36d4d3658fcea46078dc3f89402d847c9a57177f45da"},{"transactionIndex":61,"blockNumber":12718369,"transactionHash":"0xa34d80728a381d7fd679b1cb2b629a3f9d7323c433172337f05a05b4326a1274","address":"0x6C8d0AFDDBD29a0954feEB73904923fC8f73C480","topics":["0xdba5aae9a9fef2121c9cd75845616e9a0ab4820000f44140995e6c286ef495db","0x0000000000000000000000007a2a993dffc1bb153e525ba1b597193b6a51ba38","0x000000000000000000000000bf3d6f830ce263cae987193982192cd990442b53","0x00050000a7823d6f1e31569f51861e345b30c6bebf70ebe70000000000005288"],"data":"0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000018d30000000000000000000000000000000000000000000000000000000000000000","logIndex":99,"blockHash":"0xf0964e4b1811b25c965f36d4d3658fcea46078dc3f89402d847c9a57177f45da"},{"transactionIndex":61,"blockNumber":12718369,"transactionHash":"0xa34d80728a381d7fd679b1cb2b629a3f9d7323c433172337f05a05b4326a1274","address":"0x4C36d2919e407f0Cc2Ee3c993ccF8ac26d9CE64e","topics":["0x27333edb8bdcd40a0ae944fb121b5e2d62ea782683946654a0f5e607a908d578","0x00000000000000000000000080199c8d04af4c5ceb532adf4463b18bb4b59ffc","0x0000000000000000000000006c8d0afddbd29a0954feeb73904923fc8f73c480","0x00050000a7823d6f1e31569f51861e345b30c6bebf70ebe70000000000005288"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":100,"blockHash":"0xf0964e4b1811b25c965f36d4d3658fcea46078dc3f89402d847c9a57177f45da"}],"blockNumber":12718369,"confirmations":3,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x50eaac"},"status":1,"byzantium":true}, code=TRANSACTION_REPLACED, version=providers/5.3.1)
    at e.value (https://xdai-omnibridge-nft-staging.web.app/static/js/2.c5459293.chunk.js:2:10898)
    at r.<anonymous> (https://xdai-omnibridge-nft-staging.web.app/static/js/2.c5459293.chunk.js:2:501606)
    at l (https://xdai-omnibridge-nft-staging.web.app/static/js/2.c5459293.chunk.js:2:1205091)
    at Generator._invoke (https://xdai-omnibridge-nft-staging.web.app/static/js/2.c5459293.chunk.js:2:1204879)
    at Generator.next (https://xdai-omnibridge-nft-staging.web.app/static/js/2.c5459293.chunk.js:2:1205516)
    at a (https://xdai-omnibridge-nft-staging.web.app/static/js/2.c5459293.chunk.js:2:484719)

[Beta Feedback]: Eporio: Request for xdai <-> polygon and also the sokol network

name
Eporio

Created
11/7/2021 20:37

Overall, how would you rate your experience with NFT Bridge?
Neutral

If you encounter any issues or bugs, please report here

Additional Comments
Hi, I haven't tested the platform yet, but it looks neat.

My main question is, will it include NFT bridging for xdai <-> polygon and also the sokol network? If you can add these bridges I can do some testing as I am considering adding polygon to the Eporio platform and I will be able to share more constructive feedbacks.

If you have any updates on this topic feel free to email me at [email protected]

[Beta Feedback]:

Satisfied:
Very satisfied

Bugs/Issues:
test / ignore

Additional comments:
test / ignore

Attachment:

Adjustments for a mobile device

Consider to go through general scenarios on the browser embedded in the wallets (e.g. Mobile MetaMask) and make corresponding adjustments of the elements.

E.g. the Transfer button on the screenshot below is hardly recognizable

telegram-cloud-photo-size-2-5456315389458888444-y

Mark failed transfer on the history page

Currently the history page does not reflect failed transfers:

image

The first (Jun, 2) transfer in the list was executed but filed: https://blockscout.com/xdai/mainnet/tx/0x5b08a6cd95ada0053d14a3a5e028d712cd8bf1610263cfc328cb8d04e6f934c4

The second (Jun, 10) transfer was executed successfully: https://blockscout.com/xdai/mainnet/tx/0x980e6309e586c463811dced3bfc0be3b475d695ecb998e887460f8bc92142ce8

Consider to mark the failed transfers like 'Failed' instead of 'Claimed'. Otherwise it could confuse like in the example above: the same token was transferred twice from the Ethereum Mainnet without a transfer from the xDai chain.

Use OpenSea API to get images for ENS NFTs

The ENS NFT contract does not follow the standard and don't provide the tokenURI method so the tokens have no metadata associated with them. That is why the tokens images cannot be displayed for ENS NFTs in the OmniBridge UI.

Consider to hardcode a special handling for the ENS NFTs in the Ethereum Mainnet and their bridged equivalent as so images from OpenSea (https://opensea.io/assets/ens) loaded into the OmniBridge UI.

History page does not work

History page does not work after recent upgrade.
For every chosen direction the "Something went wrong. Please check console for error log" message appears.

Develop History UI

UI for /history

  • make dummy history item
  • integrate subgraph to show correct data
  • make claim work
  • make manual claim work

[Beta Feedback]:

Satisfied:
Very satisfied

Issues/Bugs:
test

Additional comments:
If you have any additional comments or feedback that wasn't addressed above, please feel free to enter them in this section!

Hide "Selected Tokens" area if no tokens are selected

Currently if no tokens selected there is a large gap (unused space) between the element with the text "Advanced" and the field "Search":

image

It makes sense to hide the "Selected Tokens" area until any token is chosen.

[Beta Feedback]: DAOSquare

Satisfied:
Very satisfied

Bugs/Issues:
perfect now!

Additional comments:
i feel it's perfect now, plus, we can think about UI to view NFTs better!

Attachment:

[Beta Feedback]: SNAFU: NFT was already claimed issue while claiming, tx failed

name
SNAFU

Created
11/7/2021 19:41

Overall, how would you rate your experience with NFT Bridge?
Somewhat satisfied

If you encounter any issues or bugs, please report here
When I claimed the transaction it showed me an error: 'NFT was already claimed', but after I closed the popup the NFT was there, so I guess everything went right. But still, there is a failed transaction. I looked better and I actually found that in the same block another claim transaction was successful. Those are the 2 transactions:
SUCCESS: https://rinkeby.etherscan.io/tx/0x3542db7f6a9e6dc922022eb9551ff2c98ba9b6a792c950274dbb9c365e3e55f6
ERROR: https://rinkeby.etherscan.io/tx/0x5ee1f0d15091c6eccd59d48d1bd59a135c9ddaab365c9e285a7b4e3233157ea6

Didn't tried to bridge back yet.

Additional Comments
Very good looking and nice UX, congrats.

[Beta Feedback]: 1Hive Solar

Satisfied:
Very satisfied

Bugs/Issues:
Everything has been good , no bugs ...

  1. I have transferred from xdai to Rinkeby with success
  2. I then transfered back from Rinkeby to xDai to another wallet address and that worked fine aswell.

Additional comments:
The idea for this bridge is great, I like how clean it is and how i found all of my nfts. Thanks xDai team !

Attachment:

Search tokens by address

If a user enters the token address in the search field it is expected that only corresponding tokens will be available for selection. Currently it does not work:

  1. Check that tokens of the contract 0x022E2426227E510123aABaFf4108Ddb6f59c2f8a exist:
    image

  2. Enter 0x022E2426227E510123aABaFf4108Ddb6f59c2f8a in the search field:
    image

Indicate transfer claiming by a spinner

When a transfer is being finalised by pressing the Claim button, it makes sense to indicate that the transaction is not executed yet by a spinner instead of displaying a check mark:

image

"Add to MetaMask" in hover

Consider to add the "Add to MetaMask" icon with the corresponding action to the hover of tokens thumbnails.

Develop Subgraph

We will be developing / using multiple different subgraphs.

  1. to track omnibridge events
  • setup schema for omnibridge subgraph
  • setup correct config for all networks with correct addresses
  • index nft mediator events
  • index amb events and integrate with mediator
  1. to track all erc721s for a given network
  • index all erc721s
  • same schema for all networks
  • deploy for all networks if unavailable
  1. to track all erc1155s for a given network
  • index all erc1155s
  • same schema for all networks
  • deploy for all networks if unavailable

[Beta Feedback]: Peerion

Satisfied:
Somewhat satisfied

Bugs/Issues:
When claiming the token on Rinkeby side, we encountered a contract error. The UI then told us that the token was already claimed. We checked the contract and there it says execution reverted, but after checking if the token made it to our address on Rinkeby, it was there.

Here is the tx: https://rinkeby.etherscan.io/tx/0x7fe931e2bff96f1b2eb8bbc1494e48c845f86e4e52da3a7a63d9a5efb55b120c

Additional comments:
Overall, the UI/UX is very clean and easy to navigate.

Attachment:
https://dl.airtable.com/.attachments/c24a3fce2f92352b31b3bf4cee47dd6f/9fc7f5e6/xDaiNFTBridge.PNG

[Beta Feedback]: Nifty.ink

Satisfied:
Somewhat satisfied

Bugs/Issues:
When starting on xDai Chain and transferring to Rinkeby. The UI provides note "The claim process requires 2 transactions, one on xDai Chain and one on Rinkeby Testnet."

When really, the use of the bridge requires two txns, not the Claim Process. The Claim process will be one txn.

And then when i sent the NFT across the bridge, I was expecting to Claim, but instead received the note: "The tokens were already claimed. Check for your token in Rinkeby Testnet."

So overall, this is a bit unclear and incorrect.

Additional comments:

Attachment:

[Beta Feedback]: D'CENT wallet

Satisfied:
Very satisfied

Bugs/Issues:
I tested the bridge with D'CENT wallet. (through dapp browser)
The network setting is "xDai <--> Rinkeby". I tried to swap my NFT on Rinkeby to xDai. When I click the 'double arrow (Switch direction of bridge)' button, but the button doesn't work. I expect the network setting will be changed from "xDai -> Rinkeby" to "Rinkeby -> xDai".

Additional comments:

Attachment:

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.