# @burner-wallet/core

> This library provides the core blockchain infrastructure for running Burner Wallets.

Latest version **1.2.3** (published 2021-07-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install @burner-wallet/core
pnpm add @burner-wallet/core
yarn add @burner-wallet/core
bun add @burner-wallet/core
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.3 |
| Published | 2021-07-19 |
| First published | 2019-06-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 36.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | dmihal |

## Links

- npm: https://www.npmjs.com/package/@burner-wallet/core
- npm.io page: https://npm.io/package/@burner-wallet/core

## Dependencies (4)

- [web3](https://npm.io/package/web3.md) ^1.2.2
- [eth-sig-util](https://npm.io/package/eth-sig-util.md) ^2.5.3
- [web3-provider-engine](https://npm.io/package/web3-provider-engine.md) ^15.0.12
- [@burner-wallet/assets](https://npm.io/package/@burner-wallet/assets.md) ^1.1.0

## Recent versions

- 1.2.3 (latest) — 2021-07-19
- 1.1.11-beta.1 (beta) — 2020-07-27
- 1.1.2 (next) — 2020-01-31
- 1.2.2 — 2020-08-24
- 1.2.1 — 2020-08-24
- 1.2.0 — 2020-08-24
- 1.1.12 — 2020-08-24
- 1.1.11 — 2020-07-27
- 1.1.11-beta.0 — 2020-07-27
- 1.1.10 — 2020-06-30
- 1.1.9 — 2020-04-04
- 1.1.8 — 2020-02-13
- 1.1.7 — 2020-02-07
- 1.1.6 — 2020-02-02
- 1.1.5 — 2020-02-02
- … 42 more at https://npm.io/package/@burner-wallet/core/versions

## README

# @burner-wallet/core

This library provides the core blockchain infrastructure for running Burner Wallets.

Unlike most Burner Wallet modules, this module is framework-agnostic and written in plain
Javascript. It should work fine in browsers, web workers and Node.

```javascript
import { xdai, dai, eth } from '@burner-wallet/assets';
import BurnerCore from '@burner-wallet/core';
import { InjectedSigner, LocalSigner } from '@burner-wallet/core/signers';
import { InfuraGateway, InjectedGateway, XDaiGateway } from '@burner-wallet/core/gateways';

const core = new BurnerCore({
  signers: [
    new InjectedSigner(),
    new LocalSigner()
  ],
  gateways: [
    new InjectedGateway(),
    new InfuraGateway(process.env.REACT_APP_INFURA_KEY),
    new XDaiGateway(),
  ],
  assets: [xdai, dai, eth],
});
```

## Documentation

For full documentation, visit https://burner-wallet.readthedocs.io/

## Burner Core

The root class facilitates communication between gateways, signers & assets. It also provides
applications with data such as a list of current addresses.

## Gateways

Gateways facilitate communication with blockchain networks.

This module contains the following gateways:

* InfuraGateway: Provides access to mainnet Ethereum and all testnets. Requires an API key
* RivetGateway: Provides access to mainnet Ethereum and most testnets. Requires an API key
* XDaiGateway: Provides access to xDai chain
* HTTPGateway: Provides access to any Ethereum chain by providing a JSON-RPC URL
* InjectedGateway: Connect to the chain provided by an injected Web3 provider
* GSNGateway: Route transactions through Gas Station Network relayers. Supports mainnet, testnets & xDai

## Signers

Signers are responsible for signing transactions and messages, as well as reporting the list of
available accounts.

This module contains two signers:

* LocalSigner: stores a private key in the browser's localstorage
* InjectedSigner: signs using an injected web3 provider such as Metamask

An abstract class Signer is available for other modules that want to define their own signers 
(example: FortmaticSigner).

BurnerCore also automatically adds TempSigner. TempSigner is functionally similar to LocalSigner,
and allows wallets to temporarily add a new account. This is mainly used for transfering assets
while switching accounts.

## Assets

Assets represent fungible assets. View the @burner-wallet/assets package for more details.

---
_Source: https://npm.io/package/@burner-wallet/core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
