Giter Site home page Giter Site logo

subscan-multisig-react's People

Contributors

alexchien avatar alexeizamyatin avatar carlhong avatar fewensa avatar gopherj avatar sxlwar avatar vzxh avatar wi1dcard avatar woeom avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

subscan-multisig-react's Issues

rename extrinsic router to account

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Feature Request: Remember multi-sig member and contacts

Given I have created a multi-sig wallet with several member addresses and their names, 
When I am creating a new multi-sig wallet involving those addresses,

When I input the address, 
Then the app should auto-fill the name field for me.

When I open the address dropdown menu,
Then the list of known addresses should include not only my connected addresses but also those from my contacts

This may be achieved with a "Contacts" section, which saves member addresses with their name labels when this info was provided in the wallet creation process or manually created in the "Add a Contact" form on the "Contacts" page.

Refresh enchance

Sometimes refresh action breakdown the apps, seems that account data parse failed

发起了一个bond的多签交易,点击展开详情,报错

TypeError: A.toLowerCase is not a function
at main.6f8d488f.chunk.js:1
at main.6f8d488f.chunk.js:1
at Of (main.6f8d488f.chunk.js:1)
at ro (2.34664fa1.chunk.js:2)
at qc (2.34664fa1.chunk.js:2)
at Ss (2.34664fa1.chunk.js:2)
at Ms (2.34664fa1.chunk.js:2)
at js (2.34664fa1.chunk.js:2)
at vs (2.34664fa1.chunk.js:2)
at 2.34664fa1.chunk.js:2
cc @ 2.34664fa1.chunk.js:2
2.34664fa1.chunk.js:2 TypeError: g.map is not a function
at Of (main.6f8d488f.chunk.js:1)
at ro (2.34664fa1.chunk.js:2)
at qc (2.34664fa1.chunk.js:2)
at Ss (2.34664fa1.chunk.js:2)
at Ms (2.34664fa1.chunk.js:2)
at js (2.34664fa1.chunk.js:2)
at vs (2.34664fa1.chunk.js:2)
at 2.34664fa1.chunk.js:2
at t.unstable_runWithPriority (2.34664fa1.chunk.js:2)
at Ui (2.34664fa1.chunk.js:2)
cc @ 2.34664fa1.chunk.js:2
2.34664fa1.chunk.js:2 Uncaught TypeError: A.toLowerCase is not a function
at main.6f8d488f.chunk.js:1
at main.6f8d488f.chunk.js:1
at Of (main.6f8d488f.chunk.js:1)
at ro (2.34664fa1.chunk.js:2)
at qc (2.34664fa1.chunk.js:2)
at Ss (2.34664fa1.chunk.js:2)
at Ms (2.34664fa1.chunk.js:2)
at js (2.34664fa1.chunk.js:2)
at vs (2.34664fa1.chunk.js:2)
at 2.34664fa1.chunk.js:2
DevTools failed to load source map: Could not load content for chrome-extension://ibnejdfjmmkpcnlpebklmnkoeoihofec/dist/TronWeb.node.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME

image

Header element not aligned to the side

The two element blocks "logo" and "menu" are not pushed to the end of the container. In the screenshot below, the content container below is far wider than the header. It's quite rare to see a design like this.

截屏2021-07-05 17 47 07

Network status error

network connection status error after switching network

The error status leading wallet display problem

node 14 or 15

I can only run yarn install with node 14

截屏2021-06-28 16 41 16

yarn start produces OOM error and only works under node 15

截屏2021-06-28 16 43 27

Multi-signature accounts with the same parameters (members + threshold) should not only exist in one network at the same time

Describe the bug
参数相同(多签成员+阈值)的多签账号,只能同时存在一个网络

To Reproduce
Steps to reproduce the behavior:

  1. 进入kusama网络,点击创建多签钱包,使用a,b,c 3个账号,阈值设置为2/3,创建成功!
  2. 切换到polkadot网络,点击创建多签钱包,使用a,b,c 3个账号,阈值设置为2/3,创建成功!
  3. See error: 重新切换到 kusama 网络,刚刚创建好的多签钱包消失了

