Giter Club home page Giter Club logo

chrome-extension-wallet's Introduction

Features

  • Create/Import the wallet with Mnemonic, Private Key and Harmony keystore
  • Deposit with the QR code.
  • Switch the network to Mainnet, Testnet or Localnet.
  • Send & receive ONE tokens (support the ledger wallet).
  • Send & receive HRC20 tokens (support the ledger wallet).
  • Add/Edit/Delete HRC20 tokens
  • Export private key
  • View transaction history .
  • Provide the api for signing the transaction
  • Support staking.harmony.one
  • Lock the wallet with the 4/6 digits PIN Code
  • Auto lock the wallet after timeout
  • Set the pin code, pin digits and lock timer on the settings
  • Support the ledger wallet to communicate between onewallet and staking.harmony.one
  • View the HRC20 token transaction amount in the history page
  • Add/Delete/Edit the contacts
  • View and revoke the accounts connected to the third-party website
  • View the USD balance on the main page

Development

  • Install node.js and npm
  • Install dependencies :
    npm install
    
  • Run the project :
    npm run dev
    
  • Go to Chrome Extensions page and activate the Developer Mode.
  • Click Load Unpacked button and point it to /dist folder, the extension will be autoreloading as you change the codes.

Build Extension

  • Install node.js and npm.
  • Install dependencies :
    npm install
    
  • Build the project :
    npm run build
    
  • Uncompressed build can be found in /dist folder, compressed build is onewallet.zip.
  • Go to Chrome Extensions page and activate the Developer Mode.
  • Click Load Unpacked button and point it to /dist folder.

Documentation

chrome-extension-wallet's People

Contributors

coolcottontail avatar datpenguinclub avatar hirokryptor avatar hypnagonia avatar imyugioh avatar jacksteroo avatar lijiang2087 avatar twobitedd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chrome-extension-wallet's Issues

How do I access the wallet address that ONE Wallet (extension) automatically creates?

