[Proposal MB4/MR0] [Status: Awarded] Nova Wallet — M1 — ERC20 tokens integration and management

Nova Wallet Moonbeam Treasury proposal:

Milestone 1 — ERC20 tokens integration and management

1. Abstract

This proposal aims to extend Nova Wallet assets management by introducing support for ERC-20 tokens. In addition to that, doing so will significantly simplify further integration of EVM features, such as extending supported NFTs with ERC-721, ERC-1155, Moonbeam Ledger integration, and any other features that utilize the EVM side of the Moonbeam ecosystem.

2. Motivation

Moonbeam eco users are showing demand (e.g. recent feature request) in managing ERC-20 tokens of Moonbeam eco, as well as asking for more EVM features available right in Nova Wallet.

Our motivation is iteratively to expand the feature set of Nova, starting with this proposal, and ERC-20 tokens management seems to be the scope that will not only provide a user-friendly interface for managing all Polkadot/Kusama ecosystem tokens but also will establish a foundation in Nova’s code base for incorporating more Moonbeam EVM features, allowing Moonbeam users to utilize a complete spectrum of ecosystem features in a mobile format.

We would like to hear the feedback for the proposed set of features in M1 (this proposal), as well as collect ideas/suggestions for the feature set in future proposals (M2, M3, etc) to adjust the proposed priorities/scope.

3. Project Overview and Team Experience

Nova Wallet is a next-gen mobile app for Polkadot eco & beyond:
:milky_way: 63+ Polkadot networks
:sparkling_heart: Amazing UX/UI
:sparkles: Community-focused
:zap: Fast & Feature-rich
:twisted_rightwards_arrows: 140+ Cross-chain transfers
:pancakes: GLMR, MOVR, DOT, KSM, PDEX, AZERO, TUR, CAP, KMA user-friendly onchain staking
:rocket: Polkadot & Kusama Crowdloans
:globe_with_meridians: DApp browser with Polkadot JS & MetaMask integration
:bird: Access to RMRK & Statemine NFTs
:iphone: Hardware wallets support: Parity Signer, Ledger Nano X
:mechanical_arm: Secure & Open source

Recent Achievements of Nova
1 Leading mobile app for cross-chain transfers in Polkadot & Kusama eco
2 The first and only mobile app with hardware wallets support in eco: Parity Signer & Ledger
3 Nova Wallet & Moonbeam: The Ultimate Wallet Experience!

Our team has been developing native mobile apps for Substrate/Polkadot eco for more than 3 years now. Recently we expanded the team size of Nova from 8 to 11 to increase the development velocity and quality of our products. In parallel, the second project of Novasama Technologies — Omni Enterprise, a desktop app for Polkadot eco — is being built by our second, newly formed team. We are the patrons of the Polkadot ecosystem and a highly motivated team to elevate the UX of user-facing applications, with the goal of them being the leading apps in the web3 industry.

Apart from developing the mobile & desktop apps themselves, our team is consistently contributing to the ecosystem by providing open source SDK, design assets, knowledge-sharing sessions, and infrastructure. Examples:

  1. Substrate SDKs for iOS and Android development
  2. Nova Utils GitHub — metadata & configs for networks, crowdloans, DApps, cross-chain transfers
  3. SubQuery API projects developed and hosted by Nova Wallet team
  4. Nova Assets Figma — Polkadot eco tokens, networks, DApps

4. Rationale

The Nova Wallet has become a leading choice for most of the users in the Polkadot & Moonbeam ecosystem when it comes for operating with the assets on a mobile device (read more in the article: Nova Wallet & Moonbeam: The Ultimate Wallet Experience!) due to the rich set of features its providing.
However, the majority of existing features are relying only on Substrate-based side of the Moonbeam ecosystem, therefore some of the features cannot be accessed via Nova at this moment.

The M1 proposal would expand amount of supported assets of Moonbeam & Moonriver in Nova Wallet from 26 to 10 044 tokens by adding support of ERC-20 (ref: Moonbeam, Moonriver ERC-20)

We believe that the rationality of this and upcoming proposals would be to have Nova Wallet as complete mobile app for the Moonbeam ecosystem which would be able to serve any intent of Moonbeam users.

We also believe that nowadays majority of users are relying on mobile access when it comes to managing their assets, therefore having a complete mobile app like Nova would allow expanding the user base for the Moonbeam ecosystem.

5. Overall Cost & Scope

Table below describes our vision for M1 and ERC-20 tokens integration scope:

Theme Feature Description
1. Expand supported tokens:
ERC-20 support
1.1 Plug/maintain the collection of known and verified ERC-20 assets on Moonbeam/Moonriver, extend database to support ERC-20 tokens For fetching name, ticker, and precision of known ERC-20 so that users would be able to see all tokens in one app.
1.2 Display by default only those which are “Whitelisted” Nova will maintain a list of “whitelisted” or “default” ERC-20 tokens for Moonbeam/Moonriver to show to the user
1.3 In Assets management allow the user to Add any ERC-20 token by the address Adding any token to the Nova by ERC-20 address.If the certain token is unknown, still allow the user to add it, however, ask them to paste the required information: name, ticker & precision
1.4 Enable/disable any known token Allows user to enable/disable any “whitelisted” token by Nova for a better experience
1.5 Add data source for Operation history for ERC-20 tokens ERC-20 operation history would be first bootstrapped via Moonscan (Etherscan) API and later one plugged to Nova’s SubQuery infrastructure
1.6 Implement transfer call and calls for fetching the network fees, nonce To provide a better flow of transfers
Note: Cross-chain transfers will still use Substrate API due to how fees are calculated on other networks
2. EVM Networking 2.1 Integrate WebSocket connection for EVM API to fetch/update balances Required tech stack to build in Nova for EVM features & specifics
2.2 Integrate web3 library for EVM operations
2.3 Block parsing to fetch events and balances changes
2.4 Autobalance EVM nodes depending on response time and/or health-check API result

Nova Wallet team for M1 Moonbeam proposal:

  • Anton Khvorov — CEO & Engineering Team Lead
  • Ruslan Rezin — CTO & Lead iOS Engineer
  • Valentin Sergeev — Lead Android Engineer
  • Gulnaz Almuhametova — Senior iOS Engineer
  • Antony Zelinsky — Senior Android Engineer
  • Stepan Lavrentyev — Lead QA Engineer & DevOps
  • Lev Patolya — Senior QA Engineer
  • Andrey Balashov — UX/UI Designer

Proposal Execution: 3—4 weeks

  • 3 weeks of development
  • 2 weeks of testing (starts after 1—2 weeks of development)

Payment details:

  • Hourly rate: 120 USD
  • Total team hours: 640
Theme Man-hours Estimate (hours)
iOS engineer
2 FTE
Android engineer
2 FTE
QA engineer
2 FTE
UX/UI designer
1 FTE
DevOps engineer
1 FTE
Team Lead
1FTE
Total
Expand supported tokens:
ERC-20 support
90 90 90 20 20 90 400
EVM Networking 60 60 60 0 0 60 240
Total 640

Clarifications for the table above:

  • While we have 2 engineers per platform (iOS/Android), Lead engineers will be involved in full-time development during all 3 weeks of development (120 hours), and the rest is allocated to Senior engineers for minor tasks execution & code-review activities (30 hours)
  • 2 QA engineers are splitting the work between each other equally
  • UX/UI designer is needed for M1 for minor tasks (prepare mockups for trivial features, such as “1.3 Add any ERC-20 token”), and there is no need for any UX/UI for EVM Networking features
  • DevOps engineer is needed for setting up the GitHub environment for “whitelisted” tokens and infrastructure operations
  • Team Lead is responsible for contributing to software architecture, design, and proposal execution & reporting

Total amount for M1: 76 800 USD

Requested amount is going to be divided between Moonbeam and Moonriver treasury in 80-20 ratio (respectfully):

  • Moonbeam part: $61 440:
    127 363.18 GLMR
    based on WMA(30): GLMR: 0.4824 (Binance)
  • Moonriver part: $15 360:
    1 416.97 MOVR
    based on WMA(30): MOVR: 10.84 (Binance)
    Please let us know if you have any suggestions or comments before we do so. Thank you!

6. Use of Treasury Funds

The treasury funds would be used for paying out to Novasama Technologies PTE LTD company for development expenses. The proposal execution will be started if the proposal will be approved.

This proposal covers M1 expenses and will allow us to propose future proposals (M2, M3) for developing such features, like:

  • Expand supported NFTs: ERC-721, ERC-1155 support
  • Hardware Wallets: Add Ledger support for Moonbeam/Moonriver
  • Improvements to existing Moonbeam/Moonriver features in Nova

7. Specifications

EVM-specific technical stack that is going to be integrated for M1 features:

  • web3j libraries for Android (Java) and iOS (Swift)
  • Moonscan API (based on Etherscan API) for fetching operation history
    Note: For future release we might unite existing way to fetch operation history for Substrate-based networks (via SubQuery) and new one for EVM-based networks in one datasource (might be SubQuery, Subsquid, etc)

Thank you for your attention and please let us know if you have any questsions/suggestions!
We would be more than happy to discuss them

Update 15-11-2022:

— Added information about amount divided in Moonbeam and Moonriver treasury proposals
— Treasury proposals have been submitted.

