Developers Forum for XinFin XDC Network

Cover image for BlocksScan Contributed towards XDCPay 2.0 and It's ready for Beta Testing.
BlocksScan
BlocksScan

Posted on

BlocksScan Contributed towards XDCPay 2.0 and It's ready for Beta Testing.

Hello,

Greetings from BlocksScan ! ! !

We are glad to inform you that BlocksScan is adding contributions towards XDC Network Ecosystem and we have successfully upgraded XDCPay 2.0 with the latest code of Metamask (before its license applied).

XDCPay browser extension wallet Beta version is now available for testing within the XDC Community.

Image description

Github Link: https://github.com/XinFinOrg/XDCPay/pull/11

Issues which is Fixed:

  • Fixed UI broken after submitting incorrect password on reveal seed phrase screen
  • Fixed verifies password on requesting seed phrase
  • Fixed timing-reliant network controller test
  • Fixed connection removal bug
  • Fix no-case-declarations issues
  • Fixed import/extensions issues
  • Fixed import/order issues
  • Fixed radix issues

Download Link: https://download.blocksscan.io/XDCPay2.0_Beta/

Now, you can download the XDCPay2.0_Beta browser extension for Brave Browser, Chrome, FireFox Browser and Opera.

Image description

Steps to Follow:

  • Unzip the downloaded file.
  • Open your chrome → Visit “Manage Extensions” setting(Find Puzzle icon, on the right side of the URL bar) → On the “Developer Mode”
  • Now click on the “Load Unpacked” option to import your XDCPay file, By clicking on Load Unpacked, the user needs to select the unzipped file from the folder.
  • Once done, Users will be able to see the XDCPay symbol on their URL bar.

Suggestion Form: https://forms.gle/eEcEtCJEeLNnBxA56

Please provide us with your feedback on the list of issues and your suggestion in the discussion box or update the same in the above suggestion form to implement the same before going live.

Also, we will look forward to your suggestion or guidance on our below Roadmap 2023.

BlocksScan, need your suggestion: https://www.xdc.dev/blocksscan/blocksscan-needs-your-suggestion-554k

Thank you and Wishing you a Happy New Year.

Discussion (28)

Collapse
coincow_art_a9fac6bf88081 profile image
CoinCow Art

Hi, Thanks for the great works.
Let me ask you a question.
Is there any way to check if a user I have created a web page and connected XDCPay to owns the NFT I have created, using javascript, php, etc.?

Collapse
s4njk4n profile image
s4njk4n

Can we backup/restore wallet address labels? (I know of many people using a lot of addresses in XDCpay). Anytime they change browser and/or computer it is challenging to relabel tens (and in some cases hundreds) of wallets.

The ability to backup and restore them would be amazing

Collapse
ivan_blocksscan profile image
Ivan_BlocksScan

Hello @s4njk4n

The team is exploring how we can add the accounts automatically with a seed phrase.

For now, If you are importing your old account with a seed phrase, all your accounts will be recovered. For this, you need to click the "Create Account" button, to recover your account related to that seed phrase.

In XDCPay 1.0, if you have imported some accounts with Private Key or with Keystore file, then make sure you are doing the same thing in XDCPay 2.0 so that it will restore the imported accounts.

You can download the stats log to know the Account Names(Address labels), To download the "stats log": Visit Settings -> Advanced setting -> "Download Stats Log".

Collapse
s4njk4n profile image
s4njk4n • Edited on

Thank Ivan. For the users I'm referring to, the wallet addresses themselves wont be a problem as they're all imported from Trezor so they can just reimport them all as normal whenever setting up a new instance of XDCpay. Its more the actual labels that are ascribed to each wallet address to describe its purpose. Its great to be able to download them in the Stats Log. I guess what I'm getting at is that when setting up a new instance of XDCpay it would be great to be able to just import all the Address labels instead of having to manually type them all every time a new instance of XDCpay is installed/setup. In a situation where one would have 50 or even 400 wallet addresses, this process becomes very cumbersome at present (and yes I do know several people who have and actively use this many wallet addresses so I'm not just theorising). How do we get this functionality added?

