Coder Social home page Coder Social logo

sim4n6 / extension Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leather-io/extension

0.0 0.0 0.0 43.16 MB

Leather Web Extension

Home Page: https://leather.io

License: MIT License

Shell 0.03% JavaScript 1.88% TypeScript 97.49% CSS 0.06% HTML 0.18% Clarity 0.31% MDX 0.05%

extension's Introduction

Leather

Chrome Web Store coverage semantic-release storybook

Leather is the most popular and trusted wallet for apps built on Bitcoin. Connect to apps and manage assets secured by Bitcoin and Bitcoin L2s with battle-tested wallet for the Stacks blockchain.

๐Ÿ“š See Leather Developer Documentation โ†’

๐Ÿ“ฉ Join the mailing list for updates โ†’

Contibuting

Please see our contribution guide

Development

This application is a Web Extension. There is no ability to run it as a standalone web application.

Each child of the src directory represents the script context in which it is ran.

Install packages

pnpm i

Dev mode

pnpm dev

Optional: run test app

We bundle a test app to use along with the extension. It gives easy access to the various functions that the extension can do.

In a separate terminal, run:

pnpm dev:test-app

Loading extension in your browser

You'll need to add it to your browser of choice. Leather only supports Chromium and Firefox browsers. When you run pnpm dev, it will compile the application to the /dist folder

Testing

Several testing scripts are available in package.json.

The integration tests expect the extension to be built prior to running. The extension can be built for tests with the command below.

pnpm build:test

The integration tests use Playwright, which requires the system to have the browsers it needs. The following command installs everything Playwright needs.

pnpm playwright install --with-deps

Note that the installed browsers are tied to the version of Playwright being used, and it may be necessary to run the above command again in some situations, such as when upgrading Playwright or switching branches. Read the documentation for more information.

All integration tests can be run using:

pnpm test:integration

To run a suite of tests you can use:

pnpm playwright test specs/TEST.spec.ts
pnpm playwright test tests/specs --shard=3/8

To get more information when running tests you can pass the --debug flag or the --ui flag to playwright.

When running tests locally you must add the following to your .env file:

WALLET_ENVIRONMENT=testing

Unit tests

Unit tests can be run with vitest using:

pnpm test:unit

Production

See instructions on Leather.io to install from source

Alternatively, the following steps can be taken by technical users with the latest version of node installed on their machines.

Build from source

Run the following from within this repository's root directory if you've pulled it with Git:

pnpm && pnpm prepare && pnpm build

The extension is now built in the ./dist folder.

Firefox reviewers

To build the extension in Firefox mode, the TARGET_BROWSER=firefox variable needs to be set.

pnpm && pnpm prepare && TARGET_BROWSER=firefox pnpm build

Note that when building in a clean environment, some code may vary between this and the submitted build. This is because some variables are set within the scope of the production build's CI.

Security

We consider the security of our systems a top priority. But no matter how much effort we put into system security, there can still be vulnerabilities present.

If you discover a security vulnerability, please use one of the following means of communications to report it to us:

Please note this email is strictly for reporting security vulnerabilities. For support queries, contact [email protected]. Your efforts to responsibly disclose your findings are sincerely appreciated and will be taken into account to acknowledge your contributions.

Audit Report

In Q1 2021, Leather partnered with Least Authority, a leading security consultancy with experience in the crypto space, to audit Leather. On April 29th 2021, after addressing the major concerns described in the initial findings, as well as a concluding sign off from the Least Authority team, a final report was delivered.

Download and read the full report here

extension's People

Contributors

kyranjamie avatar fbwoolf avatar aulneau avatar hstove avatar semantic-release-bot avatar alter-eggo avatar pete-watters avatar beguene avatar edu-stx avatar actions-user avatar github-actions[bot] avatar edgarkhanzadian avatar polybius93 avatar charliec3 avatar friedger avatar timstackblock avatar blockstack-devops avatar markmhendrickson avatar dependabot[bot] avatar janniks avatar wileyj avatar mihirkachroo avatar jeeanribeiro avatar marvinjanssen avatar snyk-bot avatar andresgalante avatar fabric-8 avatar nithishvb avatar luciorubeens avatar ddanielcruzz avatar

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.