@eosrio/node-abieos 4.0.2-2039717 → 4.1.0-f7d5b45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,43 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) where possible.
6
+
7
+ ## [4.1.0-f7d5b45] - 2026-02-21
8
+
9
+ > The `-f7d5b45` suffix denotes the upstream `AntelopeIO/abieos` commit hash bundled with this release.
10
+
11
+ ### Changed
12
+ - Switched abieos submodule origin from `igorls/abieos` fork to official [`AntelopeIO/abieos`](https://github.com/AntelopeIO/abieos). The fork's `abieos_delete_contract` was merged upstream in [PR #27](https://github.com/AntelopeIO/abieos/pull/27), so the fork is no longer needed.
13
+ - **`cmake-js`** 7.3.1 → 8.0.0 (major — build validated, no CMake changes required).
14
+ - **`c8`** 9.1.0 → 10.1.3 (major — coverage tool upgrade).
15
+ - **`@microsoft/api-extractor`** 7.52.13 → 7.57.2.
16
+ - **`@types/node`** 24.6.0 → 25.3.0.
17
+ - **`tsup`** 8.5.0 → 8.5.1.
18
+ - **`typescript`** 5.9.2 → 5.9.3.
19
+
20
+ ---
21
+
22
+ ## [4.0.3-f7d5b45] - 2025-09-29
23
+
24
+ > The `-f7d5b45` suffix denotes the upstream `AntelopeIO/abieos` commit hash bundled with this release.
25
+
26
+ ### Upstream Highlights (`2039717` → `f7d5b45`)
27
+ - Added full support for the new `bitset` ABI type, including serialization/deserialization, key conversions, and regression tests.
28
+ - Introduced `fixed_array` handling in the ABI serializer, so fixed-length array definitions now round-trip correctly.
29
+ - Switched floating-point JSON conversion to `std::to_chars`, improving numeric fidelity and removing legacy `fpconv` sources.
30
+ - Tightened validation around ABI parsing (better sanity checks, error messages, and compatibility guards) while keeping compatibility with `eosio::abi/1.x` definitions.
31
+ - Streamlined upstream CI and build configurations (consistent CMake/toolchain defaults, GCC 14 coverage) matching the latest Antelope “Spring” tooling.
32
+
33
+ ### Added
34
+ - `c8` coverage tooling to produce lcov reports consumed by Coveralls.
35
+ - Comprehensive unit tests covering parse error branches to reach 100% coverage.
36
+ - Repository `LICENSE` now includes upstream `AntelopeIO/abieos` MIT license details.
37
+ - Formal `CHANGELOG.md` to track release history.
38
+
39
+ ### Changed
40
+ - Workflow now runs coverage on Node 22.x only while keeping multi-version tests.
41
+
42
+ ### Fixed
43
+ - Ensured `loadAbiHex` debug branch is executed within tests, eliminating remaining coverage gaps.
package/LICENSE ADDED
@@ -0,0 +1,37 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 EOS Rio
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
22
+
23
+ ----
24
+
25
+ Portions of this project are derived from or bundle the `AntelopeIO/abieos`
26
+ library, which is licensed under the MIT License:
27
+
28
+ AntelopeIO/abieos
29
+
30
+ Copyright (c) 2021-2022 EOS Network Foundation (ENF) and its
31
+ contributors. All rights reserved.
32
+ This ENF software is based upon:
33
+
34
+ EOSIO/abieos
35
+
36
+ Copyright (c) 2017-2019 block.one and its contributors. All rights
37
+ reserved.
package/README.md CHANGED
@@ -1,65 +1,89 @@
1
- # node-abieos
2
-
3
- ![CI](https://github.com/eosrio/node-abieos/actions/workflows/build.yml/badge.svg)
4
- ![Node-API v9 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v9%20Badge.svg)
5
- [![NPM version](https://img.shields.io/npm/v/@eosrio/node-abieos.svg?style=flat)](https://www.npmjs.com/package/@eosrio/node-abieos)
6
-
7
- Node.js native binding for [abieos](https://github.com/AntelopeIO/abieos), with some improvements:
8
-
9
- - Internal loaded contract map
10
- - deleteContract: to remove the loaded contract from memory (now in vanilla abieos too)
11
-
12
- Made with ♥ by [EOS Rio](https://eosrio.io/)
13
-
14
- ----
15
- **Only Linux is supported for now**
16
-
17
- - Typescript typings included
18
- - Prebuilt binary included (Clang 18 required to build)
19
-
20
- ### Install
21
-
22
- ```shell script
23
- npm i @eosrio/node-abieos --save
24
- ```
25
-
26
- ### Usage
27
-
28
- CommonJS
29
- ```js
30
- const nodeAbieos = require('@eosrio/node-abieos');
31
- ```
32
-
33
- ES Modules
34
- ```typescript
35
- import {Abieos} from "@eosrio/node-abieos";
36
- const abieos = Abieos.getInstance();
37
- ```
38
-
39
- Check the [/examples](https://github.com/eosrio/node-abieos/tree/master/examples) folder for implementation examples
40
-
41
- ### Building
42
-
43
- Make sure you have Clang installed on your system:
44
- We recommend using Clang 18 to build the `abieos` C++ library.
45
-
46
- ```bash
47
- wget https://apt.llvm.org/llvm.sh
48
- chmod +x llvm.sh
49
- sudo ./llvm.sh 18
50
- ```
51
-
52
- Clone and Build
53
- ```shell script
54
- git clone https://github.com/eosrio/node-abieos.git --recursive
55
- cd node-abieos
56
- npm install
57
- npm run build:linux
58
- npm run build
59
- ```
60
-
61
- ### Documentation
62
-
63
- For detailed and user-friendly documentation, including installation, usage, API reference, error handling, debugging, and examples, please refer to the [documentation](docs/README.md).
64
-
65
- For contribution guidelines and developer documentation, refer to the [contribution guidelines](docs/CONTRIBUTING.md).
1
+ # node-abieos
2
+
3
+ ![CI](https://github.com/eosrio/node-abieos/actions/workflows/build.yml/badge.svg)
4
+ ![Node-API v9 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v9%20Badge.svg)
5
+ [![NPM version](https://img.shields.io/npm/v/@eosrio/node-abieos.svg?style=flat)](https://www.npmjs.com/package/@eosrio/node-abieos)
6
+ [![Coverage Status](https://coveralls.io/repos/github/eosrio/node-abieos/badge.svg?branch=master)](https://coveralls.io/github/eosrio/node-abieos?branch=master)
7
+
8
+ Node.js native binding for [abieos](https://github.com/AntelopeIO/abieos), with some improvements:
9
+
10
+ - Internal loaded contract map
11
+ - deleteContract: to remove the loaded contract from memory (now in vanilla abieos too)
12
+
13
+ Made with ♥ by [EOS Rio](https://eosrio.io/)
14
+
15
+ ----
16
+ **Only Linux is supported for now**
17
+
18
+ - Typescript typings included
19
+ - Prebuilt binary included (Clang 18 required to build)
20
+ - Now supports NodeJS, Deno, and Bun runtimes.
21
+
22
+ ## Install
23
+
24
+ ```shell script
25
+ npm i @eosrio/node-abieos --save
26
+ ```
27
+
28
+ ## Usage
29
+
30
+ CommonJS
31
+
32
+ ```js
33
+ const nodeAbieos = require('@eosrio/node-abieos');
34
+ ```
35
+
36
+ ES Modules (NodeJS, Bun)
37
+
38
+ ```typescript
39
+ import {Abieos} from "@eosrio/node-abieos";
40
+ const abieos = Abieos.getInstance();
41
+ ```
42
+
43
+ Deno
44
+
45
+ ```bash
46
+ # examples/basic.cjs can be run with:
47
+ deno run --allow-ffi --allow-read examples/basic.cjs
48
+
49
+ # For an example using the published npm package with Deno:
50
+ # Check the examples/deno-abieos-test folder
51
+ cd examples/deno-abieos-test
52
+ deno run --allow-ffi --allow-read main.ts
53
+ ```
54
+
55
+ Bun
56
+
57
+ ```shell script
58
+ # examples/basic.mjs can be run with:
59
+ bun run examples/basic.mjs
60
+ ```
61
+
62
+ Check the [/examples](https://github.com/eosrio/node-abieos/tree/master/examples) folder for implementation examples
63
+
64
+ ## Building
65
+
66
+ Make sure you have Clang installed on your system:
67
+ We recommend using Clang 18 to build the `abieos` C++ library.
68
+
69
+ ```bash
70
+ wget https://apt.llvm.org/llvm.sh
71
+ chmod +x llvm.sh
72
+ sudo ./llvm.sh 18
73
+ ```
74
+
75
+ Clone and Build
76
+
77
+ ```shell script
78
+ git clone https://github.com/eosrio/node-abieos.git --recursive
79
+ cd node-abieos
80
+ npm install
81
+ npm run build:linux
82
+ npm run build
83
+ ```
84
+
85
+ ### Documentation
86
+
87
+ For detailed and user-friendly documentation, including installation, usage, API reference, error handling, debugging, and examples, please refer to the [documentation](docs/README.md).
88
+
89
+ For contribution guidelines and developer documentation, refer to the [contribution guidelines](docs/CONTRIBUTING.md).