Codec library for protobuf3 in Solidity. This library provides encoding and decoding functions for core protobuf3 types.
npm install --save @lazyledger/protobuf3-solidity-libImport the library in Solidity:
pragma solidity >=0.8.4 <0.9.0;
import "@lazyledger/protobuf3-solidity-lib/contracts/ProtobufLib.sol";Install dependencies:
npm installBuild:
npm run buildTest:
npm run test| type | decode | encode |
|---|---|---|
| key | ✔️ | ✔️ |
| varint | ✔️ | ✔️ |
int32 |
✔️ | ✔️ |
int64 |
✔️ | ✔️ |
uint32 |
✔️ | ✔️ |
uint64 |
✔️ | ✔️ |
sint32 |
✔️ | ✔️ |
sint64 |
✔️ | ✔️ |
fixed32 |
✔️ | ✔️ |
sfixed32 |
✔️ | ✔️ |
fixed64 |
✔️ | ✔️ |
sfixed64 |
✔️ | ✔️ |
bool |
✔️ | ✔️ |
| enum | ✔️ | ✔️ |
string |
✔️ | ✔️ |
bytes |
✔️ | ✔️ |
| embedded messages | ✔️ | ✔️ |
| packed repeated | ✔️ | ✔️ |
Start and end group deprecated wire types, float, double field types.