Giter Site home page Giter Site logo

superhero-com / superhero-wallet Goto Github PK

View Code? Open in Web Editor NEW
39.0 10.0 37.0 62.68 MB

Superhero Wallet – More than just a way to receive, store & send tokens on the æternity blockchain

Home Page: https://wallet.superhero.com

License: ISC License

JavaScript 6.85% Vue 60.32% HTML 0.43% Dockerfile 0.01% SCSS 0.79% TypeScript 31.26% Java 0.08% Swift 0.18% Ruby 0.10%
hacktoberfest superhero

superhero-wallet's Introduction

Superhero Wallet

Superhero is a multi-blockchain wallet to manage crypto assets and navigate the web3 and DeFi space. Powered by æternity.

main action codeql test

Guides & Examples

Build

Clone the master branch of this repo.

$ git clone https://github.com/superhero-com/superhero-wallet.git
$ cd superhero-wallet

Build locally

$ npm install
$ npm run build
$ npm run build:extension:ff # build firefox extension
$ npm run build:extension:chrome # build chrome extension
$ npm run build:extension # build firefox and chrome extensions
$ npm run build:web # build a web version
$ npm run build:android # to build android application
$ npm run build:ios # to build ios application

Develop locally

$ npm install
$ npm run watch # watch an extension
$ npm run serve # watch a web version

Run tests

$ npm install
$ npm run test:unit
$ npm run test:e2e
$ npm run test # to run both unit and e2e tests

Add to browser via local build or release zip

  • Chromium based (Chrome, Brave, Opera)
  1. Open chrome/brave browser Preferences -> More tools > Extensions
  2. Make sure Developer mode is On in the right corner.
  3. Click the Load unpacked button and select the generated dist folder in the cloned repo or the unarchived release folder.
  • Firefox
  1. Open the Firefox menu and select Add-ons section.
  2. Click the Tools for all add-ons button and select Debug Add-ons
  3. Click Load a temporary add-on and navigate to the generated dist folder in the cloned repo or the unarchived release folder and select the manifest.json file.

Build Cordova version for production

iOS

  • create Xcode project by npm run build:ios
  • open created project in Xcode
  • Go to TARGETS->App
  • open Signing & Capabilities
  • enable signing by the corresponding development team
  • ensure that applinks:wallet.superhero.com is in Associated domains feature
  • open Build Settings
  • switch "Code Signing Identity => Release" and "Code Signing Identity => Release => Any iOS SDK" from "iOS Distribution" to "iOS Developer"
  • In the Info Tab ensure that you have the following permissions set. Privacy - Camera Usage Description, Privacy - Photo Library Usage Description and Privacy - Photo Library Additions Usage Description
  • Update in General Tab desired Release Version and Build Number
  • choose Product => Archive
  • In the organizer you can distribute app to Testflight and AppStore

Android

build a production version signed by the corresponding key (see):

npm run build:android

Security

If you discover a security vulnerability within this application, please get in touch with us. All security vulnerabilities will be promptly addressed.

Tooling

This project is tested with BrowserStack.

Contribution

Contributions are more than welcome.

If you spot an issue while testing/using the extension - submit an issue

If you want to help us with building this amazing project submit your PR!

superhero-wallet's People

Contributors

atanaskrondev avatar cedriknikita avatar davidyuk avatar erkankanden avatar etharner avatar ifaouibadi avatar imollov avatar kenodressel avatar konradodo avatar konradodoramp avatar lgtm-migrator avatar martinkaintas avatar mmpetarpeshev avatar mradkov avatar paolomolo avatar peronczyk avatar petarbaykov avatar pstachel avatar smaroudas avatar stanislav-slavov avatar subhod-i avatar thepiwo avatar thescientress avatar ubikalopro avatar vmangelovv avatar zgiovas avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

superhero-wallet's Issues

Setup CI

Setup Travis / Circle for running tests

Can not accept tips

Update Message on Success Screen

image

Maybe this text in place of the old one?

Your wallet has been created.
Welcome to the free web!

Trustless: no third-party intervention
Transactions are fully P2P.

No censorship
There are no custodians to dictate what can and cannot be monetized.

Immortalize messages on the blockchain
Comments and messages are timestamped and recorded on the blockchain—forever.

Instant, borderless, transactions at near-zero fees.

Button:
Proceed to your Wallet

Æternal notification about seed phrase linking no where

Hi!!

I have noticed that the notifications bell of the extension is always showing the "You need to backup your seed" , even though you have already done so, the bell still keeps on showing a "1".

And when clicking the bell to see the notification, you see a supposedly clickable text to backup the seed that does nothing when clicking. This happens in both Firefox and Chrome version 0.0.9.

image

Off-chain comment view

Create a page (similar to the send-tip) for signing and sending off-chain comments associated with an tip Id to the backend.

Add new tipping contract interface and address

Tipping contract interface:

contract OracleService =
  record success_claim = { success : bool, caller : address, percentage : int }

  stateful entrypoint check_persist_claim : (string, address, bool) => success_claim
  payable stateful entrypoint query_oracle : (string, address) => unit

contract Tipping =
  type tip_id = int
  type url_id = int
  type retip_id = int
  type url = string
  type claim_gen = int

  record tip = { sender : address, title : string, claim_gen : claim_gen, timestamp : int, url_id : url_id, amount : int }
  record retip = { sender : address, amount : int, claim_gen : claim_gen, tip_id : tip_id }
  record state = { urls : map(url, url_id), claims : map(url_id, claim_gen * int), url_index : map(url_id, url), tips : map(tip_id, tip), retips : map(retip_id, retip), owner : address, oracle_service : OracleService }

  payable stateful entrypoint tip : (string, string) => unit
  payable stateful entrypoint retip : (tip_id) => unit
  payable stateful entrypoint pre_claim : (string, address) => unit
  stateful entrypoint claim : (string, address, bool) => unit
  entrypoint get_state : () => state

Address:

ct_2AfnEfCSZCTEkxL5Yoi4Yfq6fF7YapHRaFKDJK3THMXMBspp5z

fix qr code issues

QRCode on is not easily read-able.

Fix: add small border (white) of the qr code on the TopUp Page

Switch node endpoint

Use mainnet.aeternity.io for node related operations.

Note: there is no mdw hosted there, only node

Documentation

Create wiki section here in github.

  • document the protocols being used
  • integrations we use in the wallet
  • services which we connect to
  • how 3rd party developers can use superhero wallet in their applications

Claim button modal

Show a popup which indicates some action is being done.

Maybe display the current URL that its being claimed and if there are any tips to be claimed.

Eg.

URL: .....
There are no tips to be claimed here

or

URL:....
Tips on this URL: 10
Claim request sent!

Automatically sync browser storage with vuex storage

Vue applications supposed to use vuex for storage and mutation of the globally available state. This pattern a bit broken in our app because in several places components working directly with browser storage (browser.storage.local.get/set calls) instead of vuex. This makes components more complex and may lead to reactivity issues. I proposing to write a vuex plugin that will automatically sync necessary fields of vuex store with browser storage.

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.