Giter Club home page Giter Club logo

gnt2's Introduction

gnt2

The new incarnation of the Golem Network Token

gnt2-migration-ui

It was gnt2 migration UI used for migrating token, no longer needed and not working right now

Go back to https://github.com/golemfactory/gnt2/tree/legacy to last working version with old node libraries

gnt2-contracts

Project for contract creation, compilation and testing

gnt2-docker-yagna

Docker image and script for running GOTH tests. You can deploy contracts based scripts located there or using foundry directly from gnt2-contracts

Setup

Check .github\workflows\main.yml for setup example

Use foundry for testing, look at .github\workflows\foundry.yml for example

gnt2's People

Contributors

scx1332 avatar jozwiaczek avatar shadeofblue avatar alexchorman avatar maaktweluit avatar kamirr avatar pociej avatar rzadp avatar bidzyyys avatar prekucki avatar wiezzel avatar jiivan avatar grisha87 avatar mat7ias avatar cryptobench avatar tworec avatar

Stargazers

Kevin Alexander Scott Jellis avatar  avatar

Watchers

James Cloos avatar Viggith avatar  avatar  avatar

gnt2's Issues

Liberate aka Reset owner

  • one additonal, special, parameter-less method must be added to the contract to set the contract owner to 0 address
  • this method will be callable by anyone
  • the only condition to be verified is that the transition_period has passed

Research easier onboarding/offboarding

we want to support both on-ramping and off-ramping. Does ERC-20 compliance suffice or do additional features need to be added to the contract (or one of the cooperating contracts in case of the modular approach) to support them?

Implement MigrationAgent interface

NGNT should be able be set as MigrationAgent in the GNT.

This issue is done when:

  • NGNT smart contract implements the MigrationAgent interface
  • Automate tests show that it's possible to migrate funds to the new token

Trigger migrate transaction (happy path)

  • Simple UI, not according to designs yet
  • Happy path only, so do not handle failed transactions yet
  • No progress monitoring, just trigger the transaction and (optionally) update balances when transaction complete

Kill switch in NGNT contract

  • When kill switch is activated, it's not possible to perform any operations on the token
  • Kill switch can be activated only by owner
  • Kill switch can be activated only in transition period

Transaction progress screen

When transaction is started user sees modal with "Transaction in progress".

  • spinner
  • link to transaction on etherscan

Upon completing migration user should see a summary with:

  • amount migrated
  • link to transaction on etherscan
  • link to main migration page (X)

Configure CI/CD

Configure CI build, including running tests.

Deployment of the frontend app should be done automatically to some cryptic URL.

Deploy to netlify

Deploy development version of the app to netlify when master is changed.

Handle Metamask not installed

If window.ethereum is not available or window.ethereum.isMetaMask is false, ask the user to install MetaMask extension.

Testnet environment

We want to have an environment for testing the migration app which is similar to Ethereum mainnet.

Open questions:

  • which testnet to use? Ropsten because it's PoW?
  • does Golem have contracts and accounts available for testing or do we deploy our own contract set?

Research possible token structures

As stated in migration scope doc:

We'd like to explore two main approaches:

  1. modular - the new GNT contract is purely ERC-20 (plus kill switch feature described below) and any additional features are implemented using sister contracts that supplement the main one (similar to how currently GNTB supplements the original GNT with batching transactions)
  2. monolithic - all the features described here are implemented in one, monolithic contract
  3. hybrid - potentially, the final token contract can be a combination of the above - where some features beside the kill-switch are implemented in the base contract and some features are added in the add-on contracts

Ethworks should prepare an implementation proposal for both of those approaches alongside the main pros and cons for each one - or - if the hybrid solution is chosen - reasoning behind such decision.

Research output:

  • Recommendation of approach with reasoning

Handle wrong network

If we are connected to a wrong network then we show a message to the user, but disallow any other interactions.

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.