The beneficiary is a multisig account of Novasama Technologies.

  • Moonbeam: 0x232Bcd499e860BFcd240cf3c491654af77d79df9
  • Moonriver: 0x00894ae26dDFF53B6bD1159B0F30fEC444fB55c0
4 Likes

Hey, Anton! Thank you for your proposal!

As an active member of the Moonbeam community, I have a few questions I would like to ask you.

As I can see from the past list of grant recipients: Moonbeam Grant Recipients | Moonbeam Foundation, you have received two grants in GLMR and MOVR tokens.

  1. Could you please clarify whether the amount you received as a grant has been fully spent?

  2. Could you clarify how these funds were used?

  3. Could you please provide some indicators of how many active users the Nova wallet has?

  4. How many users interact with the Moonbeam & Moonriver network?

  5. Why is your hourly rate in the proposals on Kusama is $90 per hour, and in your proposal on Moonbeam it is $120 per hour?

  6. Why is the hourly rate so high?

  7. Why is the hourly rate the same for each employee?

  8. What is the reason that such a large number of employees are required?
    (I have seen your сlarifications, but it seems to me that the required number of employees is overstated)

  9. Why are you requesting the entire amount in GLMR tokens? This proposal includes services for Moonriver. It seems to me that the services that were provided for Moonriver would be correct to pay with MOVR tokens.

In fact, it seems to me that the number of tokens you are going to expand is extremely large, probably out of these 10 thousand tokens, most of them are spam tokens. I don’t see any particular need to add such a large number of tokens. You can probably pay attention to the top tokens based on volume, market capitalization, holders.

3 Likes

Hey hey @turrizt! Thank you so much for your questions, would be happy to address them! :sparkles:

As I can see from the past list of grant recipients: Moonbeam Grant Recipients | Moonbeam Foundation, you have received two grants in GLMR and MOVR tokens.

To clarify here — as part of the previous grants we have received compensation in GLMR & USDT, there was no MOVR part.

  1. Could you please clarify whether the amount you received as a grant has been fully spent?
  2. Could you clarify how these funds were used?

USDT part was received in full & used for salary expenses of Novasama Technologies, and the GLMR part is vested across 24 months, so we are slowly accumulating that. We would like to strategically stick with the Moonbeam network & in the future start with delegating these tokens, and then bootstrap our own collator with the hope that the community will support us! We are in the process of setting up DevOps processes & setting required infra for managing funds via MST/proxies accounts, so that’s why currently GLMR part is yet untouched.

  1. Could you please provide some indicators of how many active users the Nova wallet has?

Nova Wallet currently has 30 000+ active users, we are one of the fast-growing apps in the eco :muscle:

  1. How many users interact with the Moonbeam & Moonriver network?

Nova Wallet doesn’t collect any users’ data for the sake of privacy, but based on the communications on Telegram/Twitter Nova, I would say that around 40% — the community was demanding MOVR/GLMR staking a lot & was very happy once it was released, lots of the feedback we receive about DApp browser & Moonbeam DApps (like Stellaswap, Beamswap, Solarbeam), and recently there was a spike related to Raresama & EXO launch.

  1. Why is your hourly rate in the proposals on Kusama is $90 per hour, and in your proposal on Moonbeam it is $120 per hour?

In our next Kusama Treasury proposal (this month), we are going to charge $120 as well due to the inflation & additional expenses related to the ongoing war. In fact, we already used $120 in our Polkadot Treasury proposal (Omni Enterprise M2).

  1. Why is the hourly rate so high?

Novasama Technologies is fully funded by Treasuries (Polkadot/Kusama, and hope Moonbeam in near future!), as well as development contracts & ecosystem grants. We do not have any VCs/Investors involved & purely focused on building high-quality, community-oriented, open-source apps. The hourly rate includes also a buffer to cover delays, and cash gaps & partially further maintains expenses (e.g. Runtime updates). This rate is below the market when it comes for outsource development with blockchain domain knowledge, but it’s enough for us to continue building amazing products & slowly expand the products portfolio.

  1. Why is the hourly rate the same for each employee?

It’s a common practice for evaluating the scope of work for grants or outsourcing work — it provides a simple framework for planning the budget and estimating the proposals for both parties. In general, you can consider the whole team as a unit which can complete certain scope within certain timeframe, but we also providing a decomposition for the sake of transparency in terms of efforts & allocated team members.

  1. What is the reason that such a large number of employees are required?
    (I have seen your сlarifications, but it seems to me that the required number of employees is overstated)
    We need at least 2 mobile engineers (1 per platform) to do the research, software architecture, code & write automated tests. In addition to that, adding 2 more for review activities helps to keep both the quality on the desired level (by eliminating defects in the review phase) and reducing bus factor. So it’s 2 full-time mobile engineers and 2 part-time mobile engineers

