Giter Club home page Giter Club logo

web3-onboard's Issues

`balance` module bug

The balance module is indicating that the minimum balance check is not satisfied even when the minimum is set to '0'. This is because the bignumber comparison is using lte rather than just lt

lodash.debounce import

There can be errors in some environments when lodash.debounce is imported. Need to use require instead.

Watch Address

The balance store is currently sending two requests to watch an account when it only needs to send it once

Ready Module Heading

The heading in the wallet ready modules should be white when in dark mode rather than gray.

Wallet Selection Padding

The padding is a little uneven between elements in the wallet selection screen on certain devices

Remove prepare script

If the prepare script is removed from the package.json, our build times on circle ci will be cut down as it is unnecessarily building the package twice.

Exponent Notation

Sometimes eth values that are in wei get displayed in exponent notation. To avoid this, 10 needs to be passed in to the toString method of BigNumber.

Better Initialization

Need to make the developer experience much better for initializing onboard by making a minimum integration very simple and by making the modules initialization more straight forward

Module Context

Need to add a moduleContext parameter to the rollup config to avoid warnings for svelte-i18n

Module is undefined

In WalletSelect.svelte there needs to be a check that the wallet module exists when auto selecting a wallet.

Change Network

Add the ability to change the networkId after initialization.

Button Shadow

The wallet buttons need a little extra padding so that the box-shadow isn't cut off.

Remove `ow` dependency

Need to remove the ow dependency as it causes issues with server side rendering. Will need to write custom validation instead.

Remove Params

There are some unused parameters on some objects defined in interfaces.ts. These need to be removed.

Font size

The font-size needs to be set to 16px on the root element (modal) so that everything else can be set in ems. This is so that when a developer sets the font-size on the html element it won't affect our UI.

Svg Logos

Need to use svg wallet logos where possible.

Types Error

There is an error in stores.js as the variable that is declared when creating a derived store is implicitly any. Need to define types on that variable.

Build Error

In tsconfig.json the target parameter is set to "es5" which causes the following error in some build environments:

Module parse failed: Identifier '__assign' has already been declared

Setting this to "ESNEXT" will fix this issue.

Opera Wallet

Add opera desktop wallet and opera touch for mobile to the wallet modules.

Transpile to ES5

The onboard bundle needs to be transpiled down to ES5 compatible code.

Ready Modal Font

There is still an inconsistency with the font-family in the content of some of the ready modals.

Internationalization

Need to add internationalization capabilities into onboard. Devs need to have the ability to pass in an internationalization object that will get merged with our defaults and also the ability to set the language.

Select Wallet Preferred

Need to add an easy way to choose preferred wallets when initiating through the default options.

Provider Not Defined

When trying to connect to WalletConnect there is an error of "provider is not defined"

Render HTML

We should allow and render html for the wallet select modal description

svelte-i18n error

Need to modify the build settings so that svelte-i18n is not set as an external library. This is because it needs to be compiled by the svelte compiler.

Show More Button

Sometimes the show more button will render even if all of the wallets are displayed

Inherit Font

Need to ensure that all elements that don't specify a font-size inherit that property.

Temporarily Remove Squarelink

Need to remove Squarelink due to a bug in SSR environments outlined here

Will be adding it back in once that bug is fixed or when we have implemented dynamic imports for wallet modules.

Balance Store

The balance store isn't updating correctly as the Blocknative backend updates much quicker that the wallet provider nodes

Multiple Initializations

Need to allow for when onboard gets re-initialized either by accident or on purpose. To do this, the svelte component that has been created can get destroyed before creating a new one.

Wallet Instantiation

If the same wallet is selected twice, once when the wallet select modal is first shown and then a second time when allowing the user to switch wallets, the wallet will instantiate twice. We should do a check to see if the wallet that is selected is the same as the current wallet.

Balance State

Currently the balance state isn't being correctly kept in sync when a transaction occurs on the users' current account.

Convert to Typescript

Currently onboard is using ow for type validation. A more robust solution would be to convert the library to Typescript and remove the ow dependency.

Subscriptions Initial State

It would be better if the subscriptions weren't called with the initial state and were only called upon a state change. This can be achieved by setting the initial state to null and then to undefined for a state that needs to be cleared.

Code Splitting

Need to implement code splitting so that we can keep the bundle size as small as possible.

More Robust `createModernProviderInterface` Function

The createModernProviderInterface and createLegacyProviderInterface need to be made more robust to be able to work with any injected provider. This can be done by instead of getting the address and network state from the provider object properties, make generic rpc calls to get that state.

Auto Select Wallet

When selectWallet is passed a string of a wallet to be auto selected it works correctly. But if `selectWallet1 is called again without a wallet string, the wallet select modal doesn't render.

Consistent Font

Need to go through and make sure that the font-family is inherited.

Nested Object Validation

More robust validation is needed for nested objects to throw helpful error for when the wrong key is included on an object.

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.