a,b,c为3个固定的地址

Expected behavior
在创建钱包时,用户可以选择是否将这个钱包同步到所有网络。

  • 如果用户选择将这个钱包同步到所有网络

流程示例:
1)进入kusama网络,点击创建多签钱包,使用a,b,c 3个账号,阈值设置为2/3,用户勾选将此钱包同步到所有网络,创建成功!
2)多签钱包支持的所有网络,都按照a,b,c 3个账号,阈值设置为2/3的参数,新增一个多签钱包(如果某网络已添加了一个相同的钱包,自动去重)

  • 如果用户选择将这个钱包同步到所有网络

流程示例:
1)进入kusama网络,点击创建多签钱包,使用a,b,c 3个账号,阈值设置为2/3,用户未勾选将此钱包同步到所有网络,创建成功!
2)多签钱包仅在当前网络(kusama)创建多签账户,此账户和其他网络相同参数的账户不冲突,可同时存在。

Network info in the URL

Is your feature request related to a problem? Please describe.
When an operator initiates an extrinsic, he would normally copy the URL and share it with other operators. Other operators click the URL and visit the page, they will see either the last chain/network they visited or the default chain/network which is Pangolin. In most cases the default is wrong. Operators will feel confused.

PS: the global fallback default chain should point to a most commonly used chain by traffic, either Polkadot or Kusama.

Describe the solution you'd like
Network info &chain=xxx should be in the URL. The link will reflect the correct chain when visiting the page from a shared link.

Describe alternatives you've considered
The solution may be when the current chain is determined (by the procedure mentioned in issue #25 ), rewrite the URL, and append/replace the chain parameter with the selected chain.

do not reload window if switch network

The window must be reloaded when switching networks to ensure that the keyring is reloaded.

packages/react-api/src/Api.tsx.

keyring.loadAll can not reload after initialized, but then if the API instance change, we must either reload the keyring or use another keyring instance and load the accounts under the network specified by API

To solve the issue described above, it is currently simple to trigger all state refreshes by reloading the page, in fact, https://polkadot.js.org/apps also use this approach to switch network

https://github.com/polkadot-js/apps/blob/813f17bbbcc491e63377852593ddfceb1e0fbeeb/packages/apps/src/Endpoints/index.tsx#L240

But as a SPA, the best practice is to drive view changes through data, at least 2ways here:

  1. use Keyring constructor to generate a new instance as soon as the Polkadot API changed;
  2. keyring can unload the old accounts or reloadable to refresh account;

Specify chain in the URL and remember last choice

There should be a way to specify the target chain in the URL so that third-party wallets can point to the multi-sig app directly with the proper chain selected by default.

As the URL for the multi-sig app is multisig.subscan.io, this could be in the following format, sub-host, or URL parameter:

  • https://[chainid].multisig.subscan.io
  • https://multisig.subscan.io/?chain=[chainid]

Either one should work.

Remembering the user's last chain selection would be handy as well:

  1. If chain selection is explicitly specified, use it (fetched from query string or host variable mentioned above)
  2. Otherwise, if the last selected chain info exists in the cookie or local storage, respect that
  3. Otherwise, if the environment states that chain, respect that (not sure when wallet opens an in-wallet app, whether it passes some environment variable)
  4. Otherwise, use the default chain determined by site configuration

Assemble wallet from extrinsic

Is your feature request related to a problem? Please describe.
When visiting an extrinsic link shared by another operator who initiated it, the operator is not able to sign it unless the wallet is created properly already. He must collect members' address info, and register the wallet first.

Describe the solution you'd like
Fetch wallet info from the extrinsic and set up the wallet for the operator if it's not existed.

Describe alternatives you've considered
When creating the wallet for the operator and saving it to local storage, default label names can be assigned to the member addresses. The operator can modify this info later.

Added call data for confirmed / in progress multi-signature extrinsic

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Default address indicator missing

After select/set my default/active address from the account dropdown menu at the top right navigation bar, there's no visible indicator.

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.