We need at least 1 full-time QA engineer to verify & validate the deliverables on both iOS & Android, and practice shown that having 2 part-time engineers is better that 1 full-time, so that’s why we have 2 part-time engineers assigned.

We need relatively small efforts from UX/UI designer due to the nature of work in M1 proposal, so that justifies a minimum number of hours of UX/UI designer. Same for the DevOps expenses.

We need a team lead who will coordinate the team toward executing the proposal on time, reporting to the community, and contributing to the software architecture & product design

We are planning to involve more people (e.g. Content Manager for writing an article once the M1 will be completed & available), however, we tend to include only development expenses and such deliverables (like marketing/content articles/youtube videos) are coming as a “bonus” to the main deliverables, which are the apps themselves and the code.

  1. Why are you requesting the entire amount in GLMR tokens? This proposal includes services for Moonriver. It seems to me that the services that were provided for Moonriver would be correct to pay with MOVR tokens.

If there is a process to receive half in MOVR & half in GLMR then it’s fine for us! Although practice shows (based on Polkadot & Kusama Treasuries) that it usually introduces overhead for both proposers & councilors, and sometimes can result in a situation in which only half of the proposed amount is approved (e.g. GLMR one), and the second one is rejected (MOVR one) based on the different set of councilors. There were such cases on Polkadot & Kusama — Polkadot councilors have not agreed with Kusama councilors and rejected the proposal. So my take would be that it has usually been done for simplicity, but if the community of both Moonbeam & Moonriver would be interested to do the dual proposal then we can do it (I would stick with one Treasury though just for the sake of efforts spent).

In fact, it seems to me that the number of tokens you are going to expand is extremely large, probably out of these 10 thousand tokens, most of them are spam tokens. I don’t see any particular need to add such a large number of tokens. You can probably pay attention to the top tokens based on volume, market capitalization, holders.

Exactly! That’s why we have following features planned in the scope of M1:

1.2 Display by default only those which are “Whitelisted”:
Nova will maintain a list of “whitelisted” or “default” ERC-20 tokens for Moonbeam/Moonriver to show to the user

and

1.3 In Assets management allow the user to Add any ERC-20 token by the address:
Adding any token to the Nova by ERC-20 address.If the certain token is unknown, still allow the user to add it, however, ask them to paste the required information: name, ticker & precision

and

1.4 Enable/disable any known token:
Allows users to enable/disable any “whitelisted” token by Nova for a better experience

These three features not only allow us to define a “default” layout for ERC-20 tokens, avoiding “spam” tokens but also our users are able to conveniently manage their assets list by themselves!
So we will do our best to filter the ERC-20 collection, but also users would be able to easily customize their own experience.
Finally, ERC-20 is a standard, so from the technical side of things, it doesn’t matter which exact ERC-20 token you as a developer added to the wallet — once you added one of them, you added them all, so it’s a matter of how you define UX/UI around managing this ERC-20 so that user won’t be spammed with unknown/malicious tokens but at the same time would be able to see the top, well-known ones.

Please @turrizt let me know if you would like me to elaborate more on any of these answers, I would be happy to! And thank you so much — haven’t received that amount of questions for the proposal in a while :smiley: We believe that transparency and honesty is the key for communications!

2 Likes

Hey hey, Anton, I am grateful to you for the detailed and transparent answers. In fact, I really like the Nova wallet, and I am very grateful to you for your work. I see some feedback from users who really like the ability to stake using Nova wallet.

In one of your answers, I saw that you are based in Russia. It seems to me that the approximate hourly rate of a senior blockchain developer in Russia is about 30-50$. I still think your hourly rate is too high. Sorry, I don’t want to offend or hook in any way, just my subjective view of it.

do you have any plans to attract a strategic round of investments?
because I expect there will be a lot of interest in receiving funds from the Treasury in the near future, but as we know, funds are limited and we need to use them appropriately.

1 Like

Hey @turrizt ! Glad to hear that you & the community are enjoying Nova Wallet :sparkles:
That gives us a lot of motivation to move forward and build for the community!

In one of your answers, I saw that you are based in Russia. It seems to me that the approximate hourly rate of a senior blockchain developer in Russia is about 30-50$. I still think your hourly rate is too high. Sorry, I don’t want to offend or hook in any way, just my subjective view of it.

We were based in Russia before 2022 — now Novasama Technologies is operating as a Singapore entity (Novasama Technologies PTE LTD), and we are opening branches in Dubai & Berlin. Maintaining the business as a Russian entity nowadays is close to impossible taking into the context of war. Geographically our employees are also relocated/relocating from Russia