Collapse
xdcdomains profile image
XDC Web3 Domains

Can you consider integrating xdc domain so that users can send and receive using their .xdc.

We already have libraries for integration, looking forward to your review. Thanks

github.com/XDCWeb3Domains/xdcdomainjs

github.com/XDCWeb3Domains/restfulAPI

Collapse
blocksscan profile image
BlocksScan Author

Yes definitely, We would go for vote from community to get it integrated in XDCPay.

Collapse
xcantera profile image
Arturo Cantera Carrasco

xdc.dev/uploads/articles/tr9b96eim...
Same error of XDCpay, when you try to list an NFT it fails.

xdc.dev/uploads/articles/3048y6k0b...
Same error of XDCpay, when you try to use snapshot.org

The Error is that XDCpay 2.0 dont support signatures.

xdc.dev/uploads/articles/p93wgfgxg...
Both errors will be solved if you implement the signature feature.

Collapse
xcantera profile image
Arturo Cantera Carrasco

docs.metamask.io/guide/signing-dat...

Here you can learn more

Collapse
ivan_blocksscan profile image
Ivan_BlocksScan

Kindly share the detailed steps you have followed for this, to reproduce the issue. So that we can help you better.

Collapse
xzavix profile image
XH

Hello,

Issue: I sent 1000 Test XDC
to the Test wallet 1, then
created another wallet
Test wallet 2 to sent 500
test XDC tokens. It never
arrived on the Test wallet 2.
I see only the gas transaction
taken from Test wallet 1 despite
transaction being conifrmed
as a success.

Idea: When you view the value
on Blockscan explorer, it would
be great if you can click the
the value number to show what
the value on the day of tx was.
Not sure if that's in the works

Collapse
ivan_blocksscan profile image
Ivan_BlocksScan

I have tried your scenario, and I have received the tokens on another wallet.

Please check once again. If you still face any issues, you can share the screen recording for the same.

BlocksScan team trying to create a "BlocksScan - Etherscan compatible API", which will be integrated with XDCPay soon. So that user can able to see the "Received" transaction history too.

Collapse
global_citizen_37ac0334d6 profile image
Global Citizen

Please enable “max” withdraw. Incase I want to withdraw all my xdc from a wallet i no longer want to use this would come handy. Otherwise there’s lots of wallets with small amounts of xdc abandoned

Thread Thread
anilchinchawale profile image
AnilChinchawale

Hello,

Kindly note that MAX button is enable and you can use it to send all fund from specific account.

Collapse
mrblockchain22 profile image
Salomon Morales

Hello team,

I have submitted another suggestion. Currently XDCPay 2.0 is not able to interact with StorX (site: farmer.storx.io/staking) as it does not recognize the wallet being unlocked. I have removed the previous version of the wallet and I dont have MM installed on this browser. I have tried clearing cache and relaunching the Brave browser with no success. Thank you!

Collapse
ivan_blocksscan profile image
Ivan_BlocksScan

Hello @mrblockchain22

Refer these steps to connect StorX Farmer site: xdc.dev/ivan_blocksscan/steps-to-c...

Hope this will help you...

Collapse
mrblockchain22 profile image
Salomon Morales

@ivan_blocksscan I have been beta testing XDCPay across several layer 2 dapps and dapps that we currently manage. I noticed that XDCPay 2.0 does not work with Origin (origin.xdc.org/). Please see image attached. I have spoken with the person in charge of Origin and he mentioned that the new version of XDCPay does not work with Web3Modal.

Collapse
mrblockchain22 profile image
Salomon Morales

Thank you @ivan_blocksscan! This worked really well.

Collapse
mrblockchain22 profile image
Salomon Morales

Hello BlocksScan team, I have submitted my review of the XDCPay 2.0. There are some bugs which I addressed in the feedback form. I do love the UI and the buttons, as it has a smooth feel. Keep up the excellent work!

Collapse
blocksscan profile image
BlocksScan Author

Thanks for the feedback, we will definitely try to deliver best with users suggestions and feedback.

Collapse
ncode profile image
ncode

