![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
@findeth/abi
Advanced tools
@findeth/abi
@findeth/abi
is a zero-dependencies ABI encoder and decoder library for FindETH. It supports both Node.js and web browsers. This library is experimental, and may not work with all contract interfaces. It is used in the FindETH applications, that can be found here:
Currently, most types (except fixed-point numbers (fixed<M>x<N>
), and fixed-length arrays type<M>
) are supported.
Note: This is a work-in-progress version of FindETH, and is not production-ready. For the current version of FindETH, please refer to this repository. The public API may change in minor releases below 1.0.0 (though this is unlikely).
You can install @findeth/abi
with Yarn (recommended) or NPM:
$ yarn add @findeth/abi
$ npm install @findeth/abi
Note: If you are using TypeScript, @findeth/abi
requires TypeScript 4.1 or newer. This is used for automatically inferring the types of the input and output, based on the specified types
.
You can use the encode
and decode
functions to encode and decode ABI respectively.
The encode function takes an array of ABI types (e.g., ["string", "uint256"]
) and an array of values to encode. For example:
import { encode, toHex } from "@findeth/abi";
const buffer = encode(["string", "uint256"], ["foo bar", 12345]);
console.log(toHex(buffer));
// 000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000030390000000000000000000000000000000000000000000000000000000000000007666f6f2062617200000000000000000000000000000000000000000000000000
The decode function takes an array of ABI types, and a buffer (Uint8Array
) to decode. Note that Node.js Buffer
s are compatible with Uint8Array
, but in order to maintain full compatibility with web browsers (without the need for polyfills), this library does not use Buffer
. Example:
import { decode, fromHex } from "@findeth/abi";
const value = fromHex("000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000030390000000000000000000000000000000000000000000000000000000000000007666f6f2062617200000000000000000000000000000000000000000000000000");
console.log(decode(["string", "uint256"], value));
// ["foo bar", 12345n]
Install dependencies with yarn
:
$ yarn
To run automated tests, use the test
script:
$ yarn test
To build the library, use the build
script:
$ yarn build
FAQs
A tiny Solidity ABI encoder and decoder
We found that @findeth/abi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.