Although the salaries themselves that we have are close to that range (higher including taxes), this is only Direct labor. As a company that operates only based on such grants & contracts, the usual way of doing the accountancy is to have an hourly rate that includes not only Direct labor but also the cost for the company to maintain its existence, including HR expenses, billing time lag, safety buffers, margin percentage, office expenses, software subscriptions, legal expenses, accounting expenses, etc. — that sumups an hourly rate for a company which allows its existence.

Overall, when it comes to charging for offshore/outsourced development, the hourly rate may vary depending on: location, skillset, and project domain (in our case — mobile blockchain development). Although the offshore hourly rate for the default domain varies from $25-$200 (source), the blockchain domain increasing the resulted hourly rate due to lack of sufficient amount for a specialist with domain knowledge, requiring the company to hire, onboard, and invest in the employees. On top of that, domain implies a certain level of knowledge in the areas which are not usually required much — for example, it’s unusual for a mobile developer to deeply understand the algorithms & complex math since for most of the jobs it’s UI + a relatively trivial business logic

That being said, this is how we ended up with the selected rate for the proposal. I would like to add that previously we were charging less due to the market conditions (i.e. in bull market it was more like an investment), but nowadays we cannot afford that.

do you have any plans to attract a strategic round of investments?
because I expect there will be a lot of interest in receiving funds from the Treasury in the near future, but as we know, funds are limited and we need to use them appropriately.

We do not have any plans to conduct seed/any other investment rounds at this moment. Part of this is related to how we build the products — unbiased, without limits, without any additional fees for blockchain operations, without any promotions/data collections/etc — what you are getting from Nova Wallet is the latest, advanced features wrapped in convenient UX/UI with access to all the networks & their features, no hidden fees or whatsoever. Having VC/investors involved (depending on who they are, there are lots of really great ones in our ecosystem), there will be a grade of micromanagement, which is pretty much justified due to the fact that they are becoming the share- and/or token holders.

In my opinion, a lot of interest in receiving funds from the Treasury is a much, much better situation than having a treasury to which nobody is applying to — at the end of the day, the Treasury’s goal is to fund amazing ideas and to see them implemented, contributing to the network success and increasing its value.

1 Like

Hey Anton, thank you very much for such an amazing and detailed answer. I really appreciate it!
I think you have covered the topic well, and it will become clear to many how your hourly rate is calculated.

I completely agree with you, the fact is that Treasury, in my opinion, is quite small - 5M tokens and it is replenished only at the expense of 20% burnt gas fees. at the moment, this is not enough for treasury to accumulate reserves quickly. what worries me is that if most projects request about 200-100 k GLMR, then this will be enough to cover only 20-30 proposals. which, in my opinion, is quite small. that’s why I mentioned it. but, of course, this does not mean that these funds need to be kept under lock and key :slight_smile:

1 Like

Hi Anton,
Regarding your concern here, the interim council for the treasury is the same for Moonbeam and Moonriver, however, they are still run independently and funds are disbursed on-chain in native tokens (GLMR or MOVR). For the sake of discussion, I believe only one topic is enough, however, when submitting the on-chain proposal, I suggest that you split it between both chains, maybe in a weighted manner (e.g. 60% GLMR, 40% MOVR - just an idea!).

2 Likes

Hey hey @mtca ! Happy to have you here.

Thank you for your clarification. I think from our side both options are fine (submitting a proposal only to Moonbeam or to both Moonbeam and Moonriver). If councilors & community thinks that it would be better to split onchain proposal in two, then we will do it.

Let me discuss it internally with the cofounders and I will get back to you & others with our final decision.

1 Like

Greetings everyone!
Addressing @mtca suggestion about splitting Nova’s treasury proposal in two — we think it would be reasonable to split it in the following ratio:

  • 80% of the amount from Moonbeam
  • 20% of the amount from Moonriver

The reasoning behind it — total amount available from each treasury:

  • Moonbeam: 5 029 700 GLMR, approx. $ 2 514 850
  • Moonriver: 58 276 MOVR, approx. $ 641 036
  • Rates for 7th of November 2022: 1 GLMR == $0.5, 1 MOVR == $11
  • Moonbeam/Moonriver Treasury ratio: 3.92

Therefore, we would like it to follow this ratio, suggesting an 80/20 split.

Please let us know what you think!

1 Like

Hey, Anton, imho, your calculations look pretty reasonable!

1 Like

hey anton Regarding the following proposals, do you have an estimate of how much it would cost to implement these functions? for informational purposes only, if you don’t have it yet, no problem

1 Like

Hey @jose.crypto! Happy to have you here.

hey anton Regarding the following proposals, do you have an estimate of how much it would cost to implement these functions? for informational purposes only, if you don’t have it yet, no problem