Is it possible to add an wallet Identifier variable? Currently XDCPay V2 is getting detected as MetaMask in all the connection libraries , can we add a new variable isXDCPay to differentiate it from MetaMask. XDCPay V1 does have this variable, can the same be done for XDCPay V2

Collapse
s4njk4n profile image
s4njk4n • Edited on

Hi Guys

Trezor is no longer usable with XDCpay as the version of "Trezor Connect" used has been deprecated for a long time and was planned to be shutdown at the end of February 2023. When authorising XDCpay transactions on Trezor, there is a warning message that shows up indicating this. See the included image for the warning.

xdc.dev/uploads/articles/adj7sjwa2...

I have confirmed that at least 2 other users who use Trezor with XDCpay are experiencing this warning (and now unusability) so it is not specific to my machine but is instead a broader issue.

This post is to detail the troubleshooting steps I have done as well as the workaround we can use temporarily until the issues are addressed.


System Details:

  • The system in question is an Ubuntu Linux 22.04LTS desktop using the Brave browser with the XDCpay extension. The wallet addresses being used are those that have been added from the Trezor wallet to XDCpay and then transacted on in the steps below.

  • The system does not have or use Trezor Suite.

  • The system does have the Trezor Bridge installed in order for the Trezor to provide its functionality to the Web Browser.

  • I already updated the Trezor firmware about a week ago after first seeing the "deprecation" warning so it is already all up to date.


Issue Details and Troubleshooting Steps I have done:

  • I've tried initially doing 2 transfers using XDCpay (1XDC each transfer) from one of the Trezor-based XDCpay addresses to another and the process completes as normal with the "deprecation" warning showing in the browser windows whilst interacting with the Trezor to authorise the transactions. XDCpay shows the appropriate balance changes of each address in its own record and the transaction details on XDCpay say that the transaction was confirmed. However, looking up both the sending and receiving addresses on explorer.xinfin.network does not show either of the transactions as having occurred in the transactions listings of either address. explorer.xinfin.network shows the balance of each address as if the 2x 1XDC transfers had never occurred. ie. both address balances have not changed on the block explorer.

  • I then uninstalled Trezor Bridge.

  • I then reinstalled Trezor Bridge with the current linux version v2.0.27.

  • Attempted the steps in step 1 above again but got the same "deprecation warning" in the browser.

  • Rebooted the machine.

  • Attempted the steps in step 1 above again but got the same "deprecation warning" in the browser.

  • I have confirmed that the Bridge version has updated appropriately as per the image shown below.

xdc.dev/uploads/articles/bb9ammvt7...

  • Next, instead of using XDCpay, I went to the XDC Web wallet at wallet.xinfin.network.

  • I was able to access the addresses via the web wallet using the Trezor but on opening the address I got an error message popup in the browser.

  • After clicking to "Send the error message to Team Xinfin", I then was able to see the wallet fine. Interestingly the address balance shown in the web wallet appeared as if those 2x 1XDC transfers actually went through.. I rechecked the block explorer at explorer.xinfin.network again and on there when I looked at the address, I still could not see the transactions in the "transaction listing" for the address. The balances on the block explorer also appeared as if those 2 transactions had not happened.

  • I then attempted to transfer 1XDC back from the receiving address to the initial sending address, but this time using the Web wallet to do the transaction. When authorising the transactions via the Trezor, I still saw the red text deprecation message (same as seen when authorizing on trezor in XDCpay). The Web Wallet however also gave an error message popup when I tried to do the send transaction and it then failed and I couldn't continue with it. I've attached a screenshot of the error message. Unfortunately I couldn't scroll down in the error message window so I couldn't see the complete error message.

xdc.dev/uploads/articles/k1tjz5twp...

  • I downloaded and opened the Trezor Suite. The Trezor Suite App however does not have native support for XDC in it so I couldn't access or see the XDC Network in it.

xdc.dev/uploads/articles/ha6brprt6...

The following steps were performed about 12 hours after the above steps:

  • I then set up Metamask to use the XDC Network by adding it as a custom network by using:

