# @lazyledger/protobuf3-solidity-lib

> Codec library for protobuf3 in Solidity

Latest version **0.6.0** (published 2022-03-20) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @lazyledger/protobuf3-solidity-lib
pnpm add @lazyledger/protobuf3-solidity-lib
yarn add @lazyledger/protobuf3-solidity-lib
bun add @lazyledger/protobuf3-solidity-lib
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.0 |
| Published | 2022-03-20 |
| First published | 2020-08-31 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 94.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | lazyledger_user |

## Links

- npm: https://www.npmjs.com/package/@lazyledger/protobuf3-solidity-lib
- Repository: https://github.com/lazyledger/protobuf3-solidity-lib
- Homepage: https://github.com/lazyledger/protobuf3-solidity-lib#readme
- Issues: https://github.com/lazyledger/protobuf3-solidity-lib/issues
- npm.io page: https://npm.io/package/@lazyledger/protobuf3-solidity-lib

## Recent versions

- 0.6.0 (latest) — 2022-03-20
- 0.5.1 — 2020-09-08
- 0.5.0 — 2020-09-07
- 0.4.4 — 2020-09-03
- 0.4.2 — 2020-09-01
- 0.4.1 — 2020-09-01
- 0.3.0 — 2020-08-31
- 0.2.0 — 2020-08-31
- 0.1.1 — 2020-08-31

## README

# protobuf3-solidity-lib

[![NPM Package](https://img.shields.io/npm/v/@lazyledger/protobuf3-solidity-lib)](https://www.npmjs.org/package/@lazyledger/protobuf3-solidity-lib)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/lazyledger/protobuf3-solidity-lib)](https://github.com/lazyledger/protobuf3-solidity-lib/releases)
[![Node.js CI](https://github.com/lazyledger/protobuf3-solidity-lib/workflows/Node.js%20CI/badge.svg)](https://github.com/lazyledger/protobuf3-solidity-lib/actions?query=workflow%3A%22Node.js+CI%22)
[![GitHub](https://img.shields.io/github/license/lazyledger/protobuf3-solidity-lib)](https://github.com/lazyledger/protobuf3-solidity-lib/blob/master/LICENSE)

Codec library for [protobuf3](https://developers.google.com/protocol-buffers) in Solidity. This library provides [encoding and decoding functions for core protobuf3 types](https://developers.google.com/protocol-buffers/docs/encoding).

## Overview

### Installation

```sh
npm install --save @lazyledger/protobuf3-solidity-lib
```

### Usage

Import the library in Solidity:

```solidity
pragma solidity >=0.8.4 <0.9.0;

import "@lazyledger/protobuf3-solidity-lib/contracts/ProtobufLib.sol";
```

## Building from source

Install dependencies:

```sh
npm install
```

Build:

```sh
npm run build
```

Test:

```sh
npm run test
```

## Supported Features

| type              | decode | encode |
|-------------------|:------:|:------:|
| key               |   ✔️   |   ✔️   |
| varint            |   ✔️   |   ✔️   |
| `int32`           |   ✔️   |   ✔️   |
| `int64`           |   ✔️   |   ✔️   |
| `uint32`          |   ✔️   |   ✔️   |
| `uint64`          |   ✔️   |   ✔️   |
| `sint32`          |   ✔️   |   ✔️   |
| `sint64`          |   ✔️   |   ✔️   |
| `fixed32`         |   ✔️   |   ✔️   |
| `sfixed32`        |   ✔️   |   ✔️   |
| `fixed64`         |   ✔️   |   ✔️   |
| `sfixed64`        |   ✔️   |   ✔️   |
| `bool`            |   ✔️   |   ✔️   |
| enum              |   ✔️   |   ✔️   |
| `string`          |   ✔️   |   ✔️   |
| `bytes`           |   ✔️   |   ✔️   |
| embedded messages |   ✔️   |   ✔️   |
| packed repeated   |   ✔️   |   ✔️   |

### Unsupported Features

Start and end group deprecated wire types, `float`, `double` field types.

---
_Source: https://npm.io/package/@lazyledger/protobuf3-solidity-lib · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