I could only give the really vague/“gut feeling” estimates on these, but from what we had so far after discussing these features briefly on high-level:

  • M2: Expand supported NFTs (ERC-721, ERC-1155): ~2-3 weeks / $50 000—$75 000
  • M3: Hardware Wallets: Add Ledger Support for Moonbeam/Moonriver: ~2.5-3.5 weeks / $62 500—$87 500
  • M4: Improvements to existing Moonbeam/Moonriver features in Nova: ~1-1.5 weeks / $25 000—$37 500
    Note: M4 is an “open list” one, what we considered as a feature set for M4:
    M4-1: Add an option to search & delegate to non-elected collators for MOVR/GLMR staking
    M4-2: Add a Fee Setting screen to customize the gas limit and the base fee
    M4-3: Add MOVR/GLMR Staking auto-compounding
    M4-N: Any improvements found during M1—M3 execution

These are the oriented numbers that we see, for now, however, it’s subject to be changed once we get closer to researching/designing & estimating these features for each Milestone. Also, the Milestones’ content is subject to change based on what Moonbeam & Moonriver community thinks — we are here just to propose the feature sets based on our own experience & feedback from Moonbeam & Moonriver users in the Nova Wallet community.

Hope that helps! Please let me know if you have any questions.

1 Like

Greetings! Hope everyone is doing well.

We are planning today to submit the on-chain proposals for Nova Wallet M1 to both Moonbeam & Moonriver networks in the ratio mentioned above (80/20). This results in:

  • Moonbeam part: $61 440:
    127 363.18 GLMR
    based on WMA(30): GLMR: 0.4824 (Binance)
  • Moonriver part: $15 360:
    1 416.97 MOVR
    based on WMA(30): MOVR: 10.84 (Binance)

Please let us know if you have any suggestions or comments before we do so. Thank you!

1 Like

Treasury proposals have been submitted.

The beneficiary is a multisig account of Novasama Technologies.

  • Moonbeam: 0x232Bcd499e860BFcd240cf3c491654af77d79df9
  • Moonriver: 0x00894ae26dDFF53B6bD1159B0F30fEC444fB55c0

Would be glad if someone could update the title of this thread (set the Proposal number & update the Status). For some reason, I cannot do that.

Please let us know if you have any questions!

2 Likes

Hey, Anton!
I changed the title :slight_smile:

1 Like

I do feel this is something that is urgently needed. Metamask users are disconnected from the DOTSAMA echo just in terms of wallet/asset access. Many great projects like mine and my great friends at Huckleberry, etc seem to be withering in a siloed enviroment which has little to no advantage from BSC, ETH, etc.

I have a small token that went from just tinkering around on moonriver, to now having 7 close friends testing it, using it but a PITA to use metamask when we also are pretty vested in Kusama, and DOT. I really think Moonriver could thrive with this type of integration. Say what you want but Anton has made the best application in crypto. Just from my perspective I have gotten friends to trust a wallet vs just staking on Kraken mostly because of the UI. I mean you want more activity on DOTSAMA a good wallet that can show off governance, staking, etc is a must and, if we can whitelist our custom tokens, see our MOVR and Moonbeam tokens (Finn, Tom, Solarbeam, Moonbeans) and be able to send/recieve/import etc I think this is almost critical otherwise you really aren’t going to have full interoperability and we will still have no advantages of using Moonriver when we are just a chain ID away chain on clunky Metamask. Think it could unleash allot of potential energy and i’d love to ride the kinetic energy.

3 Likes

Thanks @Anton.Day7.Khvorov - I agree, I think this is a good ratio that projects should adopt for treasury proposals going forwards when applying for treasury funds that are a common good for both networks!

2 Likes

Hi @Anton.Day7.Khvorov - thank you for submitting. Apologies for the delay. We will advance the GLMR proposal to council to be voted on shortly.

For MOVR, unfortunately, there will be some additional delay as we need to get the treasury council member addresses officially in place on the Moonriver chain which will need to be done via governance. I believe the proposal is going to go up soon and we have no reason to believe it won’t pass.

2 Likes

@Anton.Day7.Khvorov - could you please edit your original post to incorporate any changes? For example, the amounts requested for each network. We want to make sure the post itself contains all the details.

Thanks

2 Likes

Hey @turrizt ! Would appreciate if you could help me update original post since it seems I cannot do it by myself. Based on @aaron.mbf suggestion, I have added details about Amount being divided between Moonbeam and Moonriver Treasuries, and regarding submitted onchain proposals.

The post:

Nova Wallet Moonbeam Treasury proposal:
Milestone 1 — ERC20 tokens integration and management

1. Abstract