Network Name: XDC-Mainnet-ERPC

New RPC URL: erpc.xinfin.network/

Chain ID: 50

Currency Symbol: XDC

Block Explorer: observer.xdc.org

(When I tried adding the network using xdcpayrpc.blocksscan.io/ it gave me an error that it couldn't find Chain ID 50 on that RPC so I used the erpc instead)

  • Interestingly, there is NO deprecation message during any of the Trezor authorisation steps when using Metamask. My version is 10.25.0. I've not changed anything else so that "Trezor Connect" deprecation warning only shows up when using XDCpay. From that I infer its probably a component issue in XDCpay that will require update.

  • Also interestingly, all transactions are now showing up on the block explorer.

  • I set up metamask to use observer.xdc.org and it shows all the transactions as being successful, including the 2x 1XDC transfers from the previous night.

  • I then checked the addresses on explorer.xinfin.network and they are also now showing up there as well.

—————

End summary of issues:

  • XDCpay has a component issue and will need to be updated to implement a more current version of "Trezor Connect". I guess we need to ensure that this is functional in the new version of XDCpay being released.
  • Metamask couldn't find Chain ID 50 when using the default Blocksscan XDCpay RPC: xdcpayrpc.blocksscan.io
  • The Trezor functionality of the Xinfin Web Wallet is also broken and will need to be fixed.
  • The XDCpay/Trezor workaround is to set up Metamask as above and connect the Trezor to import ones addresses. Whenever transacting, one just needs to be sure to change any transaction addresses by replacing the initial "xdc" at the start of the address with "0x".

We all appreciate everything you create for the community. I hope these details will help contribute to addressing the issues noted. Thanks guys.

Collapse
ncode profile image
ncode

@blocksscan I understand that you'll don't provide support for XDCPay, and only support for XDCPay 2.0, but is there a way to connect XDCPay to web3-onboard, I managed to connect XDCPay2.0 with web3-onboard, however legacy XDCPay does not seem to connect. Any Guides are appreciated

Collapse
sudeep profile image
Sudeep Ravindran

Hi,

XDC Pay 2.0 seems to break our existing integration with the web3-onboard library(formerly bnc-onboard) that we use for detecting network change.

At the root of this issue seems to be the problem that web3.currentProvider now gives chainId as "0xNaN" (with XDCPay 2.0).

We think this code below is responsible for the issue

github.com/XinFinOrg/XDCPay/blob/b...

Firstly, the list of standard selectors in the file do not contain XDC Networks (neither apothem nor mainnet).

So, the "OR" condition is triggered which has its own set of problems. Most likely, the chainId configured elsewhere is not int & hence the parseInt fails with NaN. The whole outcome triggers the "0xNaN" which messes up the onboard library as the value is non-null but unintelligible.

For reference, we are using v 1.34.1 of onboard and our dapp has otherwise been stable for a while now. This is the line where XDC Pay 2.0 fails for us.

github.com/blocknative/web3-onboar...

Collapse
ivan_blocksscan profile image
Ivan_BlocksScan

Hello @sudeep,

BlocksScan team have already fixed the issue, Kindly check the updated build (latest version) of XDCPay 2.0

Collapse
sudeep profile image
Sudeep Ravindran

Thanks. The issue has been resolved

Collapse
s4njk4n profile image
s4njk4n

Not sure if it too late for suggestions but I have a suggestion that will be helpful for users.

Can we get XDCpay 2.0 to automatically detect and import tokens for each given address instead of having to manually import tokens 1 by 1.

When one is using a lot of addresses, it saves all the work of manually adding the tokens to each wallet 1 by 1.

Thanks

Collapse
cryptosandtokens profile image
Robert Aronovici

I was having issues with the beta extension and Metamask not behaving properly. Loading other web 3.0 content from other sites were blocked. I had to remove the extension to load them properly.

Collapse
mitali_blocksscan profile image
Mitali_BlocksScan • Edited on

Hello @cryptosandtokens,

You need to disable the Metamask while using XDCPay and vice versa to load them properly.

No need to remove the extension, Just disable it by visiting the Extension screen.
Image description