keplr-wallet icon indicating copy to clipboard operation
keplr-wallet copied to clipboard

Gno support

Open giansalex opened this issue 2 years ago • 14 comments

  • [x] New feature gno
  • [x] Gno Account
  • [x] Gno amino signature
  • [x] Gno Tx broadcast
  • [x] Render custom MsgSend, VmCall
  • [x] Tx tracer

Vm call demo: image

giansalex avatar May 18 '22 21:05 giansalex

+GNO Testnet ChainInfo

const chainInfo = {
    "chainId": "test2",
    "chainName": "GNO Testnet",
    "rpc": "https://rpc.gno.tools",
    "rest": "https://lcd.gno.tools",
    "stakeCurrency": {
        "coinDenom": "GNOT",
        "coinMinimalDenom": "ugnot",
        "coinDecimals": 6
    },
    "bip44": {
        "coinType": 118
    },
    "bech32Config": {
        "bech32PrefixAccAddr": "g",
        "bech32PrefixAccPub": "gpub",
        "bech32PrefixValAddr": "gvaloper",
        "bech32PrefixValPub": "gvaloperpub",
        "bech32PrefixConsAddr": "gvalcons",
        "bech32PrefixConsPub": "gvalconspub"
    },
    "currencies": [
        {
            "coinDenom": "GNOT",
            "coinMinimalDenom": "ugnot",
            "coinDecimals": 6
        }
    ],
    "feeCurrencies": [
        {
            "coinDenom": "GNOT",
            "coinMinimalDenom": "ugnot",
            "coinDecimals": 6
        }
    ],
    "gasPriceStep": {
        "low": 0.00000000000001,
        "average": 0.00000000000001,
        "high": 0.00000000000001
    },
    "features": [
        "gno"
    ]
};

keplr.experimentalSuggestChain(chainInfo);

giansalex avatar Aug 16 '22 22:08 giansalex

thanks gian this is really usefull

sascha1337 avatar Aug 17 '22 02:08 sascha1337

I've been testing, and it's working properly, including other chains. tomorrow will probably be ready for review

giansalex avatar Aug 17 '22 04:08 giansalex

uploading demos

https://user-images.githubusercontent.com/14926587/185762508-1c315cf6-9431-437f-8e2e-a5d0b63b6749.mp4

https://user-images.githubusercontent.com/14926587/185762514-91b42aa1-1846-4982-beb9-642e487261bf.mp4

giansalex avatar Aug 20 '22 19:08 giansalex

I also found a issue when messages are very long (length > 4k), the notification is not displayed. https://github.com/chainapsis/keplr-wallet/blob/a3aedc2b2769227cbc7e5da0e649101ad3edd721/packages/background/src/tx/service.ts#L181

giansalex avatar Aug 20 '22 19:08 giansalex

Hello @Thunnini, I think this is ready, it will be very useful to have this integration complete for GNO apps. let me know if you have suggestions

giansalex avatar Aug 20 '22 19:08 giansalex

@giansalex Are there ways to test GNO on keplr? TBH, I don't follow up the status of GNO chain. Is there a testnet?

Thunnini avatar Aug 24 '22 11:08 Thunnini

@Thunnini , you can test here https://app.gno.tools/transfer , it supports keplr with the latest GNO testnet.

Faucet: https://test2.gno.land/faucet

giansalex avatar Aug 24 '22 17:08 giansalex

@Thunnini , I resolved merge conflict with master branch, let me know if you have any problems with gnoland testnet.

giansalex avatar Sep 07 '22 03:09 giansalex

Hey, I haven't forgotten this. Another milestone is being processed. I'm sure to check next week and merge if there are no problems

Thunnini avatar Sep 14 '22 14:09 Thunnini

I added the balance validation on MsgSend.

image

giansalex avatar Sep 16 '22 19:09 giansalex

@giansalex Apologies for the late review on this. One of the biggest problem I’m facing right now is that I do not know anything about Gno. I did check that your code works fine in the testnet. But AFAIK, Jae did not like protobuf and I thought grpc would not be a part of the chain. Also, when I checked on the repo, I wasn’t able to find any traces of grpc. But on your code, it queries via existing grpc gateway endpoint. Are you sure this works well in mainnet as well? Where would I be able to locate this part in the gno repo?

Thunnini avatar Oct 04 '22 15:10 Thunnini

@Thunnini , for queries like balance and txs broadcast, I have used this repo to match cosmos-sdk endpoints. mainnet is not closed yet, any new changes will be reviewed before launch.

giansalex avatar Oct 05 '22 04:10 giansalex

Hi @Thunnini, do you have any comments on the direction to take?, the REST server is supported externally as GNO only supports RPC atm.

or Keplr intends to migrate REST queries to RPC queries?

giansalex avatar Oct 30 '22 18:10 giansalex