When I transfer $ BUSD from One Wallet (Chrome Extension) to $ BUSD Trust Wallet, the destination address on Trust Wallet automatically change (maybe because Trust Wallet doesn't support HRC20 yet).
It should be like any other wallet, if there is a mismatch in the destination address, the wallet will refuse or at least give a warning.
But without warning, the transaction continues by changing automatically my destination address.
How do I access the wallet address that was automatically generated by ONE wallet?

Onewallet - add the option to import a list of predifined tokens, instead of doing it one by one

The proposal is to add an option to import a list of tokens on the ONEWallet, instead of importing each token separately.
currently the team is developing several DEX ( SWOOP, SeeSwap, Unify,) that will work with several tokens.
The user need to import each one separately.
image

Proposal is that each platform has a list of tokens, that can be imported.
the format list need to be agreed and shared to everyone

(tokens syntetic names are just for the example):
Import:
USDs 0x5f089d2ea9008dada6f05b8c78f25233fd27f966
BTCs 0xea10a239c4fcaf31225efdb4dc634aeff42c585d
ETHs 0x7334d832bfc79f59df8bc092cba3ae687faed7fa
XRPs 0x33bA9Bf6cF19bCd91E2f745C0ac4c05A192c069F
BCHs 0x4a6B66F5B955cA3FB51c59c272554Ee45bDb2239
BNBs 0xbCf0038d69372773a966166d35Ac35B7B6914D33
DOTs 0x120aEeA98f391cBc7f1DCA79c5eDD8f329856258
LINKs 0x62D8fEacf66E39Ed9179dB4f68581dBBa159457A
ADAs 0xDD697498B26F135C5C331022F17BA368A89489c1
LTCs 0x10580fD9aB6DF1E836708C553165f1002D6ff2F9
EOSs 0xf54f91a34C0280a8F3c11819a5364E4A67181ECe

Chrome crash removes all wallets

When chrome crashes sometimes it removes all wallets from the extension and it only happens to Harmony wallet, metamask for instance doesn't happen. I have tried to crash the chrome to see if happens but couldn't reproduce the same result so don't know how to test this. But I found some code in the metamask repo that may help this.

I think this is where harmony deletes the wallets
https://github.com/harmony-one/onewallet/blob/master/src/services/StorageService.js#L14

Metamask does something similiar
https://github.com/MetaMask/metamask-extension/blob/af3c740b1b4e3cbaf78611b98c6af95f51bfcae2/app/scripts/lib/local-store.js#L54
https://github.com/MetaMask/metamask-extension/blob/af3c740b1b4e3cbaf78611b98c6af95f51bfcae2/app/scripts/lib/util.js#L137

This is easy implemented and I it works for metamask, let me know if this is ok and I could make a PR for this

Extension interacting with non-blockchain site and causing website functions to fail

It appears to create some sort of conflict when I attempt to take actions on a Jira dashboard (atlassian.com). I assume it would cause conflicts on other sites that also use some sort of lodash function.

Disabled all extensions and was able to execute successfully, enabling just the ONE wallet extension, it then starts to fail again.

image

image

how to delete imported wallet?

I've added 3 harmony wallet addresses then I tried to find out deleting/managing wallets option on setting. but it has no such option on the current version(1.0.2)

Would you add this wallet management feature to manage wallet addresses efficiently?

ethereum vs. harmony address format ui display

On main screen there is address format selector, in the form of either Harmony or Eth logo.
This is very confusing, especially to new users or those new to crypto as such.
There are numerous cases reported in internet where people confuse addresses and send coins to wrong address from other blockchain that looks similar to their current blockchain. Thus funds become unrecoverable. So, this is an important UI\UX problem to fix.
Experienced devs or ones who follow Harmony releases closely, do know what this is all about. New users not so much. Let's take care of the newcomers having smooth experience with the project!

This current UI:
A. Says "switch to Ethereum address" in the hover popup - which is misleading, the user may think he has access to Eth blockchain on this wallet, somehow attached to H wallet.
B. Shows Eth logo, which is also misleading, can be interpreted as a possibility to use actual Eth.

Can be mitigated as follows:

  1. In all places where there is "Ethereum address" mentioned, change to "Ethereum address FORMAT (0x...)" or "Ethereum STYLE address (0x...)". Also add (one1...) to Harmony address popups and corresponding mentions.
  2. Change Eth logo to some other logo (as an example, see attached H logo with small Eth diamond nearby), AND/OR add textual explanation for easier understanding: "0x..." format vs. "one1..." format.
    Untitled-2

Ledger Nano S - Cannot approve txs

Trying to use Ledger Nano S after it is unlocked and it is not able to send txs. I am using this same Ledger Nano S on current Chrome extension used on Staking Dashboard, that one works but this one (ONE Wallet) does not.

It says my Ledger is unlocked, when in fact it is not.

ONE Wallet: v1.0.0
Ledger Nano S: 1.6.0

image

HRC20 contract address bug between mainnet/testnet

So i added a hrc20 token to testnet on my onewallet, but it shows just there and not on mainnet too. When i switch over to mainnet and want to add the same on there it says it already exists, yet cant see it on mainnet:

NOTE: first screenshot its testnet network selected above, 2nd and 3rd its mainnet

3
2
1

Invalid hexidecimal string

I am having an issue using One Wallet 1.1.1 when trying to approve a proposal via Snapshot here:
https://hmny-governance.netlify.app/#/staking-testnet/proposal/QmZrKwfYV6xXb52xupHRpH52tywANJBhrPBPUtJjGDxgkL

As you can see, this proposal is already approved now because when i tried via Metamask it worked.

Detailed error message here:
Signing by Test 1 one170xqsfzm4xdmuyax54t5pvtp5l5yt66u50ctrp Data {"version":"0.1.3","timestamp":"1614359551","space":"staking-testnet","type":"vote","payload":{"proposal":"QmZrKwfYV6xXb52xupHRpH52tywANJBhrPBPUtJjGDxgkL","choice":1,"metadata":{}}} Password ••••••••• Reject Approve invalid hexidecimal string (arg="value", value="{\"version\":\"0.1.3\",\"timestamp\":\"1614359551\",\"space\":\"staking-testnet\",\"type\":\"vote\",\"payload\":{\"proposal\":\"QmZrKwfYV6xXb52xupHRpH52tywANJBhrPBPUtJjGDxgkL\",\"choice\":1,\"metadata\":{}}}", version=#version)

2021-02-27 08 07 49

$ONE Wallet Chrome Extension user experience + suggestions / improvements !!!

Hello 👋, I create this issue after my experience with $ONE Wallet and to suggest a few improvements !

  1. Can we add icons for tokens ? These letters (token name) without an icon for tokens it looks awful!

No icons!Tokens icons

2. I tested recently https://harmony.unifiprotocol.com/ and I noticed that after I connect with my wallet, Unifi automatically reads the address of my wallet, and after that I can no longer change, add or use another address on Unifi ! The only way Unifi can read another address ($ ONE account) is to uninstall the $ ONE wallet Chrome Extension, select that wallet address (account) I want to use this time and go to Unifi website! This is strange and I honestly don't think it's the best solution to change my wallet addresses on a website or any dapps !!! Those guys from Unifi said is something that should be implemented in wallet and they can't do nothing about it !!! So, we should be able to switch between wallet addresses and the website to read them automatically !

Main wallet
second wallet

3. Disconnect $ONE Wallet from websites and dapps !!! We need this option added in wallet and to be able to disconnect our wallet from website and dapps you don't intend anymore to use it or to have your wallet connected with them !

4. Remove wallet address (account) !!! Option (remove button) to remove any of my addresses (accounts) which I don't want to use anymore !!! Again, you can do this only by removing and reinstalling the $ONE Wallet Chrome Extension, and this is not the right solution !!!

Disconnect!Connect sites Remove wallet

5. Reject/Confirm transactions without password !!! It's frustrating and annoying as long as my wallet isn't locked, to be always asked to sign the transaction with the password !!! I think isn't a security issue if my wallet is unlocked, to sign the transactions only with CONFIRM instead of PASSWORD !!! The lock timer is enough in my opinion and is not a must have signing transactions with password !!!

6. If is possible, I think a notification (1 or !) on the $ONE Wallet Chrome Extension Icon would be good !!! Please see the notification on $ONE extension icon (1) in the next picture !!!

Reject Confirm tx + notification @ ext icon

7. After the NEW $ONE Wallet Chrome Extension was promoted for use and the older $ONE deprecated, many users complained that it's annoying that they no longer have easy access to the "Go to Harmony" dashboard in their wallet !!! So, maybe we can add this button on first page/face of the wallet under deposit / send !!! It would be very useful for many users !

GTHGo To Harmony dashboard

8. Any chances to have this $ONE Wallet Chrome Extension phone compatible IOS/AND ??? In 2020 a wallet is a MUST have compatible with the phone !!! Many dapps are using/implement Wallet Connect with which you can connect easily your wallet on their website/dapps using your phone !!! Unifi announced they are adding also the possibility to connect directly to their website from your phone using Wallet Connect !!!

Wallet Connect webWalCon phone view

popup for password input not showing in 1.09

As stated, the popup doesnt show and the issue starts when onewallet updates and inputting the password doesnt work, eg. nothing happens after hitting confirm.

Then we ask users to clear cache/cookies or redownload the onewallet, then they experience the issue where the popup doesnt even show.

For now we have no clear solution on that, some somehow manage to get past it at some point, no idea how.

screenshots and info:

https://discord.com/channels/532383335348043777/652353409663631365/806324833167081482

unknown

HRC721: Invalid array length

When listing the NFTs of the contract 0x36c61562d62a117d6eb9f5c4e229b8b729338d33 I am getting this error below. I was able to add the HRC721 token without issue. Issue happens when I click on it to list the time.s

image

Customize transaction nonce

We need to allow One Wallet to allow customizing the transaction nonce. I would recommend creating an advanced option to enable this when users need like on Metamask. This is needed, so users can cancel txs that are stuck at a certain nonce by sending another tx to the same nonce with a higher gas fee. Without that, users cannot cancel txs.

image

This way, when the user wants to send a tx using a customized nonce he can do it the same way as on Metamask:

telegram-cloud-photo-size-1-4963367428662864181-y

No pop up during sign in

On my current laptop, while on the site where you sign in with your wallet to stake, https://staking.harmony.one/onewallet, the Sign In button doesn't not pop up the window for the extension.

image

I've tried this on both Chrome and Brave, and in incognito modes for both. Also tested with Opera. No browser has this pop up show. The Sign In button simply does nothing.

On my other desktop machine however, the pop up shows up and I am able to sign in without issue.

Both are on Windows 10 and on the latest update, with the latest versions of each browser.

It appears that the inject-script.js does not push in to trigger when the Sign In button is clicked.

Any ideas on what to do here @0xlocker ? Thank you

hrc20 token sending issue

i tried to test it and tried sending some VIP hrc20 tokens to its own contract address: 0x162ba1dc64ebf54b4c593665a12f448959ff26b5

it let me through, but then the tx failed in the end (sanity check maybe)

what the real problem is, once i did that, now every address i input as the receiver (when trying to send VIP tokens) is changed into bech32 format of the contract address 0x162ba1dc64ebf54b4c593665a12f448959ff26b5, which is https://explorer.harmony.one/#/address/0x162ba1dc64ebf54b4c593665a12f448959ff26b5

as you can see on the tx history page, all my attempts were as if sent to this address, although i was sending them to a completely legit address that i own

Cannot add custom HRC-20 Token

ONE wallet shows error "Contract address is invalid" when trying to add a custom HRC20 Token contract

image

Testnet Contract address #1 0x2450bcede73c289c105e7ff9c7ed4df223cc92f8
Ticker POPS
Decimal 12

Testnet Contract address #2 0x494dfd32b474a2a35020bde7b3da37ef2b61a90d
Ticker MIRROR
Decimal 18

Both contracts can be interacted through ABI explorer and transactions visible on explorer.

Sample Token transfer (MIRROR token)
https://explorer.testnet.harmony.one/#/tx/0x557977bde88448795fe3cec3a88523810af2163755e65691806f65ddaac067ac

Feature request: stop asking for a password for every single transaction

Why can't OneWallet work like all other Wallets (MetaMask, MathWallet etc) and simply ask for the password once to unlock the wallet so that you don't have to enter the password every single time you issue a transaction?

It's extremely annoying having to enter the password every single time, so much so that I try to stay away from using OneWallet as much as possible in favor of Mathwallet.

Or is there a setting somewhere that disables the password stuff for every single tx that I haven't found?

Remove Pangaea Network - Doesn't exist anymore

Please remove the Pangaea Network, it is not used anymore (it was replaced by the long term testnet/LRTN). If you click on it, it doesn't load (probably because the endpoints are not acessible anymore):

image

BUSD transfers in shard 0, but the graphic interface shows send to: 1 or 2 or 3 shard

In the Harmony wallet Version 0.2, when i send BUSD or other HRC20, the transfers are currently from shard 0 to 0, but the interface allows the user to choose different shards. The transaction go from shard 0 to 0, independently what the user choose
image
image
Solution:
Implement a rule that when the user select HRC20 tokens, the shard shows 0 automatically

[BUG/issue] unlocking some of the wallets

i have 4 wallets on the 1wallet and now it's asking for all my password. i can access 3 of them 4, but not the 4th one. can i just have an option to NOT unlock that one, but get access to the 3 i do know.

keystore import is not working

Importing a keystore is not working.

How I got the keystore file:

  1. copy pasting the content of the keystore file
  2. download through sftp the keystore file

for both file, when trying to import i can go all the way to :

image

however, after clicking ok, the tab closed but the extension doesn't have the new imported wallet.

After removing BUSD from tokens-list some weird behaviour

Removed the BUSD token on the testnet and see this duplicate LINK on the tokens list:
image
The second LINK entry keep searching, as said only on testnet and after removing BUSD.

Can be fixed when removed, but shouldn't be there in the first place.

error signing transaction -> transaction failed:nonce too low

Description

 let rpcURL = 'https://api.s0.b.hmny.io'; // i've also tried with `https://api.s0.t.hmny.io`

  let hmy = new HarmonyJs.Harmony(rpcUrl, {
    chainType: HarmonyUtils.ChainType.Harmony,
    chainId: HarmonyUtils.ChainID.HmyTestnet
  });

  const txn = hmy.transactions.newTx({
    from: from, // what is returned from harmonyExt.login()
    to: to,
    value: new HarmonyUtils.Unit(amount).asOne().toWei(),
    gasLimit: '31000',
    shardID: 0,
    toShardID: 0,
    gasPrice: new hmy.utils.Unit(amount).asGwei().toWei(),
  });

  console.log(txn);

  const signedTxn = await harmonyExt.wallet.signTransaction(txn);
  const txnHash = await signedTxn.sendTransaction(); // FAILS HERE with nonce too low 
  console.log(txnHash);

On sending transaction -> i get the message
transaction failed:nonce too low

The from address is https://explorer.pops.one/#/address/one1crzp6qhczwms38uchngp3xk04ak48ghlky0jkc

It seems to work alright when I do it harmony-core and sign with the private key!
A lil confused if I'm doing something wrong !

Also if i don't pass the gasprice -> does the wallet auto-assign a value to it ?

UI Problems with onewallet extension

Hi guys!

I have a problem with the application interface, it looks like this:

Pic

Снимок экрана 2021-05-27 в 14 28 13

What's up

When you call the application, the interface is cut for some reason. I can't interact with the top part of the application.

Some tech info

Haromy Onewallet

Ver: 1.2.1

Google Chrome

Ver: 91.0.4472.77 (Official), (x86_64)

Mac OS

Ver: Mac OS Big Sur 11.4 (20F71)

incorrect balance

description

showing incorrect balance for ONE token and hrc20 token. it displays zero on balance regardless my real balance and type of tokens(one or hrc20 tokens)

reprouduction

  • import previous harmony wallet
  • check ONE token balance with shard 0.
  • add hrc20 token, in this case SEED. contract address is 0x793DAC3Ec4969A5BEE684BcF4290d52feB8F51b4
  • check SEED token balance

result

incorrect balance(just showing zero on balance)

expected result

showing their balance correctly.

env

version: 1.0.2

UI bug : HRC20 token shows NaN

In the account tab, when non shard 0 is elected, the HRC20 token will show NaN:

image

So I know HRC20 for now only works on shard 0 however, having a different message than NaN mentioning about the limitation would be great

DAPP Login

Hi, login does not work, I tried your example from the documentation

var harmony = await new HarmonyExtension(window.onewallet);
const account = await hmyEx.login()
    .then((acc) => {
      console.log(acc);
    })
    .catch((err) => {
      console.error(err);
    });

but the same code works with MathWallet, for your wallet need a different approach?

And I tried using wallet in IDE Remix and also only MathWallet works

I trying Harmony One Wallet 1.0.6.1 on Google Chrome 86.0.4240.75 Ubuntu 18.04

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.