This proposal aims to extend Nova Wallet assets management by introducing support for ERC-20 tokens. In addition to that, doing so will significantly simplify further integration of EVM features, such as extending supported NFTs with ERC-721, ERC-1155, Moonbeam Ledger integration, and any other features that utilize the EVM side of the Moonbeam ecosystem.

2. Motivation

Moonbeam eco users are showing demand (e.g. recent feature request) in managing ERC-20 tokens of Moonbeam eco, as well as asking for more EVM features available right in Nova Wallet.

Our motivation is iteratively to expand the feature set of Nova, starting with this proposal, and ERC-20 tokens management seems to be the scope that will not only provide a user-friendly interface for managing all Polkadot/Kusama ecosystem tokens but also will establish a foundation in Nova’s code base for incorporating more Moonbeam EVM features, allowing Moonbeam users to utilize a complete spectrum of ecosystem features in a mobile format.

We would like to hear the feedback for the proposed set of features in M1 (this proposal), as well as collect ideas/suggestions for the feature set in future proposals (M2, M3, etc) to adjust the proposed priorities/scope.

3. Project Overview and Team Experience

Nova Wallet is a next-gen mobile app for Polkadot eco & beyond:
:milky_way: 63+ Polkadot networks
:sparkling_heart: Amazing UX/UI
:sparkles: Community-focused
:zap: Fast & Feature-rich
:twisted_rightwards_arrows: 140+ Cross-chain transfers
:pancakes: GLMR, MOVR, DOT, KSM, PDEX, AZERO, TUR, CAP, KMA user-friendly onchain staking
:rocket: Polkadot & Kusama Crowdloans
:globe_with_meridians: DApp browser with Polkadot JS & MetaMask integration
:bird: Access to RMRK & Statemine NFTs
:iphone: Hardware wallets support: Parity Signer, Ledger Nano X
:mechanical_arm: Secure & Open source

Recent Achievements of Nova
1 Leading mobile app for cross-chain transfers in Polkadot & Kusama eco
2 The first and only mobile app with hardware wallets support in eco: Parity Signer & Ledger
3 Nova Wallet & Moonbeam: The Ultimate Wallet Experience!

Our team has been developing native mobile apps for Substrate/Polkadot eco for more than 3 years now. Recently we expanded the team size of Nova from 8 to 11 to increase the development velocity and quality of our products. In parallel, the second project of Novasama Technologies — Omni Enterprise, a desktop app for Polkadot eco — is being built by our second, newly formed team. We are the patrons of the Polkadot ecosystem and a highly motivated team to elevate the UX of user-facing applications, with the goal of them being the leading apps in the web3 industry.

Apart from developing the mobile & desktop apps themselves, our team is consistently contributing to the ecosystem by providing open source SDK, design assets, knowledge-sharing sessions, and infrastructure. Examples:

  1. Substrate SDKs for iOS and Android development
  2. Nova Utils GitHub — metadata & configs for networks, crowdloans, DApps, cross-chain transfers
  3. SubQuery API projects developed and hosted by Nova Wallet team
  4. Nova Assets Figma — Polkadot eco tokens, networks, DApps

4. Rationale

The Nova Wallet has become a leading choice for most of the users in the Polkadot & Moonbeam ecosystem when it comes for operating with the assets on a mobile device (read more in the article: Nova Wallet & Moonbeam: The Ultimate Wallet Experience!) due to the rich set of features its providing.
However, the majority of existing features are relying only on Substrate-based side of the Moonbeam ecosystem, therefore some of the features cannot be accessed via Nova at this moment.

The M1 proposal would expand amount of supported assets of Moonbeam & Moonriver in Nova Wallet from 26 to 10 044 tokens by adding support of ERC-20 (ref: Moonbeam, Moonriver ERC-20)

We believe that the rationality of this and upcoming proposals would be to have Nova Wallet as complete mobile app for the Moonbeam ecosystem which would be able to serve any intent of Moonbeam users.

We also believe that nowadays majority of users are relying on mobile access when it comes to managing their assets, therefore having a complete mobile app like Nova would allow expanding the user base for the Moonbeam ecosystem.

5. Overall Cost & Scope

Table below describes our vision for M1 and ERC-20 tokens integration scope:

Theme Feature Description
1. Expand supported tokens:
ERC-20 support
1.1 Plug/maintain the collection of known and verified ERC-20 assets on Moonbeam/Moonriver, extend database to support ERC-20 tokens For fetching name, ticker, and precision of known ERC-20 so that users would be able to see all tokens in one app.
1.2 Display by default only those which are “Whitelisted” Nova will maintain a list of “whitelisted” or “default” ERC-20 tokens for Moonbeam/Moonriver to show to the user
1.3 In Assets management allow the user to Add any ERC-20 token by the address Adding any token to the Nova by ERC-20 address.If the certain token is unknown, still allow the user to add it, however, ask them to paste the required information: name, ticker & precision
1.4 Enable/disable any known token Allows user to enable/disable any “whitelisted” token by Nova for a better experience
1.5 Add data source for Operation history for ERC-20 tokens ERC-20 operation history would be first bootstrapped via Moonscan (Etherscan) API and later one plugged to Nova’s SubQuery infrastructure
1.6 Implement transfer call and calls for fetching the network fees, nonce To provide a better flow of transfers
Note: Cross-chain transfers will still use Substrate API due to how fees are calculated on other networks
2. EVM Networking 2.1 Integrate WebSocket connection for EVM API to fetch/update balances Required tech stack to build in Nova for EVM features & specifics
2.2 Integrate web3 library for EVM operations
2.3 Block parsing to fetch events and balances changes
2.4 Autobalance EVM nodes depending on response time and/or health-check API result

Nova Wallet team for M1 Moonbeam proposal:

  • Anton Khvorov — CEO & Engineering Team Lead
  • Ruslan Rezin — CTO & Lead iOS Engineer
  • Valentin Sergeev — Lead Android Engineer
  • Gulnaz Almuhametova — Senior iOS Engineer
  • Antony Zelinsky — Senior Android Engineer
  • Stepan Lavrentyev — Lead QA Engineer & DevOps
  • Lev Patolya — Senior QA Engineer
  • Andrey Balashov — UX/UI Designer

Proposal Execution: 3—4 weeks

  • 3 weeks of development
  • 2 weeks of testing (starts after 1—2 weeks of development)

Payment details:

  • Hourly rate: 120 USD
  • Total team hours: 640
Theme Man-hours Estimate (hours)
iOS engineer
2 FTE
Android engineer
2 FTE
QA engineer
2 FTE
UX/UI designer
1 FTE
DevOps engineer
1 FTE
Team Lead
1FTE
Total
Expand supported tokens:
ERC-20 support
90 90 90 20 20 90 400
EVM Networking 60 60 60 0 0 60 240
Total 640

Clarifications for the table above:

  • While we have 2 engineers per platform (iOS/Android), Lead engineers will be involved in full-time development during all 3 weeks of development (120 hours), and the rest is allocated to Senior engineers for minor tasks execution & code-review activities (30 hours)
  • 2 QA engineers are splitting the work between each other equally
  • UX/UI designer is needed for M1 for minor tasks (prepare mockups for trivial features, such as “1.3 Add any ERC-20 token”), and there is no need for any UX/UI for EVM Networking features
  • DevOps engineer is needed for setting up the GitHub environment for “whitelisted” tokens and infrastructure operations
  • Team Lead is responsible for contributing to software architecture, design, and proposal execution & reporting

Total amount for M1: 76 800 USD

Requested amount is going to be divided between Moonbeam and Moonriver treasury in 80-20 ratio (respectfully):

  • Moonbeam part: $61 440:
    127 363.18 GLMR
    based on WMA(30): GLMR: 0.4824 (Binance)
  • Moonriver part: $15 360:
    1 416.97 MOVR
    based on WMA(30): MOVR: 10.84 (Binance)
    Please let us know if you have any suggestions or comments before we do so. Thank you!

6. Use of Treasury Funds

The treasury funds would be used for paying out to Novasama Technologies PTE LTD company for development expenses. The proposal execution will be started if the proposal will be approved.

This proposal covers M1 expenses and will allow us to propose future proposals (M2, M3) for developing such features, like:

  • Expand supported NFTs: ERC-721, ERC-1155 support
  • Hardware Wallets: Add Ledger support for Moonbeam/Moonriver
  • Improvements to existing Moonbeam/Moonriver features in Nova

7. Specifications

EVM-specific technical stack that is going to be integrated for M1 features:

  • web3j libraries for Android (Java) and iOS (Swift)
  • Moonscan API (based on Etherscan API) for fetching operation history
    Note: For future release we might unite existing way to fetch operation history for Substrate-based networks (via SubQuery) and new one for EVM-based networks in one datasource (might be SubQuery, Subsquid, etc)




Thank you for your attention and please let us know if you have any questsions/suggestions!
We would be more than happy to discuss them

Update 15-11-2022:

— Added information about amount divided in Moonbeam and Moonriver treasury proposals
— Treasury proposals have been submitted.

The beneficiary is a multisig account of Novasama Technologies.

  • Moonbeam: 0x232Bcd499e860BFcd240cf3c491654af77d79df9
  • Moonriver: 0x00894ae26dDFF53B6bD1159B0F30fEC444fB55c0